よくみると/usr/share/doc/unattended-upgrades/README.md.gz ファイルにこんなことが書いてることに今頃気がついた
To override the configuration it is recommended to create an other APT
configuration file fragment which overrides the shipped default
value because updates to to shipped configuration file may conflict
with the local changes blocking updating unattended-upgrades itself.
The new file should sort later than 50unattended-upgrades to be
parsed later than the one shipping the default values, it can
be e.g. 52unattended-upgrades-local.
つまり/etc/apt/apt.conf.d/50unattended-upgrades を直接いじるんじゃなくて、自分独自の設定をするんなら52unattended-upgrades-localに書けよってことらしい。
なるほどね。と。
設定方法の理屈は前回のヤツでたぶん間違っていないと思うが、たしかにそのルールにしておいたほうがunattended-upgradesパッケージ自体に更新があったときに設定ファイルがコンフリクトしなくて良さそう。
というわけで、インストールされている全パッケージを自動更新するように設定する方法を改めてまとめ。
まずは/etc/apt/apt.conf.d/20auto-upgradesに以下の記述がなければ追記する。
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
次に/etc/apt/apt.conf.d/52unattended-upgrades-localというファイルを作って以下のような内容を記述する。
Unattended-Upgrade::Allowed-Origins {
"*:*";
}
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
なんとシンプル!上記の「*:*」の指定がとにかくなんでもかんでもアップデートするという指定だ。もちろん設定ファイルがコンフリクトするヤツとかはアップデートされずに引っかかっていることはあるのでたまにサーバーにログインして確認しよう。
その下の3行はそれぞれ「apt autoremoveに相当する処理を実行する」「カーネルとかアップデートされたらリブートする」「リブートするのは午前4時」という指定だ。
本番運用のサーバーでは結構乱暴な設定かもしれないので、真似する方はご注意。
コメント