適当にyum updateしてたらGLIBC_2.14が見えないとか
管理しているサーバのうち一台を久しぶりにyum update。全部やるのは怖いので適当なパッケージ(といってもアルファベット順)を選択しながらupdateしてたら、ある時点でrpmが動作しなくなった。こんなエラー。
# rpm -v rpm: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/lib64/libmagic.so.1) rpm: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by /usr/lib64/libmagic.so.1)
/usr/lib64/libmagic.so.1 が glibcの新しいのを要求しているようです。
現在入っているglibc(/lib64/libc.so.6)のバージョンはlddで出てきます。
# ldd --version ldd (GNU libc) 2.12
ふうむ、古いのか。でもyum update glibcやってももう最新ですって言われるので、当該リポジトリではこれが最新みたい。
# yum update glibc 読み込んだプラグイン:product-id, refresh-packagekit, rhnplugin, security, subscription- : manager This system is receiving updates from RHN Classic or RHN Satellite. 更新処理の設定をしています 更新と設定されたパッケージがありません。
そうすると /usr/lib64/libmagic.so.1 が新しすぎるのでは。リストを参照してみると、二つある実体のうちサフィックスが5.19のものからリンクされている。
ls -l /usr/lib64/libmagic* lrwxrwxrwx 1 root root 28 3月 16 16:26 2015 /usr/lib64/libmagic.so.1 -> /usr/lib64/libmagic.so.1.0.0-5.19 -rwxr-xr-x 1 root root 115768 8月 4 13:55 2014 /usr/lib64/libmagic.so.1.0.0 -rwxr-xr-x 1 root root 127840 6月 13 22:50 2014 /usr/lib64/libmagic.so.1.0.0-5.19
日付が古いな。これを1.0.0のものにリンクし直す。
# rm /usr/lib64/libmagic.so.1 # ln -s /usr/lib/64/libmagic.so.1.0.0 /usr/lib64/libmagic.so.1
rpmもちゃんと動作スルようになりました。
# rpm -v RPM バージョン 4.8.0 Copyright (C) 1998-2002 - Red Hat, Inc. このプログラムは GNU GPL の下で自由に配布できます。 使い方: rpm [オプション...] (以下略)