在centos 7中删除软件包时如何删除所有已安装的从属软件包?


8

我正在使用CentOS7。我使用以下命令安装了okular(这是PDF查看器):

sudo yum install okular

如下图所示,它安装了37个相关的软件包以安装okular。

安装的依赖项

但是我对应用程序的功能不满意,因此决定将其删除。问题是,如果我使用命令将其删除:

sudo yum autoremove okular

它仅删除四个从属软件包。

使用自动删除删除软件包

如果我使用命令将其删除:

sudo yum remove okular

它仅删除一个软件包okular.x86_64。

现在,我的问题是,有没有一种方法可以通过命令删除所有37个已安装的软件包,还是必须一个一个地删除所有软件包?

Answers:


18

就我个人而言,我不喜欢yum插件,因为它们在很多时候都无法正常工作。

您可以使用该yum history命令查看您的百胜历史。

[root@testbox ~]# yum history
Loaded plugins: product-id, rhnplugin, search-disabled-repos, subscription-manager, verify, versionlock
ID     | Login user               | Date and time    | Action(s)      | Altered
----------------------------------------------------------------------------------
19 | Jason <jason>  | 2016-06-28 09:16 | Install        |   10

您可以通过执行以下操作找到有关交易的信息yum history info <transaction id>。所以:

yum history info 19会告诉您随事务19安装的所有软件包以及用于安装软件包的命令行。如果要撤消事务19,则可以运行yum history undo 19

或者,如果您只是想撤消上一次所做的交易(您安装了软件包并且不喜欢它),则可以执行 yum history undo last


首先,感谢您的出色回答。其次,当我这样做时sudo yum history,它仅显示ID为30到49的动作。是否可以查看所有动作历史记录(包括ID为1-29的动作)?
ukll

1
别客气!是的,有一种方法可以显示您的所有历史记录。做吧yum history list all
杰森·鲍威尔

8

yum remove package_name 将仅删除该软件包及其所有依赖项。

yum autoremove 将删除未使用的依赖项

要删除具有相关性的软件包,您需要安装yum名为的插件:remove-with-leaves

要安装它,请输入:

yum install yum-plugin-remove-with-leaves

删除package_name类型:

yum remove package_name --remove-leaves

我尝试了您的答案,但这没有用。
ukll
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.