Product SiteDocumentation Site

6.7. システムを最新の状態に保つ

Debian ディストリビューションは活動的で、絶えず変化しています。変更のほとんどはテスト版不安定版バージョンに対するものが多いですが、安定版も多くの場合セキュリティ関連の修正によって時々更新されます。システムでどんな Debian のバージョンを使っていたとしても、システムを最新の状態に保つのが通常得策です。そうすれば、最新の進化とバグ修正の恩恵を受けることが可能です。
利用できる更新を確認してアップグレードを実行するために日常的にツールを実行することはもちろん可能ですが、特に複数のマシンでこれを行う必要がある場合、このような反復作業は面白くありません。幸いなことに、多くの反復作業と同様この作業もある程度自動化が可能で、効果的な一連のツールが開発されています。
更新作業の自動化を担うツールの 1 つ目は apticron で、同名のパッケージに含まれます。apticron の主たる挙動は (cron を使って) 毎日スクリプトを実行することです。スクリプトは利用できるパッケージのリストを更新し、インストール済みパッケージが入手できる最新バージョンと異なる場合、そのようなパッケージのリストと新しいバージョンにおける修正点をメールで送信します。apticron の挙動は明らかに Debian 安定版のユーザを対象にしています。なぜなら、より頻繁にパッケージが更新される Debian の他のディストリビューションでは毎日のメールがとても長くなるからです。更新が利用できるようになったら、apticron は自動的にそれらをダウンロードします。apticron はインストール作業を行いません。すなわち管理者が手作業でインストールを実行する必要があります。しかしながら、パッケージをダウンロードして手元 (APT のキャッシュ) に保存しておくことで、管理者は作業を迅速に行うことが可能です。
コンピュータを複数担当している管理者が保留中アップグレードの通知に対する重要性を理解しているのは間違いありません。しかしながら、システムのアップグレードは相変わらずまだ退屈なものです。定期的にアップグレードするには、systemd タイマユニットもしくは cron を使います。systemd が未インストールの状態なら、/etc/cron.daily/apt-compat スクリプト (apt パッケージに含まれます) が役に立ちます。/etc/cron.daily/apt-compat スクリプトは cron によって毎日 (非対話的に) 実行されます。スクリプトの挙動を制御するためには APT 設定変数を使います (このため変数は /etc/apt/apt.conf.d/10periodic 内のファイルに記載されます)。以下に主な変数を示します。
APT::Periodic::Update-Package-Lists
このオプションを使えば、パッケージリストを更新する頻度 (日単位) を設定することが可能です。apticron ユーザならこの変数を設定しなくても大丈夫です。なぜなら apticron が設定するからです。
APT::Periodic::Download-Upgradeable-Packages
このオプションを使えば、パッケージをダウンロードする頻度 (日単位) を設定することが可能です。apticron ユーザはこの変数を設定する必要はありません。
APT::Periodic::AutocleanInterval
これは apticron が備えていない機能を担うオプションです。このオプションはどの程度の頻度で時代遅れのパッケージ (どのディストリビューションにも含まれないパッケージ) を APT キャッシュから削除するかを制御します。このオプションを使うことで APT キャッシュを合理的なサイズに保ち、キャッシュの削除作業について心配する必要がなくなります。
APT::Periodic::Unattended-Upgrade
このオプションが有効化されると、毎日のスクリプトで unattended-upgrade (unattended-upgrades パッケージに含まれます) が実行さるようになります。これはその名前が示す通りいくつかのパッケージのアップグレード作業を自動化します (デフォルトでは、セキュリティ更新だけを処理しますが /etc/apt/apt.conf.d/50unattended-upgrades で挙動をカスタマイズできます)。このオプションを設定するには dpkg-reconfigure -plow unattended-upgrades を実行して debconf の助けを借りることに注意してください。
上記以外のオプションを使うことで、さらに精密なキャッシュ消去挙動を制御できます。それらのオプションをここに載せることはしませんが、詳しい説明は /usr/lib/apt/apt.systemd.daily スクリプトを参照してください。
サーバではこれらのツールがとてもうまく動きますが、通常デスクトップユーザはより対話的なシステムを好みます。gnome-packagekit パッケージは、更新が利用できるようになった時、デスクトップ環境の通知エリアにアイコンを表示します。さらに、表示されたアイコンをクリックすると gpk-update-viewer が実行されます。これは更新を実行する簡易化されたインターフェースです。利用できる更新を閲覧したり、関連するパッケージと対応する changelog エントリの短い説明文を読んだり、個々の場合に応じてその更新を適用するか否かを選択したりできます。
gpk-update-viewer を使ったアップグレード

図 6.3 gpk-update-viewer を使ったアップグレード

現在では gpk-update-viewer はデフォルトの GNOME デスクトップにインストールされません。新しい原則に従うなら、セキュリティ更新は自動インストールされるべきであり、これはバックグラウンドで行われるか、起動中のアプリケーションに対する無用の混乱を避けるためにコンピュータをシャットダウンする際に行われるべきです。