質問: centos yum-既存のrpmdbの問題 開発ボックスにgitをインストールしようとすると、次のようになります。you could try using --skip-broken to work around the problem ** found 3 pre-existing rpmdb problem(s), 'yum check' output follows: kernel-2.6.32-431.17.1.el6.x86_64 has installed conflicts bfa-firmware < ('0', '3.2.21.1', '2'): bfa-firmware-3.0.3.1-1.el6.noarch kernel-firmware-2.6.32-431.17.1.el6.noarch is a duplicate with kernel-firmware-2.6.32-358.23.2.el6.noarch kernel-headers-2.6.32-431.17.1.el6.x86_64 is a duplicate with kernel-headers-2.6.32-358.23.2.el6.x86_64 どうすればこれを解決できますか? centos/rhelに慣れていないありがとう
回答: 私の場合、何かがおかしくなり、多くのパッケージが古いバージョンを削除せずに更新されていたことがわかりました。 rpm dbを再構築しようとしても問題は解決しませんでした。機能している1つの解決策は、古いバージョンを削除して、新しいバージョンを再インストールすることです。エラー出力を見ると、各行は基本的にpdate packageはprevious packageと重複しています。 kernel-headers-2.6.32-431.17.1.el6.x86_64 is a duplicate with kernel-headers-2.6.32-358.23.2.el6.x86_64 以下は私にとってはうまくいくようです: rpm --erase --nodeps --noscript kernel-headers-2.6.32-358.23.2.el6.x86_64 このコマンドは、依存関係を削除したり、タスクに関連付けられたスクリプトを実行したりせずに、特定の以前のパッケージを削除するようにrpmに指示します。次に、パッケージを再インストールする必要があります。 yum reinstall kernel-headers 今回は、yumが最新バージョンを探して再インストールするため、正確なパッケージバージョンを指定する必要はありません。yumはそのyumチェック操作の結果を各実行中に出力します。重複したパッケージがリストされなくなるまでこれを続けます。rpmデータベースを直接照会できることに注意してください。たとえば、glibcという文字列を含むメッセージがたくさんある場合は、次のように、名前にその文字列が含まれるパッケージの簡単なリストを取得できます。 rpm -qa | grep glibc | sort これは次のようなものを生成する可能性があります: glibc-2.17-157.el7_3.5.x86_64 glibc-common-2.17-157.el7_3.4.x86_64 glibc-common-2.17-157.el7_3.5.x86_64 glibc-devel-2.17-157.el7_3.5.x86_64 glibc-headers-2.17-157.el7_3.5.x86_64 以前のバージョンのglibc-commonを削除する必要があることはより明白です。 rpm --erase --nodeps --noscript glibc-common-2.17-157.el7_3.4.x86_64 yum reinstall glibc-common