혼란과 조바심의 순간에 운영체제가 심각하게 손상되었습니다. 여기 거래가 있습니다 ...
체계: 센트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 업데이트"가 실패하는 이유는 무엇입니까?)
냠 오류 메시지: 를 실행했을 때 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 명령으로 한 번 시도했지만 아무 성과도 얻지 못했습니다.