web-dev-qa-db-ja.com

このrpmの競合を解決する正しい方法は何ですか? (エラー:p11-kit-trustはnss-3.13.3-6.el6.x86_64と競合します)

私がRHEL6マシンの1つを更新してからしばらく経っています(既知の脆弱性のある特定のパッケージの不定期の更新を除く)。

この結果、古いca-certificatesパッケージができました。

  • ca-certificates-2010.63-3.el6_1.5.noarch

新しいca-certificatesパッケージは

  • p11-kit-trust> = 0.18.4-2

次に競合する

  • nss <3.14.3-

現在インストールされています(nss-3.13.3-6.el6.x86_64として)。その結果、ca-certificatesを正しく更新する方法がわかりません。

p11-kitをインストールしましたが、nssがブロックしているため、p11-kit-trustはインストールしていません。 yum update nssは、「更新用にマークされたパッケージはありません」と言います。

yum erase nssは、yumも消去することを意味するため、拒否します。

yum updateからの完全な出力は次のようになります。

ロードされたプラグイン:product-id、rhnplugin、security、subscription-manager 
このシステムはRHN ClassicまたはRHN Satelliteからアップデートを受信して​​います。
アップデートプロセスのセットアップ
依存関係の解決
->トランザクションチェックの実行
 --->パッケージca-certificates.noarch 0:2010.63-3.el6_1.5が更新されます
 --->パッケージca-certificates.noarch 0:2014.1.98-65.1.el6が更新されます
->処理の依存関係:p11-kit-trust> = 0.18.4-2(パッケージ:ca-certificates-2014.1)。 98-65.1.el6.noarch 
->トランザクションチェックを実行しています
 --->パッケージp11-kit-trust.x86_64 0:0.18.5-2.el6_5.2がインストールされます[ 。 3-6.el6.x86_64 
 --skip-brokenを使用して問題を回避することができます
次のコマンドを実行してみてください:rpm -Va --nofiles --nodigest 

package-cleanup --problemsは問題を検出せず、package-cleanup --cleandupesは重複を検出しません。

opensslca-certificatesに依存しているため、アンインストールできません。

--dbonly--force--nodepsなどのオーバーライドパラメーターを使用せずに、古いRPMをネットから手動でダウンロードせずに、これを解決できる方法はありますか?

3
MattBianco

これらのパッケージをすべてダウンロードします(rpmfind.netからCentOS 6.6バージョンを取得しました)

 nss-3.16.1-14.el6.x86_64.rpm 
 nss-util-3.16.1-3.el6.x86_64.rpm 
 nss-softokn-3.14.3 -17.el6.x86_64.rpm 
 nss-softokn-freebl-3.14.3-17.el6.x86_64.rpm 
 nss-tools-3.16.1-14.el6.x86_64.rpm 
 nss-sysinit-3.16.1-14.el6.x86_64.rpm 

rpm -Uvh nss-*.rpmを使用して、すべてを一度にインストールします。

これは、yumが自分で解決する方法を理解できなかったp11-kit-trustの依存関係を満たしています。

その後、yum updateca-certificatesを更新してp11-kit-trustをインストールできます(依存関係用)。

3
MattBianco

試してください:

  1. rpm -e ca-certificates
  2. rpm -ivh nssNSS Bugfix and Enhancement update page からパッケージを読み取った後。アーキテクチャのパッケージ名をGoogleにコピーして、 RPS FindのNSSリスト に移動します。
  3. yum updateを続行します

これにより、すべての依存関係が再確認されます。すべて合格したら、新しいca-certificatesを再インストールします。ステップ3のyum updateは、RPM FindからダウンロードしたバージョンをRHELリポジトリの現在のバージョンで置き換える必要があるため、セキュリティアドバイザリよりも新しいバージョンをダウンロードするように誘惑されないでください。

[〜#〜]更新[〜#〜]
ここのほとんどの人は、CentOSがRedHat Enterprise Linuxの子であることを忘れています。これはRedHatの子であり、現在はFedoraです。これにより、CentOSはFedoraの孫となりました。それを念頭に置いて、私は quoute

Yumは、rpmシステム用の自動アップデーターおよびパッケージインストーラー/リムーバーです。依存関係を自動的に計算し、パッケージをインストールするために何が発生するかを把握します。これにより、rpmを使用して各マシンを手動で更新しなくても、マシンのグループを保守しやすくなります。 Yumには、簡単な機能を追加するためのプラグインインターフェースがあります。Yumは、他のpythonプログラムからも使用できます。 [r]顔。

そして、これからの要約 オンラインブック

要約すると、パッケージ管理システムはコンピュータを使用して、アプリケーションまたはオペレーティングシステム全体を構成するさまざまなすべての要素を追跡します。ほとんどのパッケージ管理システムは、特別にフォーマットされたファイルを使用して、すべてを1つの簡単に管理できるエンティティまたはパッケージにまとめます。さらに、パッケージ管理システムは、次の機能の1つ以上を提供する傾向があります。

  • 新しいパッケージをインストールします。
  • 古いパッケージを削除しています。
  • 古いパッケージから新しいパッケージへのアップグレード。
  • インストールされているパッケージに関する情報を取得します。

依存関係の解決については何も述べていないことに注意してください。言い換えると:

次のコマンドを発行すると、yumを削除できます:

rpm -e yum

しばらくの間、失うのは依存関係の解決だけです。その後、他のすべてのopensslパッケージを消去するか、rpmの--forceオプションを使用します。実際にrpmがOpenSSLに依存している場合、あなただけのパッケージは削除しないでください

1
eyoung100