読者です 読者をやめる 読者になる 読者になる

orangain flavor

じっくりコトコト煮込んだみかん2。知らないことを知りたい。

unattended-upgradesはインストールしただけでは動かない

debian ubuntu

ということを知らなかったので、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";

ログ

自動アップデートのログは、 /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";

参考サイト

*1:-plowは優先度がlow以上の質問を表示するオプションですが、付けなくても変わらなかったので必要なのかよくわからないです。

*2:参考サイトに挙げたServer Faultの質問におけるHendy Irawan氏によれば。