apt를 사용하여 일주일에 update
한 번 실행되도록 되어 있는 크론 작업이 있지만 적어도 내가 아는 한 결코 작동하지 않는 것 같습니다.upgrade
autoclean
sudo apt-get upgrade
크론 작업을 추가한 후 몇 주 후에 실행하면 패키지를 업그레이드할 수 있음이 표시되기 때문에 이는 분명합니다 .
시스템 메시지
Linux squire 4.15.0-88-generic #88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
예약 된 일들
$ sudo crontab -e
0 12 * * 1 apt-get update && apt-get -y upgrade && apt-get -y autoclean
프로세스
$ ps -aux | grep cron
root 674 0.0 0.0 4640 768 ? Ss Oct14 0:01 /bin/sh /snap/nextcloud/23743/bin/nextcloud-cron
root 757 0.0 0.0 31320 1636 ? Ss Jul27 0:17 /usr/sbin/cron -f
squire 22697 0.0 0.0 14428 1000 pts/0 R+ 15:25 0:00 grep --color=auto cron
시스템 서비스
● cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-07-27 22:15:57 UTC; 2 months 27 days ago
Docs: man:cron(8)
Main PID: 757 (cron)
Tasks: 1 (limit: 2312)
CGroup: /system.slice/cron.service
└─757 /usr/sbin/cron -f
Oct 24 14:09:01 squire CRON[15986]: pam_unix(cron:session): session closed for user root
Oct 24 14:17:01 squire CRON[16575]: pam_unix(cron:session): session opened for user root by (uid=0)
Oct 24 14:17:01 squire CRON[16576]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Oct 24 14:17:01 squire CRON[16575]: pam_unix(cron:session): session closed for user root
Oct 24 15:03:01 squire cron[757]: (root) RELOAD (crontabs/root)
Oct 24 15:09:01 squire CRON[21350]: pam_unix(cron:session): session opened for user root by (uid=0)
Oct 24 15:09:01 squire CRON[21350]: pam_unix(cron:session): session closed for user root
Oct 24 15:17:01 squire CRON[22008]: pam_unix(cron:session): session opened for user root by (uid=0)
Oct 24 15:17:01 squire CRON[22009]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Oct 24 15:17:01 squire CRON[22008]: pam_unix(cron:session): session closed for user root
수동 업그레이드
$ sudo apt-get update && sudo apt-get upgrade
Hit:1 http://ppa.launchpad.net/certbot/certbot/ubuntu bionic InRelease
Get:2 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Hit:3 https://deb.torproject.org/torproject.org bionic InRelease
Hit:4 http://us.archive.ubuntu.com/ubuntu bionic InRelease
Get:5 http://us.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Fetched 252 kB in 1s (178 kB/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
base-files linux-generic linux-headers-generic linux-image-generic netplan.io python3-parsedatetime ubuntu-server
The following packages will be upgraded:
cryptsetup cryptsetup-bin libcryptsetup12 libfreetype6
4 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
Need to get 714 kB of archives.
After this operation, 6,144 B of additional disk space will be used.
Do you want to continue? [Y/n]
출력 테스트를 위해 업데이트된 크론 작업
0 12 * * 1 ( apt-get update && apt-get -y upgrade && apt-get -y autoclean ) >/tmp/apt.cron.log 2>&2
테스트 로그
Hit:1 http://ppa.launchpad.net/certbot/certbot/ubuntu bionic InRelease
Hit:2 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:3 https://deb.torproject.org/torproject.org bionic InRelease
Hit:4 http://us.archive.ubuntu.com/ubuntu bionic InRelease
Hit:5 http://us.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:6 http://us.archive.ubuntu.com/ubuntu bionic-backports InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
The following packages have been kept back:
base-files linux-generic linux-headers-generic linux-image-generic
netplan.io python3-parsedatetime ubuntu-server
The following packages will be upgraded:
cryptsetup cryptsetup-bin libcryptsetup12 libfreetype6
4 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
Need to get 714 kB of archives.
After this operation, 6,144 B of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libcryptsetup12 amd64 2:2.0.2-1ubuntu1.2 [134 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 cryptsetup-bin amd64 2:2.0.2-1ubuntu1.2 [93.0 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 cryptsetup amd64 2:2.0.2-1ubuntu1.2 [152 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libfreetype6 amd64 2.8.1-2ubuntu2.1 [335 kB]
Fetched 714 kB in 1s (997 kB/s)
dpkg: warning: 'ldconfig' not found in PATH or not executable
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable
dpkg: error: 2 expected programs not found in PATH or not executable
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin
답변1
방금 로그 실행에서 오류 메시지를 봤습니다.
dpkg: warning: 'ldconfig' not found in PATH or not executable
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable
dpkg: error: 2 expected programs not found in PATH or not executable
그리고
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin
상단 근처 - 작업 정의 위 - 한두 줄이 있어야 합니다.
SHELL=/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
실제로는 이 줄이 필요하지 않지만 SHELL
Linux 기반 시스템의 다른 대부분의 작업은 이 줄과 함께 실행되는 경향이 있으므로 bash
이 줄을 권장합니다.
아무것도 없으면 처음 4개 디렉토리에 직접 제공한 줄을 삭제할 /usr/local
수 있습니다 . PATH
그러나 기본적으로 이 두 디렉터리는 포함되지 않으므로 cron
오류 가 발생하고 명령을 찾을 수 없습니다.PATH
sbin