Yum
如何列出特定 rpm 包中包含的所有命令?
我在這里為 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