web-dev-qa-db-ja.com

何ヶ月もアップグレードしないと、「yum update」が多くの重複で失敗するのはなぜですか?

何ヶ月も(> 6)ソフトウェアアップグレードを行わなかった後、実行しているEC2インスタンスにログインしました。

Linux version 2.6.32-358.23.2.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Sat Sep 14 05:32:37 EDT 2013

そして、通常のyum-updateを実行しようとしました:

# yum update

まあ、それはこれらのようなエラーで失敗しました:

--> Finished Dependency Resolution
Error: Package: coreutils-libs-8.4-19.el6_4.2.x86_64 (@rhui-us-east-1-rhel-server-releases)
           Requires: coreutils = 8.4-19.el6_4.2
           Removing: coreutils-8.4-19.el6_4.2.x86_64 (@rhui-us-east-1-rhel-server-releases)
               coreutils = 8.4-19.el6_4.2
           Updated By: coreutils-8.4-31.el6_5.1.x86_64 (rhui-REGION-rhel-server-releases)
               coreutils = 8.4-31.el6_5.1
           Available: coreutils-8.4-9.el6.x86_64 (rhui-REGION-rhel-server-releases)
               coreutils = 8.4-9.el6
           Available: coreutils-8.4-13.el6.x86_64 (rhui-REGION-rhel-server-releases)
               coreutils = 8.4-13.el6
           Available: coreutils-8.4-16.el6.x86_64 (rhui-REGION-rhel-server-releases)
               coreutils = 8.4-16.el6
           Available: coreutils-8.4-19.el6.x86_64 (rhui-REGION-rhel-server-releases)
               coreutils = 8.4-19.el6
           Available: coreutils-8.4-19.el6_4.1.x86_64 (rhui-REGION-rhel-server-releases)
               coreutils = 8.4-19.el6_4.1
           Available: coreutils-8.4-31.el6.x86_64 (rhui-REGION-rhel-server-releases)
               coreutils = 8.4-31.el6
Error: Package: abrt-addon-python-2.0.8-16.el6_4.1.x86_64 (@rhui-us-east-1-rhel-server-releases)
           Requires: abrt = 2.0.8-16.el6_4.1
           Removing: abrt-2.0.8-16.el6_4.1.x86_64 (@rhui-us-east-1-rhel-server-releases)
               abrt = 2.0.8-16.el6_4.1
           Updated By: abrt-2.0.8-21.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 2.0.8-21.el6
           Available: abrt-1.1.13-4.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 1.1.13-4.el6
           Available: abrt-1.1.16-3.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 1.1.16-3.el6
           Available: abrt-2.0.4-14.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 2.0.4-14.el6
           Available: abrt-2.0.8-6.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 2.0.8-6.el6
           Available: abrt-2.0.8-6.el6_3.2.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 2.0.8-6.el6_3.2
           Available: abrt-2.0.8-15.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 2.0.8-15.el6
Error: Package: abrt-addon-ccpp-2.0.8-16.el6_4.1.x86_64 (@rhui-us-east-1-rhel-server-releases)
           Requires: abrt = 2.0.8-16.el6_4.1
           Removing: abrt-2.0.8-16.el6_4.1.x86_64 (@rhui-us-east-1-rhel-server-releases)
               abrt = 2.0.8-16.el6_4.1
           Updated By: abrt-2.0.8-21.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 2.0.8-21.el6
           Available: abrt-1.1.13-4.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 1.1.13-4.el6
           Available: abrt-1.1.16-3.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 1.1.16-3.el6
           Available: abrt-2.0.4-14.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 2.0.4-14.el6
           Available: abrt-2.0.8-6.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 2.0.8-6.el6
           Available: abrt-2.0.8-6.el6_3.2.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 2.0.8-6.el6_3.2
           Available: abrt-2.0.8-15.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 2.0.8-15.el6
Error: Package: abrt-addon-kerneloops-2.0.8-16.el6_4.1.x86_64 (@rhui-us-east-1-rhel-server-releases)
           Requires: abrt = 2.0.8-16.el6_4.1
           Removing: abrt-2.0.8-16.el6_4.1.x86_64 (@rhui-us-east-1-rhel-server-releases)
               abrt = 2.0.8-16.el6_4.1
           Updated By: abrt-2.0.8-21.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 2.0.8-21.el6
           Available: abrt-1.1.13-4.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 1.1.13-4.el6
           Available: abrt-1.1.16-3.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 1.1.16-3.el6
           Available: abrt-2.0.4-14.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 2.0.4-14.el6
           Available: abrt-2.0.8-6.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 2.0.8-6.el6
           Available: abrt-2.0.8-6.el6_3.2.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 2.0.8-6.el6_3.2
           Available: abrt-2.0.8-15.el6.x86_64 (rhui-REGION-rhel-server-releases)
               abrt = 2.0.8-15.el6
Error: Package: glibc-devel-2.12-1.107.el6_4.5.x86_64 (@rhui-us-east-1-rhel-server-releases)
           Requires: glibc-headers = 2.12-1.107.el6_4.5
           Removing: glibc-headers-2.12-1.107.el6_4.5.x86_64 (@rhui-us-east-1-rhel-server-releases)
               glibc-headers = 2.12-1.107.el6_4.5
           Updated By: glibc-headers-2.12-1.132.el6.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.132.el6
           Available: glibc-headers-2.12-1.7.el6.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.7.el6
           Available: glibc-headers-2.12-1.7.el6_0.3.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.7.el6_0.3
           Available: glibc-headers-2.12-1.7.el6_0.4.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.7.el6_0.4
           Available: glibc-headers-2.12-1.7.el6_0.5.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.7.el6_0.5
           Available: glibc-headers-2.12-1.25.el6.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.25.el6
           Available: glibc-headers-2.12-1.25.el6_1.3.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.25.el6_1.3
           Available: glibc-headers-2.12-1.47.el6.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.47.el6
           Available: glibc-headers-2.12-1.47.el6_2.5.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.47.el6_2.5
           Available: glibc-headers-2.12-1.47.el6_2.9.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.47.el6_2.9
           Available: glibc-headers-2.12-1.47.el6_2.12.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.47.el6_2.12
           Available: glibc-headers-2.12-1.80.el6.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.80.el6
           Available: glibc-headers-2.12-1.80.el6_3.3.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.80.el6_3.3
           Available: glibc-headers-2.12-1.80.el6_3.4.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.80.el6_3.4
           Available: glibc-headers-2.12-1.80.el6_3.5.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.80.el6_3.5
           Available: glibc-headers-2.12-1.80.el6_3.6.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.80.el6_3.6
           Available: glibc-headers-2.12-1.80.el6_3.7.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.80.el6_3.7
           Available: glibc-headers-2.12-1.107.el6.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.107.el6
           Available: glibc-headers-2.12-1.107.el6_4.2.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.107.el6_4.2
           Available: glibc-headers-2.12-1.107.el6_4.4.x86_64 (rhui-REGION-rhel-server-releases)
               glibc-headers = 2.12-1.107.el6_4.4
 You could try using --skip-broken to work around the problem
** Found 143 pre-existing rpmdb problem(s), 'yum check' output follows:

いくつかの記事を読んだ後、私は問題を修正するためにいくつかのことを試みました:

  • ランyum clean all、次にyum update
  • ランrpmdb --rebuilddb、次にpackage-cleanup --dupes、次にpackage-cleanup --cleandupes
  • ランyum-complete-transactionなど.

いずれの場合も、同じ場所に行きました。ある記事は、glibcのパッケージが競合している可能性があることを示唆しています。いずれにしても、何が起こっているのかわかりません。 EC2を再インスタンス化する必要がありますか、それとも誰かが解決策を持っていますか?

ありがとう!

3
Kode Charlie

RHEL 6.4(Fedora 12+)環境でのyum-updatesの解決には時間がかかりましたが、最終的には成功しました。私がやったことと、もっと良かったことを共有したいと思います。

  1. パッケージの重複をすべて特定しました。おそらくpackage-clean --dupesも同じことをします。別の有用なコマンドはrpm -qa package-nameでした。これは、プレフィックスまたは一般的なパッケージ名で重複パッケージを識別しました。
  2. 次に、allバージョンのcoreutilscoreutils-libを削除しました。多かれ少なかれ、この一連のコマンドに従っています:(i)rpm -e --nodeps coreutils、(ii)rpm -e --nodeps coreutils-lib、(iii)updatedb、(iv)yum clean all。注:coreutilsを削除すると、他の多数のコマンドが動作しなくなるため、通常はお勧めできません。
  3. 次に、coreutilsおよびcoreutils-libの最新バージョンを再インストールしました:yum install coreutils coreutils-lib
  4. この時点で、私はまだ100個ほどの重複したパッケージを持っていました。残念ながら、私のEC2はマイクロインスタンスを実行しており、package-cleanup --cleandupesを数回実行すると、メモリ割り当ての問題とコアダンプが発生しました。したがって、前述のコマンドrpm -e --nodeps package-nameを使用して、重複する各パッケージを手動で削除する必要がありました。
  5. 重複するパッケージが削除されたら、(i)updatedb、(ii)yum clean all、(iii)yum updateを実行しました。

このすべての後、物事は今うまくいきます。

提案:「yum self-resolve」のようなコマンドがあると便利です。古くなった環境を最新の状態にするために、どのパッケージを消去するか、何を保持するかという推測のポリシーを実行します。そのようなコマンドが既に存在する場合は、お知らせください。

9
Kode Charlie

私にとってはSudo package-cleanup --cleandupes

8
Kamil Dziedzic

私のために働いたのは走っていました:

yum distro-sync
package-cleanup --cleandupes --skip-broken
yum update

物事を修正するように見えたキーは最初の行でした-yum distro-sync

1
daveywc

誰かが前進するのを助けるためにこれを捨てるだけです。 x-windowのクラッシュを解決するためにそこから何かが必要だったので、Fedora-updates-testingリポジトリを有効にしました。かなりの期間を経てアップグレードするまでに何十億もの複製が得られるまで、私は後でそれを無効にするのを忘れています。 Sudo vi /etc/yum.repos.d/Fedora-updates-testing.repoによってリポジトリを無効にし、enabled = 1をenabled = 0に変更すると、すべての重複が取り除かれ、アップグレードは正常に機能しました。

1
phorgan1

私もシステムを更新できませんでした(package-cleanupまたはyum clean allも役に立ちませんでした)。 2日後、私はできました。

ディストリビューションに非公式のリポジトリを追加していない場合は、ミラーの問題であるか、リポジトリ内のパッケージのアップデートが不完全または不完全である可能性があります(おそらくすぐに修正される予定です)。

0
Peque