我为 el7 安装了错误的 rpmforge 版本。然后我运行了更新,在我的系统上安装了这个包
python-crypto-2.6.1-1.el7.rf.x86_64
注意 el7,但我使用的是 rhel6。然后我意识到并删除了错误的存储库,并为 el6 安装了正确的存储库。
$ rpm -qa | grep rpmfor
rpmforge-release-0.5.2-2.el6.rf.x86_64
但是上述过程破坏了更新过程,我知道我可以使用--skip-broken
选项解决这个问题。如何降级上述软件包。我尝试卸载并重新安装它,但出现此错误:
Error: Trying to remove "c4ebpl", which is protected
它显示一些受保护的包无法删除。使用更新过程sudo yum update
出现此错误:
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: libgmp.so.10()(64bit)
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: python(abi) = 2.7
Installed: python-2.6.6-52.el6.x86_64 (@el66/$releasever)
python(abi) = 2.6
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: libpython2.7.so.1.0()(64bit)
You could try using --skip-broken to work around the problem
有人知道如何降级到原始软件包吗?有没有办法恢复出厂设置?还是我需要重新安装 Linux?
我尝试了一些方法:我python-crypto.x86_64
使用此命令删除了包
sudo rpm --nodeps -e python-crypto.x86_64
更新成功了。所以我认为我python-crypto.x86_64
现在应该安装该软件包,因为我有正确的 el6 rpmforge 存储库。所以我运行了这个命令,sudo yum install python-crypto.x86_64
但得到了同样的错误:
Resolving Dependencies
--> Running transaction check
---> Package python-crypto.x86_64 0:2.6.1-1.el7.rf will be installed
--> Processing Dependency: python(abi) = 2.7 for package: python-crypto-2.6.1-1.el7.rf.x86_64
--> Processing Dependency: libc.so.6(GLIBC_2.14)(64bit) for package: python-crypto-2.6.1-1.el7.rf.x86_64
--> Processing Dependency: libpython2.7.so.1.0()(64bit) for package: python-crypto-2.6.1-1.el7.rf.x86_64
--> Processing Dependency: libgmp.so.10()(64bit) for package: python-crypto-2.6.1-1.el7.rf.x86_64
--> Finished Dependency Resolution
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: libgmp.so.10()(64bit)
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: python(abi) = 2.7
Installed: python-2.6.6-52.el6.x86_64 (@el66/$releasever)
python(abi) = 2.6
Error: Package: python-crypto-2.6.1-1.el7.rf.x86_64 (rpmforge)
Requires: libpython2.7.so.1.0()(64bit)
You could try using --skip-broken to work around the problem
我不知道它为什么尝试查找 el7 包?我的机器中有这些库。
$ rpm -qa | grep rpmfor
rpmforge-release-0.5.3-1.el7.rf.x86_64
答案1
首先你需要安装正确的rpmforge-release
软件包。下载它并用rpm -U --oldpackage
它来覆盖错误的软件包。
其次,您需要清理缓存的 yum 元数据。使用它yum clean all
来清除所有内容。
第三,使用yum distro-sync
降级任何为错误发行版安装的软件包。(请注意,这也会升级任何过期的软件包。)