시스템을 시작할 때 실행할 스크립트가 있습니다. “rc.local”에 넣었지만 작동하지 않습니다. 시작시 실행되도록하려면 어떻게해야합니까?
답변
스크립트를 수동으로 실행할 수 있습니까? 그렇지 않은 경우 해당 스크립트에 문제가있는 것입니다. 그렇지 않으면 rc.local을 더 살펴보십시오. 해당 스크립트를 루트로 실행해야하는 경우 sudo를 사용하여 수동으로 실행해야합니다.
/etc/rc.local이 실행 가능한지 그리고 호출하는 스크립트도 실행 가능한지 확인하십시오.
$ ls -l /etc/rc.local
-rwxr-xr-x 1 root root 419 2010-08-27 11:26 /etc/rc.local
rc.local에 shebang 행이 있는지 확인하십시오 (기본값).
$ head -n1 /etc/rc.local
#!/bin/sh -e
답변
제 경우에는 지침 중 완벽한 솔루션이 없었습니다. 당신이 나만큼 운이 없다면,이 자세한 것을 시도하십시오
- 모든 실행 코드를 foo.sh와 같은 임의의 이름을 가진 별도의 텍스트 파일에 넣고 임의의 위치에 저장하십시오.
-
더하다
#!/bin/sh
코드의 첫 줄로.
-
foo.sh를 실행 해보십시오.
sudo foo.sh
전혀 오류가 없는지 확인하십시오.
-
sh 명령 뒤에 /etc/rc.local 스크립트에 작성된 스크립트의 전체 경로와 이름을 제공하십시오.
sh '/path/to/your/script/foo.sh'
-
위의 줄을 마지막 코드 줄 앞에 두어야합니다.
exit 0
/etc/rc.local 스크립트 끝에서.
-
/etc/rc.local의 첫 줄을 확인하십시오
#!/bin/sh -e
-
/etc/rc.local이 아직 실행 가능하지 않은 경우 실행 가능하게 만드십시오.
sudo chown root /etc/rc.local sudo chmod 755 /etc/rc.local
-
실행하여 모든 것이 잘 작동하는지 확인하십시오.
sudo /etc/init.d/rc.local start
- 시스템을 다시 시작하십시오.
답변
최신 우분투 버전 systemd
이 사용 /etc/rc.local
되며 기본적으로 항상로드되지는 않습니다.
호환성 서비스가로드되어 있는지 확인
systemctl status rc-local.service
활성화 된 (종료 된) 설정 이 들어 있으면 설정이 정상으로 보이고 /etc/rc.local
파일에 다른 오류가 있을 수 있습니다 (예 : 실패한 명령 일 수 있음).
답변
두 가지 제안.
- 대상 스크립트 파일도 실행 가능으로 표시되어 있는지 확인하십시오.
대상 스크립트가 sudo 명령을 실행 중입니까? 그렇다면 sudo 비밀번호를 제공 할 수 있습니다.
내 잘못이야. 한 번만 확인하십시오. 수정 enzotib 주셔서 감사합니다 🙂