てしりこじり

しりがちいさいエンジニアがいるという

Ubuntu14.04 でセキュリティアップデートを自動適用する

セキュリティアップデート 自動化

自分の開発マシンをセキュリティアップデートかけるように設定。 こちらを参考

自動化する方法

  1. GNOME Update Manager を使う
  2. unattended-upgrades パッケージを使う
  3. cron に script を設定し aptitude を呼び出す
  4. cron-apt を使う

環境的に 2-4 。せっかくなので2でやってみる。

設定手順

1. 状態の確認

$ sudo dpkg -l unattended-upgrades
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前                                                                      バージョン                                アーキテクチャ                            説明
+++-=========================================================================-=========================================-=========================================-=======================================================================================================================================================
ii  unattended-upgrades                                                       0.82.1ubuntu2.3                           all                                       automatic installation of security upgrades

む。入っておられる。。
動いてるか確認する。
有効化されていれば設定ファイルが作成されてるのでファイルを確認。

~$ sudo ls -l /etc/apt/apt.conf.d/20auto-upgrades
ls: /etc/apt/apt.conf.d/20auto-upgrades にアクセスできません: そのようなファイルやディレクトリはありません

ないので有効化する。

2. 有効化

$ sudo dpkg-reconfigure --priority=low unattended-upgrades # Yes を選択する
Creating config file /etc/apt/apt.conf.d/20auto-upgrades with new version

3. 設定確認

~$ sudo ls -l /etc/apt/apt.conf.d/20auto-upgrades
-rw-r--r-- 1 root root 80 12月  7  2013 /etc/apt/apt.conf.d/20auto-upgrades
~$
~$ sudo cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

これでひとまず完了。毎日セキュリティアップデートを確認してあれば適用してくれる。 ログは /var/log/unattended-upgrades に出力される

補足

/etc/apt/apt.conf.d/20auto-upgrades の内容については /etc/cron.daily/apt のヘッダーに記載がある。

  • APT::Periodic::Update-Package-Lists "N";
    N日毎に自動で apt-get update を実施。0の場合無効。

  • APT::Periodic::Unattended-Upgrade "N";
    N日毎に自動で unattended-upgrade を実施。0の場合無効。

設定ファイルの定義としては 1日毎に リポジトリを最新化し、 unattended-upgrade を実行しているということ。

unattended-upgrade/etc/apt/apt.conf.d/50unattended-upgrades で設定されており、 デフォルトでは セキュリティ関連のアップデートのみ更新するように設定されている。他パッケージに関してはコメントアウト

あとはメール通知も設定したいところ