Yum

刪除未使用的包

  • December 29, 2019

我在我的 Fedora 17 上安裝了一些 rpm 包。一些包有很多依賴項。我已經刪除了一些軟體包,但我忘記了使用 yum remove 刪除未使用的依賴項。

我現在該怎麼做?

如果你安裝一個帶有 的包yum install,比如說pdftk,它會引入很多依賴:

Installed:
 pdftk.x86_64 0:1.44-10.fc18

Dependency Installed:
 bouncycastle.noarch 0:1.46-6.fc18     
 itext-core.noarch 0:2.1.7-14.fc18     
 libgcj.x86_64 0:4.7.2-8.fc18          
 bouncycastle-mail.noarch 0:1.46-6.fc18
 java-1.5.0-gcj.x86_64 0:1.5.0.0-40.fc18
 sinjdoc.x86_64 0:0.5-13.fc18
 bouncycastle-tsp.noarch 0:1.46-5.fc18
 java_cup.noarch 1:0.11a-10.fc18
 itext.x86_64 0:2.1.7-14.fc18   
 javamail.noarch 0:1.4.3-12.fc18

Complete!

yum remove pdftk將僅刪除該包而不是所有依賴項。

但是您可以查看所有“事務”(安裝、刪除等):

$ sudo yum history list pdftk
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------  
   88 | install pdftk            | 2012-12-14 13:35 | Install        |   11   

然後您可以撤消該事務:

$ sudo yum history undo 88
Undoing transaction 88, from Fri Dec 14 13:35:34 2012
   Dep-Install bouncycastle-1.46-6.fc18.noarch       @fedora
   Dep-Install bouncycastle-mail-1.46-6.fc18.noarch  @fedora
   Dep-Install bouncycastle-tsp-1.46-5.fc18.noarch   @fedora
   Dep-Install itext-2.1.7-14.fc18.x86_64            @fedora
   Dep-Install itext-core-2.1.7-14.fc18.noarch       @fedora
   Dep-Install java-1.5.0-gcj-1.5.0.0-40.fc18.x86_64 @fedora
   Dep-Install java_cup-1:0.11a-10.fc18.noarch       @fedora
   Dep-Install javamail-1.4.3-12.fc18.noarch         @fedora
   Dep-Install libgcj-4.7.2-8.fc18.x86_64            @fedora
   Install     pdftk-1.44-10.fc18.x86_64             @fedora
   Dep-Install sinjdoc-0.5-13.fc18.x86_64            @fedora
   ...
   Complete!

從 Fedora 18 開始,你可以簡單地使用這個命令

yum autoremove

要麼

yum remove --setopt=clean_requirements_on_remove=1

您還可以對特定包應用 autoremove 命令

yum autoremove <package>

這將從已安裝的軟體包中刪除不需要的依賴項。autoremove非常多的別名,remove --setopt=clean_requirements_on_remove=1但由於某些原因,仍然沒有記錄。

引用自:https://unix.stackexchange.com/questions/40179