yumで「冗長」問題を解決するには?

yumで「冗長」問題を解決するには?

混乱とジョバシムの瞬間に、オペレーティングシステムが深刻に損傷しました。ここに取引があります...

システム:セントOS 7

質問:SAMBAなどのデフォルトパッケージは機能しません。yumは何もしません。

どうやって始めましたか:インストールしkmod-xpadましたが、カーネルを更新する必要があります。この新しいカーネルは機能しませんでしたが、ブートローダの以前のカーネルから起動できました。 yum経由で日常的なパッケージアップデートを行います。後で削除しようとしましたがkmod-xpad失敗しました。これで、アップデートをインストールするために再起動する必要があるというメッセージがシステムに永久に表示されます。悪いことに、Sambaを介してネットワークドライブをマウントすることはできません。次のエラーメッセージが表示されます。

/sbin/mount.cifs: /usr/lib64/samba/libreplace.so: version SAMBA_4.1.1' not found (required by /lib64/libwbclient.so.0)
/sbin/mount.cifs: /usr/lib64/samba/libwinbind-client.so: version `SAMBA_4.1.1' not found (required by /lib64/libwbclient.so.0)

SAMBAを修理しようとしている間、yumは完全に混乱し、完了していないトランザクションがあることがわかりました。解決策を見つけましたが、運がありませんでした(例:何ヶ月もアップグレードしないと重複が多く、「yum update」が失敗するのはなぜですか?)

ヤムエラーメッセージ: を実行すると、yum clean all依存yum update関係解決エラーが発生し、デフォルトでは、374の既存のrpmdb問題が重複パッケージの束であると聞きました。以下はスニペットです。

--> Finished Dependency Resolution
Error: Package: avahi-libs-0.6.31-13.el7.x86_64 (@anaconda)
           Requires: avahi = 0.6.31-13.el7
           Removing: avahi-0.6.31-13.el7.x86_64 (@anaconda)
               avahi = 0.6.31-13.el7
           Updated By: avahi-0.6.31-14.el7.x86_64 (base)
               avahi = 0.6.31-14.el7
Error: avahi-libs conflicts with avahi-0.6.31-14.el7.x86_64
Error: avahi-autoipd conflicts with avahi-0.6.31-14.el7.x86_64

...
You could try using --skip-broken to work around the problem
 ** Found 374 pre-existing rpmdb problem(s), 'yum check' output follows:
 1:NetworkManager-1.0.0-14.git20150121.b4ea599c.el7.x86_64 is a duplicate with 1:NetworkManager-0.9.9.1-29.git20140326.4dba720.el7_0.x86_64

...
avahi-libs-0.6.31-14.el7.x86_64 is a duplicate with avahi-libs-0.6.31-13.el7.x86_64
avahi-ui-gtk3-0.6.31-14.el7.x86_64 has installed conflicts avahi < ('0', '0.6.31', '14.el7'): avahi-0.6.31-13.el7.x86_64
avahi-ui-gtk3-0.6.31-14.el7.x86_64 is a duplicate with avahi-ui-gtk3-0.6.31-13.el7.x86_64
bash-4.2.46-12.el7.x86_64 is a duplicate with bash-4.2.45-5.el7_0.4.x86_64
...

ヤムログ 私のyum.logの主なイベントは次のとおりです。

Apr 24 11:34:08 Updated: linux-firmware-20140911-0.1.git365e80c.el7.noarch
Apr 24 11:34:13 Installed: kernel-3.10.0-229.1.2.el7.x86_64
Apr 24 11:34:14 Installed: kmod-xpad-0.0.6-3.el7.elrepo.x86_64
May 08 13:38:28 Updated: libgcc-4.8.3-9.el7.x86_64
May 08 13:38:28 Updated: centos-release-7-1.1503.el7.centos.2.8.x86_64
May 08 13:38:28 Updated: python-urlgrabber-3.10-6.el7.noarch
May 08 13:38:28 Updated: 1:control-center-filesystem-3.8.6-18.el7.x86_64
May 08 13:38:28 Updated: hyperv-daemons-license-0-0.25.20141008git.el7.noarch

... (a bunch of packages)...

May 08 13:40:31 Updated: xorg-x11-server-common-1.15.0-33.el7_1.x86_64
May 08 13:40:31 Updated: xorg-x11-server-Xorg-1.15.0-33.el7_1.x86_64
May 08 14:02:03 Erased: kmod-xpad-0.0.6-3.el7.elrepo.x86_64

これは良い解決策ですか? ここで、以下の提案されているように重複エントリを削除しようとしています。CentOSフォーラム:

rpm -e --justdb <package-version>

これは退屈に聞こえ、これが実際に私の問題を解決するとは確信していません。この場合、再インストールする必要がありますか?

すべての提案は真剣に考慮されます。

答え1

部分的な解決策が見つかりました。yum update --skip-brokenたとえば、基本機能を復元できますmount。しかし、yumには依然として依存関係の解決と重複の問題があります。今回はなぜ「--skip-broken」が機能したのかわかりません。以前は同様のyumコマンドで一度試してみましたが、何も得られませんでした。

関連情報