由于 yum 更新中止,我陷入了重复的包依赖关系。我正在尝试使用命令“rpm -e --justdb $包“删除其中一个重复项,但两个包都有依赖项(见下文)。我可以看到一个解决方案,删除所有依赖项并重新安装它们,但这可能会成为一个兔子洞。或者更糟糕的是,我可能会破坏通过删除一个我不应该删除的包来删除一些东西。
我还尝试将(yum 和 rpm)升级到软件包的最新版本,希望依赖项能够迁移到新版本,但我只是收到“依赖项失败”错误。
# Two different versions of systemd-libs are installed
$ sudo rpm -e --justdb --test systemd-libs-219-19.el7_2.13.x86_64
error: Failed dependencies:
libsystemd.so.0()(64bit) is needed by (installed) cups-1:1.6.3-22.el7.x86_64
libsystemd.so.0(LIBSYSTEMD_209)(64bit) is needed by (installed) cups-1:1.6.3-22.el7.x86_64
systemd-libs = 219-19.el7_2.13 is needed by (installed) libgudev1-219-19.el7_2.13.x86_64
$ sudo rpm -e --justdb --test systemd-libs-208-20.el7_1.6.x86_64
error: Failed dependencies:
systemd-libs = 208-20.el7_1.6 is needed by (installed) systemd-208-20.el7_1.6.x86_64
有可能解决这个问题还是我被搞砸了?
答案1
你有几个选择。
# yum-complete-transaction
或者,如果该命令返回没有未完成的事务......
# package-cleanup --cleandupes
然后重新运行yum update
。
答案2
你应该完成那笔百胜交易。跑步:
# yum-complete-transaction
答案3
您可以在 rpm 命令行上添加 --nodeps 选项,该选项禁用依赖性测试,从而允许您完成特定 rpm 包的擦除。