Centos

辨識 Yum 中未使用的儲存庫

  • October 29, 2013

有沒有辦法在 Centos/RHEL 中辨識未使用的儲存庫?

我在 Centos 機器上安裝了很多儲存庫,但我不確定哪些是實際需要的,哪些不是。

有沒有一種很好的方法來生成使用已安裝包列表並確定哪些儲存庫仍在使用以及哪些未使用的報告?

如果您在CentOS 6上,以下命令應該會顯示您安裝的 RPM 來自哪個 repo:

rpm -qa | xargs yum info | grep '^From repo' | sort | uniq -c | sort -rn

如果您使用的是CentOS 5或更低版本,則沒有 100% 確定的方式來獲取您想要的資訊。您將不得不瀏覽目前安裝的 RPM,並嘗試將它們與您設置的各種儲存庫相關聯。有幾種方法可以將它們關聯起來:

  1. 一些 repo,如 repoforge/rpmforge 和 IUS,但在它們的 RPM 上加上後綴,你可以用類似的東西 greprpm -qa release='*rf*'
  2. 將打包程序、建構主機、簽名或供應商與各種儲存庫相關聯。例如,如果 buildhost 中有“fedoraproject.org”,它可能來自 EPEL 儲存庫。或者,如果供應商被列為“RPM Fusion”,那麼它可能來自 rpmfusion 儲存庫。如果每個 repo 實際使用這些欄位以及他們在其中放入的內容,它們的術語就會有所不同。

打包程序、建構主機和供應商理論上可以被欺騙,因此根據您的安全需求,您可能不想依賴它們,但有人惡意這樣做的可能性很低。簽名將是最安全的。

回購如下。您將查詢所有 rpm 並使用類似的內容對輸出進行排序rpm -qa --queryformat '%{vendor}\t%{name}\n' | sort

  • 包裝器 - %{包裝器}
  • BuildHost - %{buildhost}
  • 簽名 - %{RSAHEADER:pgpsig}
  • 供應商 - %{供應商}

CentOS wiki 上的這個條目可能會有所幫助。

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