私がRHEL6マシンの1つを更新してからしばらく経っています(既知の脆弱性のある特定のパッケージの不定期の更新を除く)。
この結果、古いca-certificates
パッケージができました。
新しいca-certificates
パッケージは
次に競合する
現在インストールされています(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
は重複を検出しません。
openssl
はca-certificates
に依存しているため、アンインストールできません。
--dbonly
、--force
、--nodeps
などのオーバーライドパラメーターを使用せずに、古いRPMをネットから手動でダウンロードせずに、これを解決できる方法はありますか?
これらのパッケージをすべてダウンロードします(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 update
はca-certificates
を更新してp11-kit-trust
をインストールできます(依存関係用)。
試してください:
rpm -e ca-certificates
rpm -ivh nss
NSS Bugfix and Enhancement update page からパッケージを読み取った後。アーキテクチャのパッケージ名をGoogleにコピーして、 RPS FindのNSSリスト に移動します。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に依存している場合、あなただけのパッケージは削除しないでください。