Dnf

DNF。如何找到屬於哪個組包?

  • May 7, 2021

我正在使用 Fedora 22 和 dnf-1.1.2-4.fc22.noarch

作為一個案例場景:我發現沒有安裝 strace 包。我想弄清楚這個包是否屬於任何其他組,以安裝我可能也需要用於類似任務的軟體。

我發現了這種蠻力的方式(因為組名以這個縮進開頭,所以 grepping 3 個空格):

dnf grouplist | grep '   ' | while read line; do dnf groupinfo "$line"; done

然後將此輸出重定向到一個文件,搜尋一個包名,並在那裡找到一個組名。

從 Fedora 26 開始,以下工作:

dnf repoquery --groupmember <pkg-name>

請參閱實現此功能的錯誤報告。

這是一個在我的 fedora 21 中似乎可以工作的範例,但 dnf 仍在更改,所以試試看:

$ pkg=fvwm
$ dnf groupinfo '*' | sed -n '/Group:/h;/'"$pkg"'/{x;p;x;p}'
Group: Window Managers
  fvwm

保持(h)每個組標題,然後sed當包匹配時交換保持和模式(x),列印標題(p),交換回來並列印包。

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