誤ってlibnssを削除したため、rpmとyumを実行できません。どうすれば修正できますか?

誤ってlibnssを削除したため、rpmとyumを実行できません。どうすれば修正できますか?

これはAmazon RHELサーバーで、次のコマンドを実行してlibnssを削除しました。

rpm --nodeps -e nss-*;
package-cleanup --cleandupes;

今実行するとrpmエラーが発生します。

rpm:共有ライブラリの読み込み中にエラーが発生しました。 libnss3.so:共有オブジェクトファイルを開くことができません。そのファイルまたはディレクトリはありません。

そして同じエラーyum

libnss3.so:共有オブジェクトファイルを開くことができません。そのファイルやディレクトリはありません。

今libnssを再インストールする方法は?

答え1

rpm2cpio必要なパッケージを手動でダウンロードして使用して抽出する必要がありますcpio(必須ではありませんlibnss3)。行くパッケージブラウザ(購読情報を使用)nssリンクを見つけてクリックして、RHELのインストールに適したバージョンをダウンロードしてください。サーバーからrootとして、次のように解凍して「インストール」します。

cd /
rpm2cpio /path/to/nss-....rpm | cpio -idmv

(必要に応じてパスを変更している...バージョンを使用してください)。

これによりライブラリが抽出され、rpm再利用できるようになりますyum。次に、不足している他の依存関係と一緒にnssパッケージを正しく再インストールする必要があります。yum

--no-depsこれからは利用しないでください!

答え2

上記の回答には問題があります。 Fedora / RHELのバージョンによっては、rpm2cpioがlibnss3に依存する可能性があります。 RPMパッケージからcpioファイルを抽出するには、別のオペレーティングシステムが必要です(Peazipがこれを行うことができます)。

関連情報