Yum

如何列出特定 rpm 包中包含的所有命令?

  • September 15, 2019

我在這里為 Debian找到了這個確切的問題:列出特定 Debian 軟體包的所有命令

但似乎從來沒有人對 RHEL/CentOS(或 OpenSUSE)提出這個要求。

例如,我可以執行rpm -qf $(which dig)以找出dig來自bind-utils包的內容。我可以執行yum -C info bind-utils以快速查看該包上的數據…但是我如何查看bind-utils包中包含的其他命令?

理想情況下,解決方案應該獨立於我的$PATH變數,因為即使路徑損壞或非系統使用者路徑(例如不包括/sbin),我可能只是想知道從給定包中安裝了哪些命令。

哈,我已經找到了;rpm -ql bind-utils正如 Jeff Schaller 在評論中指出的那樣。

從列表中過濾掉非執行檔的稍微更精緻的版本是:

for file in $(rpm -ql packagename) ; do test -x $file && test -f $file && echo $file ; done

使用下面的一個線性命令來列出包的命令:

rpm -ql systemd | grep -w 'bin\|sbin' | awk -F '/' '{print $NF}' | xargs man head | grep ' - ' | grep -vi 'No manual' 2> /dev/null 

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