Ubuntuではunattended-upgradesという仕組みを利用することで、バックグラウンドでの完全なサイレント・自動アップデートが可能です。
これにより、「通知ダイアログ」に邪魔されることなく、システム(特にセキュリティ更新)を常に最新に保つことができます。
1. unattended-upgrades のインストールと基本設定
通常は標準でインストールされていますが、念のため以下のコマンドでインストールと初期設定を行います。
sudo apt update
sudo apt install unattended-upgrades
# インタラクティブな設定画面が開くので「はい」を選択して有効化します
sudo dpkg-reconfigure -plow unattended-upgrades
2. 自動更新の動作設定
/etc/apt/apt.conf.d/20auto-upgrades ファイルを編集して、動作間隔を指定します。
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
以下の内容になっていれば、1日1回バックグラウンドで更新リストの取得とアップグレードが実行されます。
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
3. 詳細なカスタマイズ(セキュリティ以外も対象にする)
デフォルトでは「セキュリティアップデート」のみが自動更新の対象です。通常のパッケージも含めたい場合は、以下のファイルを編集します。
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
- 対象のリポジトリ:
Unattended-Upgrade::Allowed-Originsセクションを確認します。${distro_id}:${distro_codename}-updatesの行のコメントアウト(//)を外すと、通常のアップデートも対象になります。 - 自動クリーンアップ:
Unattended-Upgrade::Remove-Unused-Dependencies "true";
に設定すると、不要になった依存パッケージを自動で削除します。 - 自動再起動: カーネル更新などで再起動が必要な場合に、深夜に自動で再起動させる設定も可能です。
Unattended-Upgrade::Automatic-Reboot "true";Unattended-Upgrade::Automatic-Reboot-Time "04:00";
4. ログの確認方法
正しく実行されているか、またはエラーが出ていないかは、以下のログファイルで確認できます。
- 実行ログ:
/var/log/unattended-upgrades/unattended-upgrades.log - 詳細な履歴:
/var/log/unattended-upgrades/unattended-upgrades-dpkg.log
メリットと注意点
- メリット: 手間をかけずにセキュリティリスクを低減でき、作業を中断されることがありません。
- 注意点: 稀にアップデートによる不具合(特定のサービスの停止など)が発生した際、原因の特定が遅れる可能性があります。サーバー運用などの場合は、重要なサービスが自動再起動後に正常稼働するか確認しておくことをおすすめします。

コメント