Fedora相当于“ apt-get purge”?


45

在Debian中,至少有两种删除软件包的方法:

  • apt-get remove pkgname
  • apt-get purge pkgname

第一个保留系统范围的配置文件(即在“ / etc ”中找到的文件),而第二个则不保留。

Fedora与第二种形式等效purge吗?或者,也许我宁愿问一下是否yum remove pkgname实际上保留了配置文件。

Answers:


27

yum remove 不保证保留配置文件。

yum HOWTO中所述

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

# yum remove package1 [package2 package3...]

如上所述,它删除了package1以及依赖树中依赖于package1的所有包,就配置数据而言这可能是不可逆的

更新资料

正如James指出的那样,您可以使用该rpm -e命令擦除软件包,但保存已更改的任何配置文件的备份副本。

有关更多信息,请参见使用RPM擦除软件包。尤其是:

它检查以查看软件包的任何配置文件是否已被修改。如果是这样,它将保存它们的副本。


4
这不是真的,“ rpm -e”将删除配置文件(如果未更改)。如果已更改,则将它们移至<filename> .rpmsave而不是将其删除。
詹姆斯·安提尔

9

我在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>,然后手动删除可能已修改的任何文件。例如,当我最近为2.3安装ElasticSearch的RPM时,我修改了与此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脚本或手工删除。

参考


这可能是一个有趣的dnf插件
。...– mattdm

@mattdm-这个问题有时会出现,如果我们可以在“ RPM”世界中做到这一点,那就太好了。
slm

1

没有与“清除”等效的功能,只能使用yum remove package

yum reinstall package当您想重新安装某些软件包时,也可以使用。


1
实际上,正如贾斯汀·埃斯蒂尔(Justin Ethier)的回答所解释yum remove它等效于apt-get purge
吉尔斯(Gilles)'所以

6
@Gilles Justin Ethier说yum remove不保证保留配置文件”。这与保证不保留配置文件是不同的(这意味着它等同于apt-get purge)。您是否在提出(更多)更强有力的主张?
伊莱亚·卡根

@EliahKagan这就是我理解Justin引用的yum howto的方式。我不确定是否正确,CentOS似乎在说相反的话。
吉尔(Gilles)'所以

1
我认为这是未定义的行为。Yum可以保留也可以不保留配置文件。
m0j0

-2

如果要从最近通过RPM系统删除的程序中清除配置文件,则只需输入:yum clean all


2
这是不正确的。“ yum clean all”仅清除yum使用的缓存的元数据,镜像列表等。它对配置文件不起作用。
m0j0
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.