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


15

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

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

Answers:


23

是的,没有简单的方法可以执行此操作...但是您可以做一些事情:

rpm -Va

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

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

...虽然可以重做,但可以满足您的要求。


在安装失败时非常有用,就像我最近在受够了之后得到的一样。
2015年


-3

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

要么

rpm -qa | xargs yum reinstall

(取决于在awk或xargs机器上已经造成的损坏可能不起作用)


3
这将重新安装所有软件包,而不仅仅是单个软件包的依赖项。
Anthony Geoghegan 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.