web-dev-qa-db-ja.com

yumエラー-パッケージが重複しています

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バージョンチェックが問題があることを指摘しているだけであることを意味します。

32
Justin

私にとっては、パッケージをアップグレードする過程でコンピューターを再起動した(またはクラッシュした)ようです。したがって、新しいパッケージはインストールされますが、古いパッケージは削除されません。

最初に、yum-complete-transactionで未完了のトランザクションがあるかどうかを確認します

それでも解決しない場合は、yum-utilsパッケージの一部であるpackage-cleanupツールを見てください。

package-cleanup --dupes重複するパッケージをリストします

package-cleanup --cleandupes重複パッケージを削除します

ただし、コマンドに注意して、重複を削除する前にバックアップを作成してください。

46
user1403360

これが、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

注意すべき点:

  • この場合、「package-cleanup --dupes」出力を慎重に確認して、アンインストールリストを生成する方法を確認しました。
  • リストを反転する「新しいものを再インストールする」アプローチを試みました(awk 'NR%2 == 0')が、そのバージョンではもう利用できない多くのパッケージがあります(サーバーはこのように残されました)年)。
  • Rpmdbから新しいパッケージを削除することを考えたので、後でアップグレードしてすべてを再インストールする必要がありますが、ファイルシステムにインストールされたファイルを確認した後、新しいバージョンが存在し、古いrpmエントリのみがrpmdbに残っていることがわかりました。たぶんあなたのケースは異なります。
22

yum Shellを使用してすべての重複を削除できました。

  1. 最初にremove foo-package-*を使用してすべてのパッケージを削除するように注文しました
  2. 次に、正確なバージョンinstall foo-package-3.14.1-5.i386 foo-package-3.14.1-5.x86_64を指定して、以前のバージョンをインストールするように注文します
  3. runによるトランザクションのコミット

その後、重複はなくなり、問題なく、新しい重複を導入することなく、システムを現在のパッケージに更新できました。

これは、nssyumなどのシステムパッケージでも機能します。

9
Hubert Kario

yum restart package-newest-version

2
scriptracer

数か月前、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


from http://forums.fedoraforum.org/showthread.php?t=268328

0
micfan