user 계정마다 각자의 프로그램을 설치해서 사용하는 것과
하나의 설치된 프로그램을 환경변수 설정을 통해 함께 공유해서 쓰는 것
이 각각 어떤 장단점이 있는지는 잘 모르고, 어떤 문제가 되는지 잘 몰라서
(리눅스 무지랭이는) 일단은 굳이 재설치 할 필요는 없다고 생각해서 경로 설정을 통해 프로그램을 쓰는 방식으로 했다.
누군가 알려주시면 감사하게 조언을 받겠습니다 ㅠㅠ
내 상황은 userabc 계정에 이미 설치되어 있으므로,
간단히 환경변수에 경로값을 추가해주어 사용하기로 한다.
vi / vim / gedit 같은 편집기를 이용한다.
vi / vim 의 경우는 터미널 창에서 여는 방식이고,
gedit 의 경우는 GUI가 지원되는 환경에서 사용가능
$ vim ~/.bashrc
열어서 하단에 다음의 내용을 추가한다.
vim 편집기에 대해서는 필요한 내용만을 같이 정리
echo
명령어를 사용하여 .bashrc 파일에 내용을 추가 하는 방법으로 대체가능 (참고 : https://dockyum.tistory.com/39 )여러 모드가 있는데, 최초에 vi / vim 을 이용해 들어가면 일반모드이다. 모드 설명
화살표를 이용해 이동 또는 G(shift+g)
를 이용해 문서 제일 하단으로 이동
i
키 눌러서 입력모드로 전환 , 아래의 내용을 입력
(일반적으로 따로 설치 경로 변경 안하면 anaconda3는 유저의 홈디렉토리에 있음, userabc으로 설치 했으므로 해당 홈디렉토리에 있음)
(일반적으로 설치시 설치 경로 따로 변경 안하면 아래의 경로에 위치함)
(추가적으로, 다른 버전의 cuda를 사용하려면 해당 버전의 경로로 바꿔주면 된다고 함)
# anaconda export
export PATH="/home/userabc/anaconda3/bin:$PATH"
# CUDA export
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
입력이 끝난 후에는 ESC
를 통해 일반모드로 전환
:
키를 눌러서 명령모드로 진입 wq 입력 후에 Enter
(wq : 변경된 내용을 저장하고 나가는 명령임)
변경된 내용이 현재 세션에서 적용되도록 다음 명령을 실행 (다음 접속부턴 필요 x)
$ source ~/.bashrc
명령어 test, 관련 명령어들이 실행되는지 version 체크하는 방식으로
# anaconda 버전 확인
conda -V
# cuda 버전 확인
nvcc -V
버전 정보가 잘 나온다면 환경변수 설정 잘 된 것.
jupyter notebook을 사용시 가장 일반적으로 쓰는 8888 포트의 방화벽 해제
$ sudo ufw allow 8888
타, 포트도 사용 가능
jupyter notebook 실행시에 여러 설정값을 전달해주기 위한 config 파일을 만든다.
$ jupyter notebook --generate-config
생성하면 /home/username/.jupyter 디렉토리에 jupyter_notebook_config.py 파일이 생성됨
$ ipython
을 실행 후에 다음 내용을 입력한다.
ln [1]: from notebook.auth import passwd
ln [2]: passwd()
Enter password:
Verify password: # 위에서 타이핑한 비밀번호를 한번 더 입력해주세요.
Out[2]: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
enter password 에는 자신이 설정할 비밀번호 입력
verify password 에는 설정한 비밀번호를 한번 더 확인차 입력
(참고로 리눅스처럼 비밀번호 입력되는 것이 표시되지 않음. 입력되지 않아도 당황 x)
out[2] : 에 암호화 처리된 비밀번호 해쉬값을 줌. 이것을 잘 복사해두기(나중에 씀)
jupyter_notebook_config.py 의 내용을 수정하기 위해 vim 편집기로 연다.
$ vim /home/username/.jupyter/jupyter_notebook_config.py
내용의 상단에 아래 내용 입력
c = get_config()
내용들을 살펴보면 각 설정값에 대한 설명들과 코드 내용들이 주석처리 되어 있음.
주석 처리된 코드 부분 중 해당 되는 내용을 살리고 값을 설정해준다.
esc
를 눌러서 일반모드 상태에서 /
키를 입력하고 내용을 입력하면 해당 내용으로 검색 가능(대소문자 구분함)아니면, 맨 아래에 내용들을 추가 시켜주어도 된다.
#외부 접속 허용하기
c.NotebookApp.allow_origin = '*'
# 작업경로 설정(주석처리 안풀면 jupyter notebook을 명령을 실행한 위치가 작업 디렉토리가 됨)
c.NotebookApp.notebook_dir = '원하는/작업경로를/입력해/주세요'
# 아이피 설정(아무 입력값이나 상관없는지는 모르나, 우리 서버의 ip를 사용했음)
c.NotebookApp.ip = '사용할.아이피를.입력해.주세요'
# 포트 설정(주석처리 안풀면 그냥 8888번 포트 )
c.NotebookApp.port = '사용할 포트번호 네자리를 입력해주세요, 초기값은 8888 입니다.'
# 비밀번호 설정
c.NotebookApp.password = '복사해둔 암호화된 비밀번호 **sha1:12j30t94230g208ehdsflhsdgt3908** 를 여기에 입력해주세요'
# 시작시 브라우저 실행여부
c.NotebookApp.open_browser = False # 서버로 실행될때 서버PC에서 주피터 노트북 창이 새로 열릴 필요가 없습니다.
수정이 완료됬으면 jupyter_notebook_config.py 를 저장한다.
(ESC
(일반모드 전환)→:
(명령모드전환)→wq
(변경 내용 저장)→ Enter
)
jupyter notebook을 실행하면서 환경설정값이 담긴 config 파일을 함께 전달
$ jupyter notebook --config jupyter_notebook_config.py
윈도우에서 브라우저를 열고,
주소창에 본인이 설정한 IP주소
: 본인이 설정한 포트
ex) 55.111.222.333:8888 입력하면 접속 가능합니다.