Amazon Linux 2023のdnf update –securityはyum update –securityと異なる挙動になる
新しいサーバーをAmazon Linux 2023で構築して本番運用を開始しました。
いままでAmazon Linux 2ではパッケージのアップデートを以下のコマンドで確認していました。
いままでAmazon Linux 2ではパッケージのアップデートを以下のコマンドで確認していました。
yum check-updateまたは
yum check-update --security
Amazon Linux 2023ではyumの代替としてdnfコマンドを利用すると以下の表示になりました。
# dnf check-update メタデータの期限切れの最終確認: 1 day, 8:59:14 時間前の 2024年05月13日 10時54分14秒 に実施しました。 ======================================================== WARNING: A newer release of "Amazon Linux" is available. Available Versions: Version 2023.4.20240429: Run the following command to upgrade to 2023.4.20240429: dnf upgrade --releasever=2023.4.20240429 Release notes: https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240429.html Version 2023.4.20240513: Run the following command to upgrade to 2023.4.20240513: dnf upgrade --releasever=2023.4.20240513 Release notes: https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240513.html ========================================================
Amazon Linux 2023では、個別のパッケージを更新するという考え方はなく、パッケージのバージョンのセットが、Amazon Linux パッケージリポジトリの特定のバージョンにロックされるという考え方のようです。
https://aws.amazon.com/jp/blogs/news/amazon-linux-2023-a-cloud-optimized-linux-distribution-with-long-term-support/
https://aws.amazon.com/jp/blogs/news/amazon-linux-2023-a-cloud-optimized-linux-distribution-with-long-term-support/
Amazon Linux は、柔軟で一貫性のある更新メカニズムである、バージョニングされたリポジトリを通じた決定論的更新を提供します。これは、断然私のお気に入りのポリシーです。ディストリビューションは Amazon Linux パッケージリポジトリの特定のバージョンにロックされるため、更新を適用する方法とタイミングを制御できます。デフォルトでは、Amazon Linux 2 とは異なり、dnf update コマンドはインストール済みのパッケージを更新しません (dnf は yum の後継です)。これは、フリート全体で同じパッケージバージョンが使用されるようにするのに役立ちます。
ということで、案内に従ってコマンドを実行してみます。
dnf check-update --releasever=2023.4.20240416 (略) amazon-linux-repo-s3.noarch 2023.4.20240416-1.amzn2023 amazonlinux amazon-ssm-agent.aarch64 3.3.131.0-1.amzn2023 amazonlinux emacs-filesystem.noarch 1:28.2-3.amzn2023.0.7 amazonlinux kernel.aarch64 6.1.84-99.169.amzn2023 amazonlinux kernel-headers.aarch64 6.1.84-99.169.amzn2023 amazonlinux kernel-livepatch-repo-s3.noarch 2023.4.20240416-1.amzn2023 amazonlinux kernel-tools.aarch64 6.1.84-99.169.amzn2023 amazonlinux krb5-devel.aarch64 1.21-3.amzn2023.0.4 amazonlinux krb5-libs.aarch64 1.21-3.amzn2023.0.4 amazonlinux libkadm5.aarch64 1.21-3.amzn2023.0.4 amazonlinux selinux-policy.noarch 37.22-1.amzn2023.0.2 amazonlinux selinux-policy-targeted.noarch 37.22-1.amzn2023.0.2 amazonlinux system-release.noarch 2023.4.20240416-1.amzn2023 amazonlinux [root@lp-ec2-web-2 ~]#
今回、更新対象のパッケージが複数あります。まとめて更新する場合は、releasever=latestを指定するようです。
# dnf check-update --releasever=latest メタデータの期限切れの最終確認: 0:20:17 時間前の 2024年05月14日 19時41分51秒 に実施しました。 amazon-linux-repo-s3.noarch 2023.4.20240513-1.amzn2023 amazonlinux amazon-ssm-agent.aarch64 3.3.380.0-1.amzn2023 amazonlinux awscli-2.noarch 2.15.30-1.amzn2023.0.1 amazonlinux curl-minimal.aarch64 8.5.0-1.amzn2023.0.4 amazonlinux emacs-filesystem.noarch 1:28.2-3.amzn2023.0.7 amazonlinux glibc.aarch64 2.34-52.amzn2023.0.10 amazonlinux glibc-all-langpacks.aarch64 2.34-52.amzn2023.0.10 amazonlinux glibc-common.aarch64 2.34-52.amzn2023.0.10 amazonlinux glibc-devel.aarch64 2.34-52.amzn2023.0.10 amazonlinux glibc-gconv-extra.aarch64 2.34-52.amzn2023.0.10 amazonlinux glibc-locale-source.aarch64 2.34-52.amzn2023.0.10 amazonlinux gnutls.aarch64 3.8.0-380.amzn2023.0.6 amazonlinux httpd.aarch64 2.4.59-2.amzn2023 amazonlinux httpd-core.aarch64 2.4.59-2.amzn2023 amazonlinux httpd-filesystem.noarch 2.4.59-2.amzn2023 amazonlinux httpd-tools.aarch64 2.4.59-2.amzn2023 amazonlinux kernel.aarch64 6.1.90-99.173.amzn2023 amazonlinux kernel-headers.aarch64 6.1.90-99.173.amzn2023 amazonlinux kernel-livepatch-repo-s3.noarch 2023.4.20240513-1.amzn2023 amazonlinux kernel-tools.aarch64 6.1.90-99.173.amzn2023 amazonlinux krb5-devel.aarch64 1.21-3.amzn2023.0.4 amazonlinux krb5-libs.aarch64 1.21-3.amzn2023.0.4 amazonlinux libcurl-minimal.aarch64 8.5.0-1.amzn2023.0.4 amazonlinux libkadm5.aarch64 1.21-3.amzn2023.0.4 amazonlinux libnghttp2.aarch64 1.59.0-3.amzn2023.0.1 amazonlinux mod_http2.aarch64 2.0.27-1.amzn2023.0.2 amazonlinux mod_lua.aarch64 2.4.59-2.amzn2023 amazonlinux python3.aarch64 3.9.16-1.amzn2023.0.8 amazonlinux python3-libs.aarch64 3.9.16-1.amzn2023.0.8 amazonlinux selinux-policy.noarch 37.22-1.amzn2023.0.2 amazonlinux selinux-policy-targeted.noarch 37.22-1.amzn2023.0.2 amazonlinux strace.aarch64 6.8-1.amzn2023.0.1 amazonlinux sudo.aarch64 1.9.15-1.p5.amzn2023.0.1 amazonlinux system-release.noarch 2023.4.20240513-1.amzn2023 amazonlinux
–securityオプションも利用できました。
# dnf check-update --releasever=latest --security メタデータの期限切れの最終確認: 0:21:04 時間前の 2024年05月14日 19時41分51秒 に実施しました。 curl-minimal.aarch64 8.5.0-1.amzn2023.0.4 amazonlinux emacs-filesystem.noarch 1:28.2-3.amzn2023.0.7 amazonlinux glibc.aarch64 2.34-52.amzn2023.0.10 amazonlinux glibc-all-langpacks.aarch64 2.34-52.amzn2023.0.10 amazonlinux glibc-common.aarch64 2.34-52.amzn2023.0.10 amazonlinux glibc-devel.aarch64 2.34-52.amzn2023.0.10 amazonlinux glibc-gconv-extra.aarch64 2.34-52.amzn2023.0.10 amazonlinux glibc-locale-source.aarch64 2.34-52.amzn2023.0.10 amazonlinux gnutls.aarch64 3.8.0-380.amzn2023.0.6 amazonlinux httpd.aarch64 2.4.59-2.amzn2023 amazonlinux httpd-core.aarch64 2.4.59-2.amzn2023 amazonlinux httpd-filesystem.noarch 2.4.59-2.amzn2023 amazonlinux httpd-tools.aarch64 2.4.59-2.amzn2023 amazonlinux kernel.aarch64 6.1.90-99.173.amzn2023 amazonlinux kernel-headers.aarch64 6.1.90-99.173.amzn2023 amazonlinux kernel-tools.aarch64 6.1.90-99.173.amzn2023 amazonlinux krb5-devel.aarch64 1.21-3.amzn2023.0.4 amazonlinux krb5-libs.aarch64 1.21-3.amzn2023.0.4 amazonlinux libcurl-minimal.aarch64 8.5.0-1.amzn2023.0.4 amazonlinux libkadm5.aarch64 1.21-3.amzn2023.0.4 amazonlinux libnghttp2.aarch64 1.59.0-3.amzn2023.0.1 amazonlinux mod_http2.aarch64 2.0.27-1.amzn2023.0.2 amazonlinux mod_lua.aarch64 2.4.59-2.amzn2023 amazonlinux python3.aarch64 3.9.16-1.amzn2023.0.8 amazonlinux python3-libs.aarch64 3.9.16-1.amzn2023.0.8 amazonlinux
e2infoでは、しばらくはAmazon Linux 2と2023が混在する事になりそうなので、手順の違いを意識する必要がありそう。という記事でした。
al2023AmazonAmazon Linuxamazon linux 2023amazonlinux2023AWSdnfdnf upgradeLinuxOSSecurityyumyum upgradeセキュリティ
Tweet