如何使用yum(或rpm)完全卸载软件包(包括其附带的所有其他文件)?


18

当我这样做时yum remove,有时会保留软件包的配置文件。

无论如何,有没有在不保留属于该软件包的任何文件的情况下完全删除该软件包的信息?

我正在运行CentOS。


您能否提供一个示例,将yum删除后剩下的配置文件?
ZaSter

1
〜/ .mozilla由firefox离开,例如
Howard

2
〜/ .mozilla仅在运行firefox程序时创建。它不是由firefox包创建的。运行命令rpm -qf ~/.mozilla,它将报告该文件不属于任何软件包。
ZaSter

@ZaSter:当我删除quagga软件包时,它会将所有配置文件保存在/ etc / quagga中(如zebra.conf,ospfd.conf,bgpd.conf之类的文件),这些文件应该与软件包本身一起被删除。如果是设计使它们保留下来,请提供一个命令,该命令还将删除配置文件。
TusharG 2015年

@TusharG是的。对于包含声明的配置文件的RPM软件包,请yum remove不要删除这些文件。
ZaSter

Answers:


14

检查如何操作中Deleting packages with yum部分

那里说:

无论如何,用于删除软件包的命令语法为:

   # yum remove package1 [package2 package3...]

如上所述,就配置数据而言,它可能不可逆地删除了package1和依赖树中所有依赖于package1的软件包。

作为一种快速的方法,您可以尝试:

yum remove package
yum install package

另外这里是一个有趣的for。这个问题可以帮助您。

将配置保留在备份中的是 rpm -e

您可以使用以下命令找出rpm中的值:

 rpm -ql packagename

要么

rpm -qlp packagename if the package is not yet installed.

然后,您可以手动进行所需的修改。

希望这可以帮助!


2
我想可能无法删除软件包附带的所有文件...但是您的建议仍然很有帮助。
霍华德

在RHEL7上不起作用。/etc/sysconfig/<package>文件仍然在那里。
erikbwork

1
rpm -e xxx.rpm && rpm -ivh --replacefiles xxx.rpm

实际上,这将替换“擦除”之后保留的旧配置。必须使用yum和dnf来完成此操作

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.