如何使用 Yum 删除具有依赖关系的包
通常,使用 YUM 包管理系统删除包会删除该包及其依赖项。但是,系统上的某些依赖项不会被删除,这些依赖项我们可以称为“未使用的依赖项”或(根据 YUM man 所谓的“叶包”)页)。
另请阅读:使用 Yum 锁定软件包安装或更新的 4 种方法
在本文中,我们将解释在 CentOS 和 RHEL 发行版中使用 YUM 包管理器删除或卸载包及其依赖项的两种方法。
1. 使用 YUM 的自动删除选项
此方法要求您在 YUM 的主配置文件 /etc/yum.conf 中添加指令 clean_requirements_on_remove。您可以使用您最喜欢的命令行编辑器打开它进行编辑,如图所示。
vim /etc/yum.conf
然后将以下行添加到 /etc/yum.conf 文件中,如下面的输出所示。值 1 表示该指令已启用(或打开),零表示否则。
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
clean_requirements_on_remove=1
保存更改并退出文件。
从现在开始,每次删除软件包时,YUM 都会检查每个软件包的依赖关系,如果任何其他软件包不再需要它们,则将其删除。
yum autoremove
2:使用 yum-plugin-remove-with-leaves 插件
此扩展会删除安装包添加的任何未使用的依赖项,但不会自动删除。它还可以帮助您清除系统中未使用的库和包。
首先使用以下 yum 命令在您的系统上安装此扩展。
yum install yum-plugin-remove-with-leaves
安装扩展后,每次要删除软件包时,请添加 --remove-leaves
标志。
yum remove policycoreutils-gui --remove-leaves
有关更多信息,请查看 YUM 的手册页:
man yum
就这样!在这篇简短的文章中,我们展示了两种使用 YUM 删除包以及未使用的依赖项的有用方法。如果您有任何疑问,请使用下面的评论表与我们联系。