crontabを使用して自動更新する方法を確認したら、rootとして編集して次の行を追加しました。
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
またはそれのために特別に設計されたもの。
しかし、このスクリプトを使用するDebianコンピュータがあります。
#/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
1つ目apt-get -s
は、アップグレードするアイテムがない場合に備えて、出力と役に立たない電子メールを抑制することです。
似たような質問アクベンツから。