有没有办法修复损坏的“百胜”? 这是我不小心按下ctrl + c,而在亚马逊Linux EC2实例上做sudo yum更新
$ sudo yum update Loaded plugins: priorities, update-motd, upgrade-helper 2216 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package glibc.i686 0:2.17-36.80.amzn1 will be updated --> Processing Dependency: glibc = 2.17-36.80.amzn1 for package: glibc-common-2.17-36.80.amzn1.x86_64 ---> Package glibc.x86_64 0:2.17-36.80.amzn1 will be updated --> Processing Dependency: glibc = 2.17-36.80.amzn1 for package: glibc-common-2.17-36.80.amzn1.x86_64 ---> Package glibc.i686 0:2.17-36.81.amzn1 will be an update ---> Package glibc.x86_64 0:2.17-36.81.amzn1 will be an update ---> Package glibc-devel.x86_64 0:2.17-36.80.amzn1 will be updated ---> Package glibc-devel.x86_64 0:2.17-36.81.amzn1 will be an update ---> Package glibc-headers.x86_64 0:2.17-36.80.amzn1 will be updated ---> Package glibc-headers.x86_64 0:2.17-36.81.amzn1 will be an update ---> Package nss-softokn-freebl.i686 0:3.14.3-9.15.amzn1 will be updated ---> Package nss-softokn-freebl.i686 0:3.16.0-1.19.amzn1 will be an update ---> Package perl-ExtUtils-Install.noarch 0:1.58-280.34.amzn1 will be updated ---> Package perl-ExtUtils-Install.noarch 0:1.58-280.36.amzn1 will be an update --> Finished Dependency Resolution Error: Package: glibc-common-2.17-36.80.amzn1.x86_64 (@amzn-main) Requires: glibc = 2.17-36.80.amzn1 Removing: glibc-2.17-36.80.amzn1.i686 (@amzn-main) glibc = 2.17-36.80.amzn1 Updated By: glibc-2.17-36.81.amzn1.i686 (amzn-updates) glibc = 2.17-36.81.amzn1 You could try using --skip-broken to work around the problem ** Found 4 pre-existing rpmdb problem(s), 'yum check' output follows: glibc-common-2.17-36.81.amzn1.x86_64 is a duplicate with glibc-common-2.17-36.80.amzn1.x86_64 glibc-common-2.17-36.81.amzn1.x86_64 has missing requires of glibc = ('0', '2.17', '36.81.amzn1') nss-softokn-freebl-3.16.0-1.19.amzn1.x86_64 is a duplicate with nss-softokn-freebl-3.14.3-9.15.amzn1.x86_64 2:vim-filesystem-7.4.027-2.28.amzn1.x86_64 is a duplicate with 2:vim-filesystem-7.4.027-2.27.amzn1.x86_64
你有重复的包,也可能是其他的腐败。 试试这些命令:
package-cleanup --cleandupes # Removes duplicate packages rpm --rebuilddb # Rebuilds RPM database yum reinstall glibc nss-softokn-freebl vim-filesystem
当这个工作,看看如果百胜快乐:
yum check dependencies
如果它抱怨依赖关系,请先安装它们。
请尝试
sudo yum clean all sudo yum update
nano /etc/yum.conf
寻找releasever = latest
如果有评论(#),请将其删除。
然后重试上面的Janne Pikkarainen的答案。
我放弃了一个正在开发glibc的yum更新之后,在同一条船上。 丹尼斯·卡斯马克(Dennis Kaarsemaker)指出我的方向正确。
OP没有标记任何答案被接受。 只是为了确定哪些部分在我的情况下工作:
包清理 – cleandupes将不符合和抱怨被保护的包。
rpm –rebuilddb没有给出任何输出,所以不知道它是否贡献。
在我的情况下,yum重新安装glibc做了窍门,它完成了glibc的更新,以及glibc-common被挂起的更新。
之后,我再次运行了package-cleanup –cleandupes,并删除了一些旧版本的软件包,主要是glibc和cantos版本,这些版本也被挂在yum update中。