如何在删除centos 7中的包的同时删除所有已安装的依赖包?

ukl*_*kll 12 yum terminal centos dependencies uninstall

我使用的是 CentOS 7。我安装了 okular,它是一个 PDF 查看器,命令如下:

sudo yum install okular
Run Code Online (Sandbox Code Playgroud)

如下图所示,它安装了 37 个依赖包来安装 okular。

已安装的依赖项

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

sudo yum autoremove okular
Run Code Online (Sandbox Code Playgroud)

它只删除四个依赖包。

使用 autoremove 删除软件包

如果我用命令删除它:

sudo yum remove okular
Run Code Online (Sandbox Code Playgroud)

它只删除了一个包,即 okular.x86_64。

现在,我的问题是有没有办法使用命令删除所有 37 个已安装的软件包,还是必须一个一个删除所有软件包?

小智 24

就我个人而言,我不喜欢 yum 插件,因为根据我的经验,它们在很多时候都不起作用。

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

[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
Run Code Online (Sandbox Code Playgroud)

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

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

或者,如果您只想撤消您所做的最后一笔交易(您安装了一个软件包但不喜欢它),您可以这样做 yum history undo last


GAD*_*D3R 10

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

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

要删除具有其依赖项的包,您需要安装yum名为的插件:remove-with-leaves

要安装它,请键入:

yum install yum-plugin-remove-with-leaves
Run Code Online (Sandbox Code Playgroud)

删除package_name类型:

yum remove package_name --remove-leaves
Run Code Online (Sandbox Code Playgroud)