$ sudo vi /etc/rc.local
rc.local 파일에
실행하고 싶은 명령어를 넣습니다.
저는 스크립트를 실행하기위해서 코드를 짰습니다.
1줄의 #!/bin/sh는 sh 형식으로 스크립트(.sh)를 실행하겠다는 뜻입니다. (bash는 #!/bin/bash)
3줄에는 auto_jupyter.sh 라는 스크립트 파일을 실행시켰습니다.
sudo chmod 755 /etc/rc.local
반드시 실행권한을 줍니다. 755는 equal effective User에게는 모든권한, 같은 그룹과 others에게는 읽기와 실행권한입니다.
자동실행시 권한이 없어 실패 할 수 있기 때문에 꼭 넣어 줍니다.
(아마 실행(exec)권한이 없어서 안되는 거기 때문에 chmod +x /etc/rc.local 도 괜춘)
(근데 root만 실행권한을 주고 싶다면, chmod 700 /etc/rc.local < 이게 제일 안전하긴함. )
aouto_jupyter.sh
sudo chmod 755 auto_jupyter.sh
이 파일도 실행할 것이기 때문에 권한을 줍시다!!. su asung 커맨드가 asung의 비밀번호를 요구하는 커맨드이기때문에
sudo 권한으로 실행되면 문제가 되지 않고 저 같은 경우 모든 셋팅 후 부팅시 자동으로 아무 문제 없이 잘 실행되었지만,
혹시라도 문제가 생긴다면 아래 코드를 추가해주세요. 문제가 없다면 굳이 추가 안하는게 좋은 코드입니다.
sudo chmod +s auto_jupyter.sh
파일이 실행될때 effectice user를 file의 owner로 바꾸어 owner user가 실행한것처럼 해주는 권한입니다. sudo로 만들었다면, sudo 권한으로 실행됩니다.
원격으로 jupyter notebook을 백그라운드에서 실행하는 명령어를 담고 있습니다.
2줄을 간단하게 설명드리면,
su <user_name> -c "명령어"
asung user 권한으로 명령어를 실행한다는 뜻입니다.
그냥 명령어만 쓴다면, " " 따옴표로 묶을 필요는 없습니다. 하지만 root권한으로 실행됩니다.
root로 실행되게되면 jupyter가사용하는환경변수등이 asung의시스템경로로 잡혀있다면
인식하지 못할 수 있습니다.
nohup [명령어] > [text_file] &
[명령어]로 실행되는 프로그램을 백그라운드로 실행하기 위한 명령어 입니다.
> [text_file] ( > /home/asung/.jupyter/nohup.out ) 에 해당되는 부분
은 생략 가능합니다. 생략할시 명령어를 실행한 위치에 nohup.out을 자동으로 만들어 냅니다.
지정한 [text_file]에는 혹시라도 프로그램이 표준출력을 하게되면
이 text_file에 log를 남겨놓게 됩니다.
jupyter notebook의 원격접속을 위한 셋팅을 알고싶다면.
https://asung123456.tistory.com/33
그 다음은 /lib/systemd/system/ 에 위치한
rc-local.service 파일을 수정합니다.
25~26 두줄만 추가
나중에 systemctl enable rc-local.service 명령어를 하기위해서 필요한 설정입니다.
$ sudo vi /lib/systemd/system/rc-local.service
[Install]
WantedBy=multi-user.target
$ systemctl enable rc-local.service
rc-local.service 서비스를 활성화 합니다. (부팅시 자동 구동)
rc-local.service는 rc.local을 실행시키고
rc.local은 auto_jupyter.sh를 실행키십니다.
이제부터
rc.local에 부팅시 자동으로 실행시키고 싶은 스크립트를 추가하여 수정할 수 있습니다.
$ systemctl start rc-local.service
$ systemctl status rc-local.service
이제 부팅시마다 자동으로 rc-local.service가 실행됩니다.
혹시 실행이 안된다면
15줄에 rc.local 경로가 잘 적혀있는지 확인해주세요
혹은 관련 file등에 실행 권한이 잘 있는지 확인해주세요
'Linux > Ubuntu' 카테고리의 다른 글
Ubuntu(우분투) fail to start load kernel module이 일어난 문제점 중 하나.. (0) | 2020.03.04 |
---|---|
Linux C/C++ shared library 컴파일하기 fPIC 옵션 GOT, PLT (0) | 2020.02.06 |
Ubuntu (우분투) cuda 9.0 설치, cudNN 설치 , tensorflow-gpu 설치 (0) | 2020.01.03 |
Ubuntu(우분투) nvidia 드라이버 설치, 화면 부팅 안되는 현상 (1) | 2020.01.03 |
Ubuntu(우분투) vim 설치 및 설정, Vundle 설치, Plugin 설정 (0) | 2019.12.29 |
댓글