web-dev-qa-db-ja.com

パッケージがインストールされ、同時にインストールされていない

少し前に、CentOS 5サーバーにSteamをインストールしようとしましたが、インターネットで見つけたほとんどすべてを試しましたが、libstdc ++をインストールしたままにしておくことができたようです。

CPanelは正しいバージョンがインストールされていないため更新に失敗しましたが、すでにインストールされているため、yumはインストールできません。

¿どうすればこの状況を修正して一貫した状態に到達できますか?

# yum install libstdc++-4.1.2-55.el5
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * contrib: mirror.wiredtree.com
addons                                                   | 1.9 kB     00:00
base                                                     | 1.1 kB     00:00
centosplus                                               | 1.9 kB     00:00
contrib                                                  | 1.9 kB     00:00
extras                                                   | 2.1 kB     00:00
updates                                                  | 1.9 kB     00:00
wiredtree                                                |  951 B     00:00
Excluding Packages in global exclude list
Finished
Setting up Install Process
Package matching libstdc++-4.1.2-55.el5.i386 already installed. Checking for update.
Nothing to do

# yum remove libstdc++-4.1.2-55.el5
Loaded plugins: fastestmirror
Setting up Remove Process
No Match for argument: libstdc++-4.1.2-55.el5
Loading mirror speeds from cached hostfile
 * contrib: mirror.wiredtree.com
addons                                                   | 1.9 kB     00:00
base                                                     | 1.1 kB     00:00
centosplus                                               | 1.9 kB     00:00
contrib                                                  | 1.9 kB     00:00
extras                                                   | 2.1 kB     00:00
updates                                                  | 1.9 kB     00:00
wiredtree                                                |  951 B     00:00
Excluding Packages in global exclude list
Finished
Package(s) libstdc++-4.1.2-55.el5 available, but not installed.
No Packages marked for removal


# yum reinstall libstdc++-4.1.2-55.el5
Loaded plugins: fastestmirror
Setting up Reinstall Process
Loading mirror speeds from cached hostfile
 * contrib: mirror.wiredtree.com
addons                                                   | 1.9 kB     00:00
base                                                     | 1.1 kB     00:00
centosplus                                               | 1.9 kB     00:00
contrib                                                  | 1.9 kB     00:00
extras                                                   | 2.1 kB     00:00
updates                                                  | 1.9 kB     00:00
wiredtree                                                |  951 B     00:00
Excluding Packages in global exclude list
Finished
No Match for argument: libstdc++-4.1.2-55.el5
Package(s) libstdc++-4.1.2-55.el5 available, but not installed.
Nothing to do

# yum --showduplicates list libstdc++ | expand
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * contrib: mirror.wiredtree.com
Excluding Packages in global exclude list
Finished
Installed Packages
libstdc++.i386                      4.3.2-7                            installed
Available Packages
libstdc++.i386                      4.1.2-55.el5                       base
3
frisco

Anthony Geogheganが私を正しい方向に向けてくれたおかげで、私は実用的な解決策を見つけることができました

rpm -e --justdb --nodeps libstdc++

これにより、ファイルに触れることなくデータベースからパッケージが削除され、単純なyum install 働くでしょう。

4
frisco

興味があるので、最初にrpmコマンドを使用してパッケージを削除してみます。

rpm -e libstdc++

ただし、rpmの内部データベースが破損していて、上記のコマンドが機能しない可能性があるため、次を使用してデータベースを再構築してみます。

rpm --rebuilddb
2

これは、x86_64およびmultilibパッケージで発生する可能性があります。 yum remove libstdc++は64ビットバージョンを削除しようとしますが、インストールされていません。そのため、そのような状況では、Archでパッケージに対処する必要があります。つまり:

yum remove libstdc++-4.1.2-55.el5.i386
0
msuchy