unattended-upgradesはインストールしただけでは動かない
2018-06-17追記: パッケージの自動削除について追記しました。検証環境はUbuntu 16.04 LTS x86_64です。
ということを知らなかったので、Debian/Ubuntuでの自動アップデートについて改めて調べてみました。
動作を確認した環境は、Ubuntu Server 12.04 LTS x86_64です。
自動アップデートを有効にする
結論から言うと、以下のようにインストールすれば有効になります。既にインストールされている環境では3行目だけを実行すればよいです。
$ sudo apt-get update $ sudo apt-get install unattended-upgrades $ sudo dpkg-reconfigure -plow unattended-upgrades # Choose "Yes"
3行目のコマンドは、以下のファイルを生成してくれます。*1
$ cat /etc/apt/apt.conf.d/20auto-upgrades APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1";
不要パッケージの自動削除
自動アップデートを有効にしているとカーネル関連のファイルが溜まってディスクフルになることがあります。これを防ぐために、不要なパッケージを自動削除します。
$ sudo vim /etc/apt/apt.conf.d/50unattended-upgrades
以下の設定をtrue
にします。
Unattended-Upgrade::Remove-Unused-Dependencies "true";
ログ
自動アップデートのログは、 /var/log/unattended-upgrades/
以下に出力されます。
デフォルトでは毎日1回実行されます。
ドキュメント
自動アップデートを有効にする方法は、 /usr/share/doc/unattended-upgrades/README
の冒頭に書かれています。
Unattended upgrades ------------------- This script can upgrade packages automatically and unattended. However, it is not enabled by default. Most users enable it via the Software Sources program (available in System/Administration). If you would prefer to enable it from the command line, run "sudo dpkg-reconfigure -plow unattended-upgrades".
ちなみに、 Ubuntu Server Guide には /etc/apt/apt.conf.d/10periodic
を以下のように書き換えるという方法が載っています。これでも設定内容は同じことなので動くと思いますが、古い方法らしいです。 *2
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Download-Upgradeable-Packages "1"; APT::Periodic::AutocleanInterval "7"; APT::Periodic::Unattended-Upgrade "1";