특정 rpm 패키지에 포함된 모든 명령을 나열하는 방법은 무엇입니까?

특정 rpm 패키지에 포함된 모든 명령을 나열하는 방법은 무엇입니까?

이 정확한 질문을 찾았습니다.데비안의 경우여기:특정 Debian 패키지에 대한 모든 명령 나열

하지만 RHEL/CentOS(또는 OpenSUSE)에 대해 그런 요청을 한 사람은 없는 것 같습니다.

예를 들어, 패키지 에서 무엇이 나오는지 rpm -qf $(which dig)알아보기 위해 실행할 수 있습니다 . 해당 패키지의 데이터를 빠르게 보기 위해 실행할 수 있지만 패키지에 포함된 다른 명령은 어떻게 볼 수 있습니까 ?digbind-utilsyum -C info bind-utilsbind-utils

이상적으로 솔루션은 내 변수와 독립적이어야 합니다. $PATH경로가 손상되었거나 시스템이 아닌 사용자 경로(예: 포함되지 않음)인 경우에도 /sbin특정 패키지에서 어떤 명령이 설치되었는지 알고 싶을 수 있기 때문입니다.

답변1

rpm -ql bind-utils하, Jeff Schaller가 댓글에서 지적했듯이 찾았습니다 .

목록에서 실행할 수 없는 파일을 필터링하는 좀 더 세련된 버전은 다음과 같습니다.

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

답변2

패키지의 명령을 나열하려면 다음 라이너 명령 중 하나를 사용하십시오.

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

관련 정보