Ubuntu 12.04 LTS でセキュリティアップデートを自動的に行う

サーバ保守にセキュリティは大切。
でもapt-get upgradeで全部更新して、トラブルでも起きたら面倒。
セキュリティアップデートだけ選択的にできないものかしら?
と思ってググったら出てきた。

http://gihyo.jp/admin/serial/01/ubuntu-recipe/0083

http://tobysoft.net/wiki/index.php?Ubuntu%2F%BC%AB%C6%B0%A5%A2%A5%C3%A5%D7%A5%C7%A1%BC%A5%C8%A4%B5%A4%BB%A4%EB#ye1a3569

しかも自動で更新してくれる。


やり方: unattended-upgradesを使う。
自動的にパッケージのアップグレードをやってくれるすごいやつだよ。

$ sudo apt-get update
$ sudo apt-get instal unattended-upgrades

デフォルトでセキュリティアップデートのみをインストールする設定になっているが、一応確認しておこう。

vi /etc/apt/apt.conf.d/50unattended-upgrades
// Automatically upgrade packages from these (origin:archive) pairs
Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}-security";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};

また、更新で再起動が必要になった時に、勝手に再起動されては困る(私の場合)。
この設定も同じファイルにある。

// Automatically reboot *WITHOUT CONFIRMATION* if a
// the file /var/run/reboot-required is found after the upgrade
Unattended-Upgrade::Automatic-Reboot "false";

デフォだと最後の行がコメントアウトされたので、コメントアウトを外しておいた。
そのままだと再起動されちゃうのかね?
なんにせよアップデートが行われたらlogwatchさんが教えてくれるはずなので、
時間のとれるときに手動で再起動することにしよう。

(3/27追記)
上記設定だけだと自動アップデートされません。

$ sudo dpkg-reconfigure -plow unattended-upgrades

を実行してyesする必要がありました。

http://orangain.hatenablog.com/entry/unattended-upgrades