インスタンスに対するOSパッチ適用は、パッチマネージャーを利用して適用しています。
2023年8月後半に以前と同様に対象インスタンスに対して適用を試みましたが、失敗したのでその内容を記録として残します。
ざっくりとした記載になってしまうこと、ご了承下さい。
OS:Amazon Linux2
何が起きた?
バケットに保管している実行ログには、以下が出力されていました。
Removing grub2-tools.x86_64 1:2.06-14.amzn2 - u due to obsoletes from grub2-tools.x86_64 1:2.06-14.amzn2.0.1 - u
08/xx/2023 xx:xx:xx root [ERROR]: yum update failed with result code: 1, message: [u'1:grub2-tools-2.06-14.amzn2.x86_64 \u306f grub2-common = 1:2.06-14.amzn2 \u3092\u8981\u6c42\u3057\u307e\u3059']
※unicodeの部分は、"1:grub2-tools-2.06-14.amzn2.x86_64 は grub2-common = 1:2.06-14.amzn2 を要求します" と記載されているようです
原因を調べる
ググってみると、以下の情報が引っ掛かりました。
https://repost.aws/questions/QUGWErckBaTxe2yo6MtcKgdw/run-patch-manager-failed-on-amazonlinux2
どうやら、該当のエラーは特定のバージョンの grub2-common が必要であるが、grub2-tools の新しいバージョンと互換性がない、または使用できない可能性があることを示しているようです。
これだな。
対応する
grub2関連のパッケージは手動で更新し、残りはパッチマネージャーで適用することにしました。
$ sudo yum update grub2
上記実行後、パッチマネージャーより無事パッチ適用が完了しました。
補足
パッチマネージャーはインストール済パッケージがパッチ適用対象になっているかのチェックしかしていないようで、パッケージの依存関係は見ていないようです。
そのため、今回のような事象が発生したと考えられます。
類似の事象が発生した際に、参考になればと思います。
2025.03.06 update
先日、grub2関連パッケージが含まれる状態でパッチマネージャーを実行しました。
また失敗するかなと思っていましたが、なんとエラーは発生せず成功しました。
インスタンス10台ぐらいに対して実施しましたが、いずれもエラーは発生しませんでした。
裏側で依存関係を意識してパッチ適用してくれるようになったのでしょうか。。