학교에 가기 전에 보통 다운로드를 시작합니다.
특정 작업이 완료된 후 필요한 저장을 자동으로 수행하고 컴퓨터를 끄려면 어떤 명령을 사용해야합니까?
(업데이트 설치 후 또는 큰 파일 다운로드 후)
나는 이것을 unix.stackexchange에 교차 게시했습니다 .
학교에 가기 전에 보통 다운로드를 시작합니다.
특정 작업이 완료된 후 필요한 저장을 자동으로 수행하고 컴퓨터를 끄려면 어떤 명령을 사용해야합니까?
(업데이트 설치 후 또는 큰 파일 다운로드 후)
나는 이것을 unix.stackexchange에 교차 게시했습니다 .
답변:
비밀번호없이 머신을 종료 할 수 있도록 한 번 수행하려면 다음을 수행하십시오.
명령 행을 열고 다음을 입력하십시오.
sudo visudo
열린 파일에서 끝에 다음 줄을 추가하십시오.
yourusername ALL=NOPASSWD: /sbin/halt
그런 다음 편집기를 종료하고 보호하십시오 ( Ctrl+ X).
이제 명령 줄에서 컴퓨터를 종료 할 수 있습니다 (예 : 무언가를 다운로드 한 후).
wget UrlOfTheFileYouWantToDownload && sudo halt
업데이트 후 종료하려면 다음 Python 스크립트를 사용하십시오. http://kotbcorp.blogspot.com/2009/06/shutdown-after-update-in-ubuntu.html
다운로드 후 종료하려면이 명령을 사용하십시오.
wget http://somehwere.com/path/to/some.file && halt
halt수퍼 유저 권한 이 필요하므로 sudo -s명령을 입력하기 전에 실행해야 합니다.
나는 당신이 당신의 '다운로드'를 어떻게했는지에 달려 있다고 생각합니다.
apt-get 업데이트, 업그레이드 시퀀스에 대해 이야기하는 경우 루트로 &&를 사용하여 명령을 함께 묶습니다 (오류가없는 경우에만 시퀀스가 계속됨)
sudo su -
apt-get update && apt-get upgrade && shutdown -h now
다운로드에 대해 이야기하는 경우 (예 : wget 사용) [&& 표기법을 사용하여 명령을 함께 묶어 이전 명령이 성공한 경우에만 명령이 순서대로 실행되도록]
sudo su -
wget -t0 -c http://somedownloadsite/path/file.foo && shutdown -h now
다운로드가 그래픽 클라이언트 (gui)에 의해 수행 된 경우 성공적인 다운로드 후 스크립트를 실행하기위한 해당 클라이언트의 메커니즘에 따라 다릅니다.
sudo su -새 쉘을 시작하고 세미콜론 이후의 명령은 새 쉘이 종료 될 때까지 실행되지 않기 때문에 이러한 명령이 작동 하지 않습니다.
개인적으로 gedit를 사용하여 원본을 설정하는 것이 더 쉽다는 것을 개인적으로 발견했습니다.
yourusername ALL=NOPASSWD: /sbin/halt
이후는 sudo visudo나에게 혼란하고 명확하게 마지막 줄이 나타나지 않았다
그래서 나는
sudo -H gedit /etc/sudoers
그런 다음 명확한 (나에게) 페이지로 끝났습니다.
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
#includedir /etc/sudoers.d
shantiq ALL=NOPASSWD: /sbin/halt
다른 누군가도 조금 혼란 스러울 경우를 언급하겠다고 생각했습니다.
종료시 권한을 변경하는 대신 다음을 수행 할 수 있습니다.
sudo bash -c 'apt-get update; apt-get dist-upgrade; shutdown -h now'
이 작업은 작은 따옴표로 묶은 목록의 항목을 실행 한 다음 종료하는 루트로 bash 프롬프트를 실행합니다. 이 방법의 장점은 Ubuntu가 sudo일정 기간 (기본적으로 15 분의 시간 제한 기간에 따라 다름) 후에 초기 인증을 잊어 버리고 컴퓨터를 통해 오는 사람은 현재 명령 만 중지하고 새 명령을 실행할 수 없다는 것입니다. 또한 사용 su하려는 모든 사용자를 위해 다음 을 시도하십시오.
sudo -s