公式のCentOS 6(または7)アップデートリポジトリがセキュリティ情報を提供していないことを知っています。その結果、yum-plugin-security
プラグインとコマンドはonやdistrosyum check-update --security
などのアップデートを一覧表示しません。RHEL
OEL
良いスクリプトを持って更新情報の生成yum
失われたセキュリティ情報をローカルリポジトリに注入できます。プラグインはCentOSでも動作します。
残念ながら、小さな問題があります。問題がスクリプトにあるのか動作してyum
いるのかわかりません。
問題を再現する方法(CentOS 6.8、x86_64でテストされていますが、IMO、以前/最新バージョンで同じ問題が発生します):
- まず、テーブルを片付けから始めて、すべてをまとめましょう。
yum clean all
- どのセキュリティアップデートがあるかを見てみましょう(システムが最新ではありません)。
yum check-update --security ... 56 package(s) needed for security, out of 28 available kernel.x86_64 2.6.32-642.15.1.el6 local-centos-6-x86_64-updates kernel-devel.x86_64 2.6.32-642.15.1.el6 local-centos-6-x86_64-updates kernel-firmware.noarch 2.6.32-642.15.1.el6 local-centos-6-x86_64-updates kernel-headers.x86_64 2.6.32-642.15.1.el6 local-centos-6-x86_64-updates libtiff.x86_64 3.9.4-21.el6_8 local-centos-6-x86_64-updates openssl.x86_64 1.0.1e-48.el6_8.4 local-centos-6-x86_64-updates sudo.x86_64 1.8.6p3-25.el6_8 local-centos-6-x86_64-updates
squid
それでは、egパッケージをインストールしてみましょう。
yum install -y squid ... Resolving Dependencies --> Running transaction check ---> Package squid.x86_64 7:3.1.23-16.el6_8.6 will be installed --> Finished Dependency Resolution Dependencies Resolved ==================================================================================================================== Package Arch Version Repository Size ==================================================================================================================== Installing: squid x86_64 7:3.1.23-16.el6_8.6 lp-centos-6-x86_64-updates 1.8 M Transaction Summary ==================================================================================================================== Install 1 Package(s) Total download size: 1.8 M Installed size: 6.3 M Downloading Packages: squid-3.1.23-16.el6_8.6.x86_64.rpm | 1.8 MB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Warning: RPMDB altered outside of yum. Installing : 7:squid-3.1.23-16.el6_8.6.x86_64 1/1 Verifying : 7:squid-3.1.23-16.el6_8.6.x86_64 1/1 Installed: squid.x86_64 7:3.1.23-16.el6_8.6 Complete!
- パッケージアップデートをテストしたいのですが、まずダウングレードを試してみましょう。
yum downgrade -y squid ... Resolving Dependencies --> Running transaction check ---> Package squid.x86_64 7:3.1.23-16.el6_8.5 will be a downgrade ---> Package squid.x86_64 7:3.1.23-16.el6_8.6 will be erased --> Finished Dependency Resolution Dependencies Resolved ==================================================================================================================== Package Arch Version Repository Size ==================================================================================================================== Downgrading: squid x86_64 7:3.1.23-16.el6_8.5 lp-centos-6-x86_64-updates 1.8 M Transaction Summary ==================================================================================================================== Downgrade 1 Package(s) Total download size: 1.8 M Downloading Packages: squid-3.1.23-16.el6_8.5.x86_64.rpm | 1.8 MB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : 7:squid-3.1.23-16.el6_8.5.x86_64 1/2 Cleanup : 7:squid-3.1.23-16.el6_8.6.x86_64 2/2 Verifying : 7:squid-3.1.23-16.el6_8.5.x86_64 1/2 Verifying : 7:squid-3.1.23-16.el6_8.6.x86_64 2/2 Removed: squid.x86_64 7:3.1.23-16.el6_8.6 Installed: squid.x86_64 7:3.1.23-16.el6_8.5 Complete!
- 何をインストールしたのかをもう一度確認してみましょう。
rpm -qa | grep -i squid squid-3.1.23-16.el6_8.5.x86_64
- この時点で、セキュリティ更新プログラムを再確認すると、パッケージが新しくリストされたことがわかりましたが、そうではありませ
squid
んでした。
yum check-update --security ... 56 package(s) needed for security, out of 28 available kernel.x86_64 2.6.32-642.15.1.el6 local-centos-6-x86_64-updates kernel-devel.x86_64 2.6.32-642.15.1.el6 local-centos-6-x86_64-updates kernel-firmware.noarch 2.6.32-642.15.1.el6 local-centos-6-x86_64-updates kernel-headers.x86_64 2.6.32-642.15.1.el6 local-centos-6-x86_64-updates libtiff.x86_64 3.9.4-21.el6_8 local-centos-6-x86_64-updates openssl.x86_64 1.0.1e-48.el6_8.4 local-centos-6-x86_64-updates sudo.x86_64 1.8.6p3-25.el6_8 local-centos-6-x86_64-updates
- システムにどのSquid正誤表がインストールされているかを見てみましょう。これは少し奇妙です。上記のように、Squidは
squid-3.1.23-16.el6_8.5.x86_64
(CEBA_2016__1412 bugfix
)にダウングレードされていますが、squid-3.1.23-16.el6_8.6.x86_64
(CESA_2016__1573
)はまだインストールされているとマークされているようです。
yum updateinfo list all | grep squid-3 i CESA_2011__1791 Moderate/Sec. squid-3.1.10-1.el6_2.1.x86_64 i CEBA_2012__0122 bugfix squid-3.1.10-1.el6_2.2.x86_64 i CEBA_2012__0470 bugfix squid-3.1.10-1.el6_2.3.x86_64 i CEBA_2012__0557 bugfix squid-3.1.10-1.el6_2.4.x86_64 i CEBA_2012__1290 bugfix squid-3.1.10-9.el6_3.x86_64 i CESA_2013__0505 Moderate/Sec. squid-3.1.10-16.el6.x86_64 i CEBA_2013__0985 bugfix squid-3.1.10-18.el6_4.x86_64 i CEBA_2013__1396 bugfix squid-3.1.10-19.el6_4.x86_64 i CEBA_2014__0048 bugfix squid-3.1.10-20.el6_5.x86_64 i CESA_2014__0597 Moderate/Sec. squid-3.1.10-20.el6_5.3.x86_64 i CESA_2014__1148 Important/Sec. squid-3.1.10-22.el6_5.x86_64 i CEBA_2014__1446 bugfix squid-3.1.10-29.el6.x86_64 i CEBA_2015__1314 bugfix squid-3.1.23-9.el6.x86_64 i CEBA_2016__0896 bugfix squid-3.1.23-16.el6.x86_64 i CESA_2016__1138 Moderate/Sec. squid-3.1.23-16.el6_8.4.x86_64 i CEBA_2016__1412 bugfix squid-3.1.23-16.el6_8.5.x86_64 i CESA_2016__1573 Moderate/Sec. squid-3.1.23-16.el6_8.6.x86_64
- この正誤表に関する情報を取得しようとすると、何もありません。
yum update info CESA_2016__1573 --- NOTHING NOTHING NOTHING ---
- grepを除くすべての正誤表をリストしようとするとわかります。
yum updateinfo info all | grep CESA_2016__1573 -B3 -A8 =============================================================================== Moderate CentOS squid Security Update =============================================================================== Update ID : CESA_2016__1573 Release : CentOS 6 Type : security Status : stable Issued : 2016-08-04 12:51:39 Description : Moderate CentOS squid Security Update Severity : Moderate Installed : true
このシナリオ(ダウングレード/アップグレード)をRHEL6でテストし、効果があったことを指摘したいと思います。ダウングレード/アップグレードの順序を避けるために、以前のバージョンのパッケージを直接インストールしてみましたが、squid
結果は同じでした。そして、この問題はsquid
パッケージだけの問題ではありません。デフォルトでは、どのパッケージを使用しても問題を再現できます。yum
パッケージをダウングレードした後にキャッシュをクリーンアップしようとしましたが、役に立ちませんでした。
何が間違っているのか知っていますか? ! ?インストールされていないがインストール済みとしてマークされるのはなぜですか? ! ? RHEL6でテストすると、インストールされていない次の更新するパッケージのリストに含まれていることがわかります。
返信ありがとうございます。