2019년 2월 5일 화요일

youtube-dl 사용법 정리

때때로 깜빡 깜빡하는 내용이라 여기 정리해 둔다

설치:
apt 든 pacman 이든 늘 설치하던 대로 설치하면 되나 문제는 최신 버전이 아닌 경우 다운이 않되는 경우가 종종 있다. 그러니 설치된 youtube-dl이 있으면 삭제해 준 뒤 아래의 명령어를 내리면 최신판을 설치해 준다.

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl


사용:
간단하다. 그냥

youtube-dl (원하는 URL)

을 하면 알아서 현 디렉토리에 다운해 준다.(영상 기준)

이걸 오디오 포멧만 추출하려면

youtube-dl -x (원하는 URL)

으로 하면 원하는 오디오 포멧인데 최고 음질(원본)로 자동 지정하므로 범용성이 떨어지는 경우가 종종 있다.

그러니 다음과 같이 오디오 포멧을 지정하는 것도 가능하다

youtube-dl -x --audio-format (원하는 오디오 포멧(ex:mp3)) (원하는 URL)

이렇게 하면 자동으로 인코딩까지 해준다.

그리고 마지막으로

플레이리스트를 다운 받는데 이상하게도 말썽 부리는 경우 뛰어넘는 방법은

--playlist-start (리스트 숫자)

위 옵션을 붙여 주면 해당 숫자부터 시작한다.

2019년 1월 19일 토요일

텐서플로우(Tensorflow) GPU설치 (이보다 더 쉬울 수는 없다!)

딥러닝의 가장 주목받는 라이브러리 중 하나인 텐서플로우는 GPU를 이용한 가속이 가능하며 GPU가속을 사용할 경우 CPU연산에 비해 탁월하게 빠른 속도의 구현이 가능해 진다.

 그러나..., 이 작업이 OS와 상관없이 그렇게 녹록하지 않은 작업이었던 것이

 텐서플로우 + CUDA TOOLKIT + CuDNN

이렇게 3개의 라이브러리의 버전 조합이 반드시 맞아야만 제대로 텐서플로우는 작동되고 이중 하나라도 조합이 맞지 않으면 당장 import tensorflow 명령어에서 파이썬 중계기가 뻗어 배째라는 광경을 볼수 있을 것이다.

그러나 오늘 발견한 방법은 드라이버만 설치해 주면 나머지는 버전을 지정하거나 아예 자동으로 맞추어 주는 것이 가능한 방법이니 반드시 테스트 해보길 바란다.

원본 자료 : https://medium.com/datadriveninvestor/install-tensorflow-gpu-to-use-nvidia-gpu-on-ubuntu-18-04-do-ai-71b0ce64ebc5


1) 우선은 리눅스(우분투 18.04 혹은 18.10)를 설치한다.(혹은 설치한 리얼컴퓨터가 필요하다. CUDA를 사용해야 하니 당연히 nvidia 그래픽 카드가 설치된 컴퓨터야 한다)

2-1) 리눅스의 경우 다음과 같이 명령한다.
sudo apt update
sudo apt ubuntu-drivers autoinstall
sudo reboot
(맨 마지막 줄을 실행하면 재 부팅한다)

재부팅 후
nvidia-smi 라고 실행해 그래픽 카드의 드라이버가 잘 설치되었는지 등등을 확인한다.

2-2) 윈도우의 경우 그냥 nvidia 윈도우 드라이버를 설치한다.


2) 아나콘다 가장 최신판을 다운로드한다.(OS에 맞게)

2-1)리눅스판의 경우 CUI기반으로 설치하는데

sh ./Anaconda+xxxx.sh

와 같은 형태로 실행 시키면 터미널에서 작동한다. 이때 한가지 주의할 점은 sudo 권한이 아니어야한다는 점이어야 한다는 점이다.

2-2) 설치되면 다시한번 터미널을 껏다 켜주고서

2-3) 이제 제일 중요한 대망의 텐서플로우 설치

conda create -n tensorflow_gpu(이건 원하는 대로 작명) python=3.6 tensorflow-gpu==1.12 cudatoolkit==9.0 cudnn=7.1.2 h5py ipython (등등등 원하는 대로 설치)

2-4) 환경을 활성화 해준 뒤
conda activate tensorflow_gpu

ipython 이든 뭐든 원하는대로 사용하면 설치 끝.

3-1) 윈도우 환경의 경우 ANACONDA NAVIGATOR로 똑같이 해주면 된다.

정리하면 OS와 드라이버만 OS차원에서 설치해 주고 나머지는 아나콘다에서 설치해 주면 된다는 뜻이다.

DUAL LAN포트 활용법

통상의 사용자에게는 꽤 낮설지 모르겠지만, 랜포트가 두개 달린 메인보드(주로 서버용)가 있다.
 대부분의 사용자는 집에 NAS를 별도로 구축하지 않는건 물론이고 아예 무선 접속으로만 사용하다보니 이게 별 장점으로 여겨지지 않겠지만, 만약 집에 NAS를 구축해 두었다면 이건 NAS에 접속하기 위한 전용 포트로 지정해 두면(즉 로컬 주소로 수동 설정을 해주면) 회선을 두개 확보해 둠으로써 인터넷 선에 문제가 생겨도 계속해서 사용 가능한 회선이 되는 것이다.(더불어 인터넷 선과 별도로 작동하다 보니 외부 통신에 영향을 주지 않는다)

 데이터 용량이 많은 동영상을 NAS로 부터 읽어 들일 때는 상당히 유용한 방법임.

2019년 1월 5일 토요일

Deluge 설치 과정 정리 (manjaro 기준)

0) 이젠 더이상 못참아!
여기 저기 건드리기 시작한 서버는 이제 여기저기 문제를 잃으키기 시작했고 이번에 정말로 참기 힘든 상황이 발생한건 그동안 잘 써오던 jupyter notebook이 갑자기 말썽을 잃으켜 드디어 리눅스를 새로 설치해야 하는 시기가 오고야 말았고 새 리눅스 배포판을 설치해야 되어야 하나 말어야 하는가를 고민고민 하다 드디어 예전부터 한번 써보고 싶었던 Manjaro 리눅스를 설치하기로 결심, (오만가지 고생 끝에) 시스템 기본 세팅에 성공하기에 이르릅니다.

참고 사이트들:
https://www.linuxbabe.com/bittorrent/install-deluge-bittorrent-client-ubuntu-18-04
https://dev.deluge-torrent.org/wiki/UserGuide/ThinClient
https://wiki.archlinux.org/index.php/deluge
https://dominicm.com/install-deluge-arch-linux/

1) 근데 왜 리눅스인가?
사실 deluge를 사용해 보신분이라면 잘 알겠지만, 이거 리눅스 버전이 아니라 윈도우 버전이랑 MAC버전도 있다는 걸 잘 알겁니다. 거기에 대부분의 사람들은 리눅스를 잘 해봐야 가상 머신에 설치해 두고서 쓰거나 하지 개인 사용자가 집에 서버를 설치해 두고서 사용하는 어떻게 보면 정신 나간 짓까지 하지는 않는다.(거기에 덤으로 토런트 프로그램이야 몇 종류나 되고 말이다.)
그럼에도 불구하고 나에게 어떻게 구성하는게 좋냐고 물어 본다면 단연코 별도의 물리적 리눅스 (개인)서버에 토런트 박스를 구성해 두고서 사용하는 것이 더 좋은 운영이라고 하고싶습니다.
 별도의 리눅스 서버를 운영해 NAS로서 이를 운영할 경우 다운로드의 자동화를 할수 있는 토런트박스로써 작동 시킬수 있습니다. 하루에 수십 수백게의 토런트 파일 조차 그냥 정해진 폴더에 던저 두기만 하면 deluge의 데몬이 자동으로 다운 받기 시작해 완료되면 역시 자동으로 정해진 폴더로 이동 시켜 둡니다.
 그거 외에도 직접적으로 얻을 수 있는 가장 커다란 장점은, 의외로 많은 연산력(하드웨어로 사용하는 하드 디스크가 느리기 때문에 발생하는 일이지만)을 요구하는 I/O작업을 모두 리눅스 서버가 알아서 해주기 때문에 게임과 같이 랙이 걸리면 짜증나는 작업에 지장을 주지 않으면서도 토런트와 같이 많은 I/O가 소요되는 작업을 동시 진행하는 것이 가능해 집니다.
 비록 그 과정이 쉽지 않지만, 그러나 리눅스의 특성상 한번 세팅해 두면 문제 없이 잘 돌아간다는 점을 생각하면 기가에서 주은 부품으로 만든 서버라도 없는 것 보다는 훨씬 좋은 작업 환경이 될겁니다.

2) 설치
일단 데비안 계열은 그냥 apt명령어 한줄이면 됩니다.

sudo apt install deluge deluged delgue-webui

그리고 만자로 계열도 팩맨이 지원 됩니다.

sudo pacman -S deluge
(이거 하나면 위에거 다 설치해줌)

sudo pacman -S python2-service-identity python2-mako
(이걸 설치해 주어야 의존성 문제가 없음)

3)세팅
이거 부터가 꾀나 괴로운 과정인데 일단 deluge의 작동 구조부터 이해해야 합니다.
deluge는 어플리케이션과 UI가 일치하는 전통적인(classic) 구조와 이를 불리해서 실질적인 작업은 백그라운드의 데몬이 수행하고 UI는 단지 이 과정을 사용자에게 보여주고 사용자의 지시를 데몬에게 전달하는 클라이언트/서버 모델 구조 이렇게 크게 두가지 작동 방식으로 작동합니다. 일반적인 토런트 프로그램으로써 사용하자면 전통적 구조를 그냥 사용해도 되나 이런 방식의 경우 UI가 곧 프로그램이므로 원격 작동등이 상당히 곤란합니다.
 그러니 여기서는 원거리 접속이 가능하도록 클라이언트/서버 모델로 작동하게 하는게 더 좋은 선택이라고 할수 있습니다.

위에서 설치가 끝났으면 원하는 계정으로

deluged                 (델루그 데몬을 시작하며 ~/.config/deluge 에 기본 세팅 파일을 만듬)
killall deluged          (델루그 데몬을 멈추기)
vim ~/.config/deluge/auth  (암호 넣기)


파일을 열면 접속 아이디 및 암호 설정이 가능함

ex) "alice:MyC0mpL3xPass:10"
("ID:암호:계정레벨")
참고로 맨 끝의 숫자는
0: 아무것도 아님
1: 읽기 전용
5 : 통상 사용자
10 : 관리자
라는 뜻입니다.


deluge-console "config -s allow_remote True"
deluge-console "config allow_remote"

이렇게 하면 일단 모든 준비가 끝납니다.

4) 자동시작 세팅
/etc/systemd/system/deluged.service 의 파일 내부를 다음과 같이 세팅합니다.


[Install]
WantedBy=multi-user.target

[Unit]
Description=Deluge Bittorrent Client Daemon
After=network-online.target
[Service]
Type=simple
User= (유저ID)
Group=(그룹명)
UMask=007
ExecStart=/usr/bin/deluged -d
Restart=on-failure
# Configures the time to wait before service is stopped forcefully.
TimeoutStopSec=300

한가지 이상한건 manjaro는 맨 위의 [Install]영역을 맨 위에 두어야지만 정상 작동하는 듯 합니다.

그뒤에는

sudo systemctl daemon-reload

sudo systemctl start deluged

sudo systemctl enable deluged           


위와 같이 설정하면 자동으로 시작하기 까지 합니다.

2018년 12월 30일 일요일

Linux disk의 UUID 알기

간단합니다.

sudo blkid /dev/XXX

이렇게 하면 파티션 종류에 UUID까지 출력해줌.

samba 사용 Port 기록(manjaro 기준)

통상은 방화벽(UFW)에서 samba 를 허가해주면 되지만 manjaro의 경우 일일이 사용 포트를 허가해 주어야 한다.(이상토다)

사용 포트는 아래와 같다.

Port 135 /TCP - used by smbd
Port 137 /UDP - used by nmbd
Port 138 /UDP - used by nmbd
Port 139 /TCP - used by smbd
Port 445 /TCP - used by smbd


만자로는 우분투에 비해서 가벼운데(윈도우 > 우분투 > 만자로) 이런 점은 아직 불편하다.

참조 사이트 : https://www.samba.org/samba/docs/old/Samba3-HOWTO/securing-samba.html

2018년 12월 29일 토요일

manjaro 리눅스로 갈아탄 기념으로 pacman 정리

이상하게도 파이썬 3.6버전이 여러가지로 말썽을 부려 다른 리눅스로 갈아타기로 결심.

아예 다른 리눅스를 사용(BSD계열은 아직 무섭다)하기로 결심해 Arch계열인 manjaro리눅스로 갈아탔고 그 김에 pacman 사용법을 정리합니다.
참조 사이트 : https://wiki.manjaro.org/index.php?title=Pacman_Tips
https://wiki.archlinux.org/index.php/Pacman_(%ED%95%9C%EA%B5%AD%EC%96%B4)
(이게 한글 사이트, 이쪽이 더 좋은 듯 하다)

0) 제일 중요한 pacman 아이콘 바꾸기( C <-> c )
팩맨이라고 하면 역시 이건데 방법은 간단하다
/etc/pacman.conf
에서 'Misc options' 사항 아래에 ILoveCandy (대소문자 주의)를 추가해 주면 된다.

1) 미러 사이트 속도 순위 갱신 및 업데이트
sudo pacman-mirrors --fasttrack 5 && sudo pacman -Syyu

2) 데이터베이스 동기화
sudo pacman -Sy

혹은

sudo pacman -Syyu
(위에처럼 하면 갱신까지 한꺼번에 된다)

3) 패키지 설치
sudo pacman -Syu 패키지명

그냥 간단하게

sudo pacman -S 패키지명

이라고하만 해도 설치 된다.

로컬에 다운 혹은 생성한 것을 설치할 때

sudo pacman -U 패키지명

4) 패키지 검색
sudo pacman -Ss 검색어

5) 패키지 삭제
sudo pacman -R 패키지명  (<- p="">
sudo pacman -Rs 패키지명 (<- p="">
일단은 여기까지.(이정도면 필요한건 다라고 생각한다)