インストール済みパッケージと同時にインストールされていないパッケージ

インストール済みパッケージと同時にインストールされていないパッケージ

しばらく前に、私は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

答え1

私に正しい方向を教えてくれたAnthony Geogheganに感謝します。効果的な解決策が見つかりました。

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

ファイルに触れることなくデータベースからパッケージを削除してから簡単にyum install

答え2

興味がなかったので、まず次のようにrpmパッケージを削除してみました。

rpm -e libstdc++

しかし、疑わしい内部データベースがrpm破損し、上記のコマンドが機能しなかったため、次のようにデータベースを再構築してみました。

rpm --rebuilddb

答え3

これは x86_64 および multilib パッケージで発生する可能性があります。yum remove libstdc++64ビットバージョンをアンインストールしようとしましたが、インストールされていません。したがって、この場合はアーチを使用してパッケージを処理する必要があります。つまり:

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

答え4

私の所有者も同様の状況です。

# yum --showduplicates list coreutils-libs

同時にインストールされているように見える同じパッケージの2つのバージョンを返します。

Installed Packages
coreutils-libs.x86_64                  8.4-37.el6_7.3                 @updates
coreutils-libs.x86_64                  8.4-43.el6                     installed
Available Packages
coreutils-libs.x86_64                  8.4-43.el6                     base

私が試したとき

# yum remove coreutils-libs

次のような他の依存関係を削除する必要があるため、失敗しました。まあそれ自体。

しかし、数回の試行錯誤の最後に問題を解決することができました。重要なのは、バージョンとリリースのサフィックスを含むパッケージのフルネームを使用することです。

要点は、パッケージの1つを削除するには物理的な削除が必要ですが、2つのパッケージの一方を削除すると、rpm DBレコードのみが削除され、データベースが一貫した状態になるということです。

私の場合でもcoreutils-8.4-37.el6_7.3パッケージがインストールされているので、-37.el6_7.3バージョンはおそらく正しいバージョンです(例:保持)。

私が言ったときまあ他のものを削除する

# yum remove coreutils-libs-8.4-43.el6

すべてがエラーなしで実行され、RPM DBが再び一貫しています。

関連情報