如何使用 yum 重新安装给定包的所有依赖项?

如何使用 yum 重新安装给定包的所有依赖项?

所以我有一个软件包,我很确定我在删除某些东西时删除了它的一个依赖项的一部分(如 rm)。说来话长。基本上,我想要做的是让 yum 重新安装该软件包及其所有依赖项,以便它重新安装我删除的文件。在 gentoo 世界中,您只需像这样执行“emerge -e”即可。看来 yum 应该能够做类似的事情。

我想我可以拼凑一个脚本来列出依赖项,然后解析它们并重新安装它们全部。

答案1

是的,没有简单的方法可以做到这一点...但是你可以做一些事情:

rpm -Va

...这将检查您已安装的所有软件包,然后您可以重新安装任何未经验证的软件包。另外:

yum reinstall $(repoquery --requires --recursive --resolve <pkg>)

...尽管它是一把大锤子,但它可以满足您的要求。

答案2

如果你使用 Fedora,使用起来dnf非常简单。只需使用该dnf history rollback功能即可。

http://dnf.readthedocs.io/en/latest/command_ref.html#history-command

答案3

yum reinstall $(yum list installed | awk '{print $1}')

或者

rpm -qa | xargs yum reinstall

(根据机器上已经造成的损坏,awk 或 xargs 可能无法工作)

相关内容