CentOS 6.3ボックスでyum update
を実行しようとすると、エラーが発生し、yum check
を実行するように言われます。 yum check
の出力は次のとおりです。
➜ ~ yum check
Loaded plugins: fastestmirror
glibc-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-2.12-1.107.el6_4.4.x86_64
glibc-common-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-common-2.12-1.107.el6_4.4.x86_64
glibc-devel-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-devel-2.12-1.107.el6_4.4.x86_64
glibc-devel-2.12-1.107.el6_4.5.x86_64 has missing requires of glibc-headers = ('0', '2.12', '1.107.el6_4.5')
iputils-20071127-17.el6_4.2.x86_64 is a duplicate with iputils-20071127-17.el6_4.x86_64
nspr-4.9.5-2.el6_4.x86_64 is a duplicate with nspr-4.9.2-1.el6.x86_64
nss-3.14.3-4.el6_4.x86_64 is a duplicate with nss-3.14.0.0-12.el6.x86_64
nss-softokn-3.14.3-3.el6_4.x86_64 is a duplicate with nss-softokn-3.12.9-11.el6.x86_64
nss-util-3.14.3-3.el6_4.x86_64 is a duplicate with nss-util-3.14.0.0-2.el6.x86_64
tzdata-2013g-1.el6.noarch is a duplicate with tzdata-2013c-2.el6.noarch
2:xinetd-2.3.14-39.el6_4.x86_64 is a duplicate with 2:xinetd-2.3.14-38.el6.x86_64
Error: check all
これらのパッケージを修正する方法はありますか? yum reinstall xinetd tzdata nss-util nss-softokn nss nspr iputils glibc glibc-common glibc-devel
を試しましたが、次のようになりました:
エラー:Multilibバージョンの問題が見つかりました。これは多くの場合、根本原因が他の何かであり、multilibバージョンチェックが問題があることを指摘しているだけであることを意味します。
私にとっては、パッケージをアップグレードする過程でコンピューターを再起動した(またはクラッシュした)ようです。したがって、新しいパッケージはインストールされますが、古いパッケージは削除されません。
最初に、yum-complete-transactionで未完了のトランザクションがあるかどうかを確認します
それでも解決しない場合は、yum-utilsパッケージの一部であるpackage-cleanupツールを見てください。
package-cleanup --dupes重複するパッケージをリストします
package-cleanup --cleandupes重複パッケージを削除します
ただし、コマンドに注意して、重複を削除する前にバックアップを作成してください。
これが、1つのCentOS 7サーバーで471の重複を修正した方法です。
まず、yum utilsをインストールする必要がありました。
yum install yum-utils
Yum-complete-transactionやその他のものを運が悪かったので、私はトランザクションをあきらめました:
yum-complete-transaction --cleanup-only
次に、重複したパッケージのソートされたリストを取得したため、古いバージョンを識別して、偶数行と奇数行のフィルタリングを後で削除できます。
package-cleanup --dupes | sort -u > dupes.out
次に、このようにソートされたファイルからアンインストールリストを取得しました。
cat dupes.out | grep -v 'Loaded plugins:' | sort -u | awk 'NR % 2 == 1' > uninstall.in
次に、rpmデータベースから古いバージョンを削除しました。
for f in `cat uninstall.in`; do rpm -e --nodeps -f --justdb $f; done
最後に、定期的なシステムアップグレードを続行できます。
yum upgrade
注意すべき点:
yum Shell
を使用してすべての重複を削除できました。
remove foo-package-*
を使用してすべてのパッケージを削除するように注文しましたinstall foo-package-3.14.1-5.i386 foo-package-3.14.1-5.x86_64
を指定して、以前のバージョンをインストールするように注文しますrun
によるトランザクションのコミットその後、重複はなくなり、問題なく、新しい重複を導入することなく、システムを現在のパッケージに更新できました。
これは、nss
やyum
などのシステムパッケージでも機能します。
yum restart package-newest-version
数か月前、Fedoraをアップグレードした後、この問題に遭遇しました。
また、パッケージクリーンアップを有効に試してみたところ、必要なライブラリが削除され、ワークステーションが機能しなくなりました。幸運なことに、ホームパーティションを削除せずにFedoraを再インストールできました。
昨日、同じ問題が発生し、古いバージョンの重複を削除して修正しました。
たとえば、次のような複製を取得しました。oxygen-icon-theme-4.8.3-1.fc16.noarchは、oxygen-icon-theme-4.8.2-1.fc16.noarch sane-backends-libs-1.0の複製です。 22-10.fc16.i686はsane-backends-libs-1.0.22-8.fc16.i686と重複しています
私がやったのは、「yum remove sane-backends-libs-1.0.22-8.fc16.i686」を使用し、その後にyumアップデートを使用したことです。
すべてが正常に動作しています。
J