CentOS 5.3 で、yum が失敗したとのログが。7月21日近辺の yum upgrade は問題なく行われているようですが、python2.4 がらみの依存関係に問題があり、7月31日~8月1日あたりの BIND9 脆弱性に関連した yum に失敗しているようです。できるだけ手間をかけずに解決したいのですが、どうすれば良いでしょうか。

python 2.4 の依存関係にエラーが

yum.cron に残っていたのは次のようなエラーログでした。

[code]
/etc/cron.daily/yum.cron:

libxml2-python-2.6.26-2.1.2.7.i386 from installed has depsolving problems
–> Missing Dependency: /usr/lib/python2.4 is needed by package
libxml2-python-2.6.26-2.1.2.7.i386 (installed)
Error: Missing Dependency: /usr/lib/python2.4 is needed by package
libxml2-python-2.6.26-2.1.2.7.i386 (installed)
[/code]

7月20日~7月21日あたりの yum には成功しているようです。

[code language=”bash”]
# tail -f /var/log/yum.log
Jul 21 09:17:23 Installed: perl-Crypt-OpenSSL-RSA-0.25-1.el5.rf.i386
Jul 21 09:17:23 Installed: perl-Digest-SHA-5.47-1.el5.rf.i386
[/code]

yumdownloader を使っても良さそうだが…

ここで、yumdownloader を使うのも一つの手ではありますが、下記のようにあらかじめ yum-utils を追加する必要があるのと、yum 本体だけで何とかしたいところです。

[code language=”bash”]
# yum -y install yum-utils
# yumdownloader python
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
…..
Excluding Packages in global exclude list
Finished
387 packages excluded due to repository priority protections
python-2.4.3-24.el5_3.6.i386.rpm | 5.9 MB 00:02
# rpm -Uvh python-*
[/code]

yum clean metadata の方が手っ取り早い

そこで、最近 yum がコケたことがあったのを思い出して、同じようにしてみました。

[code language=”bash”]
# yum clean metadata
Loaded plugins: downloadonly, fastestmirror, priorities
25 metadata files removed
10 sqlite files removed
0 metadata files removed
[/code]

再度 yum にトライ。メタデータのキャッシュをいったんクリアしているので、時間はかかります。

[code language=”bash”]
# yum -y update
Loaded plugins: downloadonly, fastestmirror, priorities
Loading mirror speeds from cached hostfile

Excluding Packages in global exclude list
Finished
387 packages excluded due to repository priority protections
Setting up Update Process
Resolving Dependencies
–> Running transaction check
…..
—> Package python.i386 0:2.4.3-24.el5_3.6 set to be updated
…..
—> Package bind-chroot.i386 30:9.3.4-10.P1.el5_3.3 set to be updated
—> Package caching-nameserver.i386 30:9.3.4-10.P1.el5_3.3 set to be updated
—> Package bind-utils.i386 30:9.3.4-10.P1.el5_3.3 set to be updated
filelists.xml.gz | 456 kB 00:07
–> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================
Package Arch Version Repository Size
==========================================================================================
Updating:
bind i386 30:9.3.4-10.P1.el5_3.3 updates 954 k
bind-chroot i386 30:9.3.4-10.P1.el5_3.3 updates 42 k
bind-libs i386 30:9.3.4-10.P1.el5_3.3 updates 836 k
bind-utils i386 30:9.3.4-10.P1.el5_3.3 updates 168 k
…..
python i386 2.4.3-24.el5_3.6 updates 5.9 M

Transaction Summary
==========================================================================================
Install 0 Package(s)
Update 10 Package(s)
Remove 0 Package(s)

Total download size: 11 M
Downloading Packages:
…..
Updated: bind.i386 30:9.3.4-10.P1.el5_3.3 bind-chroot.i386 30:9.3.4-10.P1.el5_3.3 bind-libs.i386 30:9.3.4-10.P1.el5_3.3 bind-utils.i386 30:9.3.4-10.P1.el5_3.3 caching-nameserver.i386 30:9.3.4-10.P1.el5_3.3 libtiff.i386 0:3.8.2-7.el5_3.4 nspr.i386 0:4.7.4-1.el5_3.1 nss.i386 0:3.12.3.99.3-1.el5.centos.2 nss-tools.i386 0:3.12.3.99.3-1.el5.centos.2 python.i386 0:2.4.3-24.el5_3.6
Complete!
[/code]

何だ、これで良いじゃないですか。

python 2.4 がインストールされていることを確認

念のため、python 2.4 がインストールされていることを確認します。

[code language=”bash”]
# rpm -qa|grep python-2.4
python-2.4.3-24.el5_3.6
#
[/code]

OK!

今回の yum upgrade に失敗していると、7月29日に JRPS から発表された BIND9 の脆弱性がフィックスできなくなるので、早めに解決しておきたいところです。