コトの発端
OSの定期的なアップデートは重要(重要)。
理想的にはシステムの信頼性や可用性を考えて、バッチファイルは公開されてからしばらく様子をみて、アップデートの安全性を検証してから適用といきたいところ。
しかし、現実的な問題として、運用しているすべてのシステムに対してそれを実施するのは運用コスト的な面で難しい。特に趣味で構築しているシステムの場合。あと単純にゼロデイ攻撃とかある。
ただ、だからといって更新せずに放置するのはセキュリティ面で大きな問題がある。
と、いうわけで、自動アップデートを有効にして、自動で定期的にOSをアップグレードしてくれるように設定していく。
(今回の設定はアップグレードバッチの即時適用による障害発生リスクを受容するものとした)
自動更新の設定
調べたところUbuntu 20.04ではデフォルトで自動更新が有効になっている。自動再起動については別途設定する必要がある。
ここでは、Ubuntuの自動更新が有効になっているかどうかの確認と、自動再起動を設定していく。
自動更新について
下記ファイルを確認。
vim /etc/apt/apt.conf.d/20auto-upgrades
20auto-upgradesには、デフォルトで二行の記載があった。
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::Update-Package-Listsが1になっていると、自動的にアップデート可能なパッケージリストを更新してくれるらしい。また、APT::Periodic::Unattended-Upgradeが1になっていると、自動的にアップデートを適用してくれる。
自動再起動について
アップデートした後に自動再起動がかかってくれればメンテナンスの手間がすくなくなっていいよね。
ここでは更新後の指定した時間にOSが自動再起動設定されるようにしていくよ。
下記ファイルを編集。
vim /etc/apt/apt.conf.d/50unattended-upgrades
ファイルの中から自動再起動を有効に設定する場所を探す。(ワイの場合107行目あたりに例文が記載されていた。)
例文をコメントアウトして、Unattended-Upgrade::Automatic-Rebootの値をtrueへすると更新後の再起動が自動化される。
//Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::Automatic-Reboot "true";
ただし、更新後の再起動については利用者が少ないタイミングで実施したい場合がある。その場合は下記を編集して、指定した時間に再起動されるように設定。
//Unattended-Upgrade::Automatic-Reboot-Time "02:00";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
この後、適用のためサーバを再起動した。(関連するサービスがどれか分からなかったため。。。)
とりあえずこれでOSの自動アップデートとその後の自動再起動が設定できたっぽい。
あとは自動的にアップデートが実行されるのを祈るのみ。
参考
Ubuntuの自動アップデートを無効にする手順
大切なことはすべてUbuntuが教えてくれた 無人アップグレードを知りましょう
https://qiita.com/Brutus/items/b264384361d08b7475f6
いつもの
記事の正確性については無保証です。