[小ネタ] Amazon Linux の yum update で複数のパッケージ適用
Guten Tag、ベルリン 伊藤です。
お問い合わせがあり軽く yum update の検証をしましたので、ブログ書きます。
今日のテーマ
Amazon Linux で提供されるパッチについては、こちらのページで公開されており、yum update
コマンドで特定のセキュリティパッチを適用させることができます。
すべては下記エントリで詳細に説明されています。
この特定のセキュリティパッチを複数適用させる場合のコマンド確認をしました。すぐ終わります。
今日のまとめ
$ yum check-update
or$ yum list updates
- 利用可能なパッケージ一覧を表示(パッケージと最新バージョン)--security
オプション付与により、セキュリティに関するパッケージに限定$ yum updateinfo
- 利用可能なセキュリティパッチ情報のまとめを表示(深刻度別の数)$ yum updateinfo list
- 利用可能なセキュリティパッチに関するパッケージ一覧(ALAS番号と深刻度とパッケージバージョン)$ yum updateinfo all
- 利用可能なセキュリティパッチに関する詳細情報を表示$ yum updateinfo ALAS-yyyy-nnnn ALAS-yyyy-nnnn
- 特定のセキュリティパッチに関する詳細情報を表示(※複数の場合はスペース区切りで番号を追記する)$ yum check-update --advisory=ALAS-yyyy-nnnn,ALAS-yyyy-nnnn
- ALAS 指定のアップデート対象のパッケージ確認(※複数の場合はカンマ区切りで番号を追記する)$ sudo yum update --advisory=ALAS-yyyy-nnnn,ALAS-yyyy-nnnn
- ALAS 指定のアップデート(※複数の場合はカンマ区切りで番号を追記する)
以上です!
確認
EC2 インスタンス起動
最新の Amazon Linux ではパッチが適用されてしまっているため、コミュニティ AMI から少し古めのものを探しました。
ちなみに今回起動したAMIは Amazon Linux (amzn-ami-minimal-hvm-2018.03.0.20181116-x86_64-ebs (ami-07f2bbf97bdf932e6)
)です 。
yum コマンド確認
yum パッケージがデフォルトでインストールされているため、すぐに実行することができます。(各オプションなどは↑のブログで説明されているのですっ飛ばします)
利用可能なパッチを確認する
セキュリティ関連でアップデート可能なパッケージと、その最新バージョンのみが一覧化されます。
$ yum check-update --security Loaded plugins: priorities, update-motd, upgrade-helper 15 package(s) needed for security, out of 17 available curl.x86_64 7.61.1-7.91.amzn1 amzn-updates file.x86_64 5.34-3.37.amzn1 amzn-updates file-libs.x86_64 5.34-3.37.amzn1 amzn-updates fuse-libs.x86_64 2.9.4-1.18.amzn1 amzn-updates glibc.x86_64 2.17-260.175.amzn1 amzn-updates glibc-common.x86_64 2.17-260.175.amzn1 amzn-updates kernel.x86_64 4.14.123-86.109.amzn1 amzn-updates krb5-libs.x86_64 1.15.1-34.44.amzn1 amzn-updates libcurl.x86_64 7.61.1-7.91.amzn1 amzn-updates ntp.x86_64 4.2.8p12-1.41.amzn1 amzn-updates ntpdate.x86_64 4.2.8p12-1.41.amzn1 amzn-updates openssl.x86_64 1:1.0.2k-16.150.amzn1 amzn-updates python27.x86_64 2.7.16-1.125.amzn1 amzn-updates python27-libs.x86_64 2.7.16-1.125.amzn1 amzn-updates python27-urllib3.noarch 1.24.1-1.6.amzn1 amzn-updates
セキュリティ関連でアップデート可能なパッチ(ALAS)のサマリが取得できます。
$ yum updateinfo Loaded plugins: priorities, update-motd, upgrade-helper amzn-main/latest | 2.1 kB 00:00:00 amzn-updates/latest | 2.5 kB 00:00:00 Updates Information Summary: updates 25 Security notice(s) 1 critical Security notice(s) 8 important Security notice(s) 5 low Security notice(s) 11 medium Security notice(s) updateinfo summary done
すべてのパッケージバージョンとそれぞれの ALAS 番号、深刻度(Severity)が取得できます。
1つの ALAS で複数のパッケージが適用されるケースがあるので、いくつか ALAS 番号が重複して表示されていることが分かります。重複を除くと ALAS 番号の数は 25 で、上の結果と一致します。
$ yum updateinfo list Loaded plugins: priorities, update-motd, upgrade-helper ALAS-2018-1112 low/Sec. curl-7.53.1-16.85.amzn1.x86_64 ALAS-2019-1148 low/Sec. curl-7.53.1-16.86.amzn1.x86_64 ALAS-2019-1151 medium/Sec. curl-7.61.1-7.91.amzn1.x86_64 ALAS-2019-1186 medium/Sec. file-5.34-3.37.amzn1.x86_64 ALAS-2019-1186 medium/Sec. file-libs-5.34-3.37.amzn1.x86_64 ALAS-2018-1123 medium/Sec. fuse-libs-2.9.4-1.18.amzn1.x86_64 ALAS-2018-1109 medium/Sec. glibc-2.17-260.175.amzn1.x86_64 ALAS-2018-1109 medium/Sec. glibc-common-2.17-260.175.amzn1.x86_64 ALAS-2018-1133 medium/Sec. kernel-4.14.88-72.73.amzn1.x86_64 ALAS-2019-1145 medium/Sec. kernel-4.14.88-72.76.amzn1.x86_64 ALAS-2019-1149 important/Sec. kernel-4.14.94-73.73.amzn1.x86_64 ALAS-2019-1165 important/Sec. kernel-4.14.101-75.76.amzn1.x86_64 ALAS-2019-1167 important/Sec. kernel-4.14.104-78.84.amzn1.x86_64 ALAS-2019-1179 important/Sec. kernel-4.14.106-79.86.amzn1.x86_64 ALAS-2019-1201 important/Sec. kernel-4.14.114-82.97.amzn1.x86_64 ALAS-2019-1212 important/Sec. kernel-4.14.114-83.126.amzn1.x86_64 ALAS-2019-1205 important/Sec. kernel-4.14.114-83.126.amzn1.x86_64 ALAS-2019-1214 important/Sec. kernel-4.14.121-85.96.amzn1.x86_64 ALAS-2019-1222 critical/Sec. kernel-4.14.123-86.109.amzn1.x86_64 ALAS-2018-1129 low/Sec. krb5-libs-1.15.1-34.44.amzn1.x86_64 ALAS-2018-1112 low/Sec. libcurl-7.53.1-16.85.amzn1.x86_64 ALAS-2019-1148 low/Sec. libcurl-7.53.1-16.86.amzn1.x86_64 ALAS-2019-1151 medium/Sec. libcurl-7.61.1-7.91.amzn1.x86_64 ALAS-2019-1206 medium/Sec. ntp-4.2.8p12-1.41.amzn1.x86_64 ALAS-2019-1206 medium/Sec. ntpdate-4.2.8p12-1.41.amzn1.x86_64 ALAS-2018-1102 medium/Sec. openssl-1:1.0.2k-16.146.amzn1.x86_64 ALAS-2019-1153 low/Sec. openssl-1:1.0.2k-16.148.amzn1.x86_64 ALAS-2019-1188 medium/Sec. openssl-1:1.0.2k-16.150.amzn1.x86_64 ALAS-2018-1108 medium/Sec. python27-2.7.15-1.124.amzn1.x86_64 ALAS-2019-1169 medium/Sec. python27-2.7.16-1.125.amzn1.x86_64 ALAS-2018-1108 medium/Sec. python27-libs-2.7.15-1.124.amzn1.x86_64 ALAS-2019-1169 medium/Sec. python27-libs-2.7.16-1.125.amzn1.x86_64 ALAS-2019-1224 low/Sec. python27-urllib3-1.24.1-1.6.amzn1.noarch updateinfo list done
アップデート確認
異なるパッケージの ALAS 番号を指定してアップデートを確認してみます。対象のパッケージとバージョンが表示されます。
$ yum check-update --advisory=ALAS-2019-1186,ALAS-2019-1145 Loaded plugins: priorities, update-motd, upgrade-helper 3 package(s) needed for security, out of 13 available file.x86_64 5.34-3.37.amzn1 amzn-updates file-libs.x86_64 5.34-3.37.amzn1 amzn-updates kernel.x86_64
同じパッケージの ALAS 番号を指定してアップデートを確認してみます。3つのうち最新バージョンのみが表示されます。
$ yum check-update --advisory=ALAS-2019-1201,ALAS-2019-1212,ALAS-2019-1205 Loaded plugins: priorities, update-motd, upgrade-helper amzn-main/latest | 2.1 kB 00:00:00 amzn-updates/latest | 2.5 kB 00:00:00 1 package(s) needed for security, out of 13 available kernel.x86_64 4.14.123-86.109.amzn1 amzn-updates
アップデート
アップデート確認と同様、複数指定した場合でも問題なく最新バージョンが適用されました。
$ sudo yum update --advisory=ALAS-2018-1148,ALAS-2019-1151,ALAS-2018-1112 Loaded plugins: priorities, update-motd, upgrade-helper 2 package(s) needed (+0 related) for security, out of 17 available Resolving Dependencies --> Running transaction check ---> Package curl.x86_64 0:7.53.1-16.84.amzn1 will be updated ---> Package curl.x86_64 0:7.61.1-7.91.amzn1 will be an update ---> Package libcurl.x86_64 0:7.53.1-16.84.amzn1 will be updated ---> Package libcurl.x86_64 0:7.61.1-7.91.amzn1 will be an update --> Finished Dependency Resolution Dependencies Resolved =============================================================================================================================================================================== Package Arch Version Repository Size =============================================================================================================================================================================== Updating: curl x86_64 7.61.1-7.91.amzn1 amzn-updates 362 k libcurl x86_64 7.61.1-7.91.amzn1 amzn-updates 306 k Transaction Summary =============================================================================================================================================================================== Upgrade 2 Packages Total download size: 668 k Is this ok [y/d/N]: y Downloading packages: (1/2): libcurl-7.61.1-7.91.amzn1.x86_64.rpm | 306 kB 00:00:00 (2/2): curl-7.61.1-7.91.amzn1.x86_64.rpm | 362 kB 00:00:00 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 2.5 MB/s | 668 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Updating : libcurl-7.61.1-7.91.amzn1.x86_64 1/4 Updating : curl-7.61.1-7.91.amzn1.x86_64 2/4 Cleanup : curl-7.53.1-16.84.amzn1.x86_64 3/4 Cleanup : libcurl-7.53.1-16.84.amzn1.x86_64 4/4 Verifying : libcurl-7.61.1-7.91.amzn1.x86_64 1/4 Verifying : curl-7.61.1-7.91.amzn1.x86_64 2/4 Verifying : libcurl-7.53.1-16.84.amzn1.x86_64 3/4 Verifying : curl-7.53.1-16.84.amzn1.x86_64 4/4 Updated: curl.x86_64 0:7.61.1-7.91.amzn1 libcurl.x86_64 0:7.61.1-7.91.amzn1 Complete!
余談になりますが、複数の場合のオプション指定は --advisories
じゃないといけないかな?と思ったんですが、どっちでも同じ話でした。
CVE 番号を指定する場合も、 --cve
と --cves
どちらでも。
まとめ
小ネタすぎて検索してもなかなか見つからなかった情報を検証し、ご紹介しました。
どなたかの役に立てれば幸いです! Bis bald!