所以我有一个软件包,我很确定我在删除某些东西时删除了它的一个依赖项的一部分(如 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 可能无法工作)