[問題]
MIRACLE LINUX V3.0 for x86-64 における RPM の不具合
[対象となる製品のバージョン]
MIRACLE LINUX V3.0 - Asianux Inside for x86-64
[問題詳細]
MIRACLE LINUX V3.0 for x86-64 (以降 ML30-64) において、2006-01-16 に公開された rpm パッケージのアップデートを行った場合や、MIRACLE LINUX V3.0 SP2 for x86-64 (以降 SP2) を適用した場合に、RPM によるパッケージ管理に問題がでることがわかりました。
ML30-64 ご利用の場合、以下の手順に従ってシステムを復旧してください。
[現象]
ML30-64 では rpm パッケージのアップデートとして、i386 版とx86-64 版の二種類のパッケージを同時に公開しています。
これらのパッケージを "rpm -Uvh" などで同時にアップデートすると、RPM のマクロファイルである /usr/lib/rpm/macros がx86-64 対応のファイルから i386 対応のものに上書きされてしまう不具合が発生します。
i386 対応のマクロファイルでは、違うアーキテクチャの同名パッケージ (例: glibc.i686 と glibc.x86_64) を一つのシステムに共存させることができなくなります。このため、32bit互換モードで 32bit バイナリを動かしたり、rpm パッケージのインストール・アップデートに失敗したりする問題があります。
[確認方法]
修正が必要かどうかを判断するには、コマンドラインより以下のコマンドを実行してください。
# rpm -q --qf "%{name}-%{version}-%{release}.%{arch}\n" rpm
rpm-4.2.3-24_nonptl.2AX.x86_64
rpm-4.2.3-24_nonptl.2AX.i386
もし rpm-4.2.3-24_nonptl.2AX.x86_64 のように、x86_64 版のパッケージのみ表示される場合は、特に対応する必要はありません。
例のように x86_64 版パッケージと i386 版パッケージの両方が表示される場合には、i386 パッケージを削除し、RPM のマクロファイル /usr/lib/rpm/macros を復元する必要があります。
[修正方法]
自動スクリプトを下記の URL よりダウンロードして以下のコマンドを root ユーザで実行してください。
ダウンロード: ml30sp2_64_script.tar.gz
# tar zxvf ml30sp2_64_script.tar.gz
# cd ml30sp2_64_script
# ./ml30sp2_64_check.sh
Checking OS ...
os: MIRACLE LINUX V3.0 for x86-64
Checking whether rpm.i386 package is installed or not...
rpm.i386 found in the system.
Deleting rpm.i386 ...
Restoring /usr/lib/rpm/macros file ...
Restored successfully.
上記のように出力されれば、作業は完了です。
[更新履歴]
2006年1月26日 新規作成
|