crontab을 사용하여 자동 업데이트하는 방법을 확인한 후 루트로 편집하고 다음 줄을 추가했습니다.
00 11 * * * /usr/bin/apt-get upgrade -q -y >> /var/log/apt-upgrade.log
이제 몇 분 후에 apt-get Upgrade를 수동으로 실행하면 업그레이드가 설치되지 않은 것으로 표시됩니다. 로그에는 오류나 경고가 전혀 보고되지 않습니다. 이건 그냥 평범한 목록이에요
Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be upgraded:
binutils fontconfig fontconfig-config gnupg gpgv libcurl3
libcurl4-openssl-dev libfontconfig1 libgcrypt11 libgcrypt11-dev libgd2-xpm
libidn11 libidn11-dev libperl5.14 libpq5 libsqlite3-0 libssl-dev libssl-doc
libssl1.0.0 libtiff4 linux-image-3.2.0-4-amd64 linux-libc-dev openjdk-7-jre
openjdk-7-jre-headless openssh-client openssh-server openssl perl perl-base
perl-modules ssh
31 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/93.7 MB of archives.
After this operation, 613 kB of additional disk space will be used.
또한 다른 작업도 시도했지만(물론 동시에는 아님) 결과가 없었습니다.
00 11 * * * apt-get upgrade -q -y >> /var/log/apt-upgrade.log
00 11 * * * root /usr/bin/apt-get upgrade -q -y >> /var/log/apt-upgrade.log
00 11 * * * apt-get upgrade -y >> /var/log/apt-upgrade.log
아무 일도 일어나지 않으며 실제로 업그레이드가 설치되지 않습니다. 내가 뭘 잘못했나요?
답변1
설정을 해줘야 하는데 실제로 DEBIAN_FRONTEND=noninteractive
는 옵션이라 찾기가 좀 어려웠던 기억이 나네요 . 그러나 예를 들어 다음과 같이 언급됩니다.debconf
apt-get
여기, 물론 설명서에debconf
.
따라서 다음을 포함하는 스크립트를 만드십시오.
#/bin/sh
DEBIAN_FRONTEND=noninteractive apt-get upgrade -q -y
cron에서 실행하세요. 그리고 달리는 것도 잊지 마세요 apt-get update
.
물론 아마도 당신은 사용해야 할 것입니다unattended-upgrades
아니면 그것을 위해 특별히 고안된 것.
하지만 이 스크립트를 사용하는 데비안 컴퓨터가 있는데 잘 작동합니다.
#/bin/sh
apt-get -q -q update
if apt-get -s upgrade | grep -q "0 upgraded" ; then
true
else
DEBIAN_FRONTEND=noninteractive apt-get -y -q upgrade
fi
첫 번째 apt-get -s
는 업그레이드할 항목이 없을 경우를 대비해 출력과 쓸모 없는 이메일을 억제하는 것입니다.
비슷한질문아쿠벤투에서.