在 Debian 中,至少有两种删除软件包的方法:
apt-get remove pkgname
apt-get purge pkgname
第一个保留系统范围的配置文件(即在“/ETC”),而第二个则没有。
Fedora 中的第二种形式相当于什么purge
?或者也许我应该问是否yum remove pkgname
确实保留了配置文件。
答案1
yum remove
不保证保留配置文件。
如中所述百胜餐饮指南:
无论如何,删除包的命令语法是:
# yum remove package1 [package2 package3...]
如上所述,它删除了 package1 以及依赖关系树中依赖于 package1 的所有包,就配置数据而言可能是不可逆的。
更新
正如 James 指出的那样,您可以使用该rpm -e
命令擦除软件包,但保存已更改的任何配置文件的备份副本。
有关更多信息,请参阅使用 RPM 擦除软件包。尤其:
它检查包的配置文件是否已被修改。如果是这样,它会保存它们的副本。
答案2
我在 ServerFault 上找到了一个重复问题的答案,标题为:yum 相当于“apt-get purge”它提供了我所见过的唯一可以apt-get purge <pkg>
在 Ubuntu/Debian 上执行操作的方法。
for package in package1 package2 package3
do
echo "removing config files for $package"
for file in $(rpm -q --configfiles $package)
do
echo " removing $file"
rm -f $file
done
rpm -e $package
done
我在这里可以想到的唯一其他方法是解析输出,yum remove <pkg>
然后手动删除可能已修改的任何文件。例如,当我最近安装 ElasticSearch 的 RPM 2.3 时,我修改了与此 RPM 关联的几个文件。当我使用 YUM 删除它时,您将在输出中收到如下消息:
warning: /etc/sysconfig/elasticsearch saved as /etc/sysconfig/elasticsearch.rpmsave
warning: /etc/elasticsearch/logging.yml saved as /etc/elasticsearch/logging.yml.rpmsave
warning: /etc/elasticsearch/elasticsearch.yml saved as /etc/elasticsearch/elasticsearch.yml.rpmsave
这些可以在删除后使用 YUM 脚本或手动删除。
参考
答案3
没有与“purge”等效的词,只需使用yum remove package
.
yum reinstall package
当您想重新安装某些软件包时,您也可以使用...
答案4
如果您想清理最近通过 RPM 系统删除的程序中的配置文件,您只需输入: yum clean all