当我运行 yum check(或通常尝试使用 yum 更新我的系统)时,我得到以下信息:
# yum check
Loaded plugins: langpacks, presto, priorities, refresh-packagekit
krb5-devel-1.10.2-12.fc17.x86_64 has missing requires of keyutils-libs-devel
krb5-devel-1.10.2-12.fc17.x86_64 has missing requires of libselinux-devel
libdb-5.3.21-3.fc18.x86_64 is a duplicate with libdb-5.2.36-5.fc17.x86_64
1:openssl-1.0.0k-1.fc17.x86_64 is obsoleted by 1:openssl-libs-1.0.1c-7.fc18.x86_64
1:openssl-1.0.1c-7.fc18.x86_64 is a duplicate with 1:openssl-1.0.0k-1.fc17.x86_64
rpm-4.10.1-3.fc18.x86_64 is a duplicate with rpm-4.9.1.3-8.fc17.x86_64
rpm-build-libs-4.10.1-3.fc18.x86_64 is a duplicate with rpm-build-libs-4.9.1.3-8.fc17.x86_64
rpm-libs-4.10.1-3.fc18.x86_64 is a duplicate with rpm-libs-4.9.1.3-8.fc17.x86_64
rpm-python-4.10.1-3.fc18.x86_64 is a duplicate with rpm-python-4.9.1.3-8.fc17.x86_64
sqlite-3.7.11-3.fc17.x86_64 is a duplicate with sqlite-3.7.11-2.fc17.x86_64
Error: check all
特别是对于重复项,如果我尝试卸载它们,则会卸载一堆其他包(对于“与”重复的两侧的每个包)。我该如何解决这个问题?
至于缺少的要求,我认为我可以安装缺少的要求。
更新:我能够解决其中一些错误:
- sqlite 重复项已通过以下方式解决
# yum reinstall sqlite-3.7.11-3.fc17.x86_64
- 只需使用 yum 安装即可解决缺少的需求。
尝试通过重新安装解决 openssl 问题没有成功:
# yum reinstall openssl Loaded plugins: langpacks, presto, priorities, refresh-packagekit Setting up Reinstall Process Resolving Dependencies --> Running transaction check ---> Package openssl.x86_64 1:1.0.0k-1.fc17 will be reinstalled --> Finished Dependency Resolution Error: Multilib version problems found. This often means that the root cause is something else and multilib version checking is just pointing out that there is a problem. Eg.: 1. You have an upgrade for openssl which is missing some dependency that another package requires. Yum is trying to solve this by installing an older version of openssl of the different architecture. If you exclude the bad architecture yum will tell you what the root cause is (which package requires what). You can try redoing the upgrade with --exclude openssl.otherarch ... this should give you an error message showing the root cause of the problem. 2. You have multiple architectures of openssl installed, but yum can only see an upgrade for one of those arcitectures. If you don't want/need both architectures anymore then you can remove the one with the missing update and everything will work. 3. You have duplicate versions of openssl installed already. You can use "yum check" to get yum show these errors. ...you can also use --setopt=protected_multilib=false to remove this checking, however this is almost never the correct thing to do as something else is very likely to go wrong (often causing much more problems). Protected multilib versions: 1:openssl-1.0.0k-1.fc17.x86_64 != 1:openssl-1.0.1c-7.fc18.x86_64
更新:这是rpm -qa --dupes
发出的内容:
# rpm -qa --dupes
gpg-pubkey.(none)
kernel-devel.x86_64
kernel.x86_64
libdb.x86_64
openssl.x86_64
rpm-build-libs.x86_64
rpm-libs.x86_64
rpm-python.x86_64
rpm.x86_64
更多更新:
# rpm -q --qf '%{name}-%{version}-%{release}.%{arch}\n' libdb openssl rpm{,-{libs,python,build-libs}}
libdb-5.2.36-5.fc17.x86_64
libdb-5.3.21-3.fc18.x86_64
openssl-1.0.1c-7.fc18.x86_64
openssl-1.0.0k-1.fc17.x86_64
rpm-4.9.1.3-8.fc17.x86_64
rpm-4.10.1-3.fc18.x86_64
rpm-libs-4.9.1.3-8.fc17.x86_64
rpm-libs-4.10.1-3.fc18.x86_64
rpm-python-4.10.1-3.fc18.x86_64
rpm-python-4.9.1.3-8.fc17.x86_64
rpm-build-libs-4.10.1-3.fc18.x86_64
rpm-build-libs-4.9.1.3-8.fc17.x86_64