명령어/Linux

[RHEL] rpmquery rpm 데이터베이스 질의 전담

jykim23 2026. 8. 16. 16:30
반응형

부제: rpm -q와 같은 자리, 질의에만 특화된 이름

rpmquery bash            # 설치 여부와 정확한 버전(NVRA)
rpmquery -a              # 설치된 전체 패키지
rpmquery -f /etc/passwd  # 이 파일을 소유한 패키지
rpmquery -l which        # 패키지가 설치한 파일 목록
$ rpmquery bash
bash-5.1.8-9.el9.x86_64
$ rpmquery -f /etc/passwd
setup-2.13.7-10.el9.noarch

rpmquery는 rpm --query를 그대로 부르는 별칭 성격의 명령이다. 설치/삭제 모드가 아예 없어 오타로 패키지를 지울 위험이 없고, 스크립트에서 "질의 전용"임을 이름으로 못 박을 수 있다. 기본 출력은 NVRA(이름-버전-릴리스.아키텍처) 한 줄이고, -f로 파일 소유 패키지를, -l로 파일 목록을, --whatprovides/--whatrequires로 의존성을 앞뒤로 훑는다. 이 명령 자체는 설치 상태를 읽기만 한다.

데비안에서는 dpkg-query가 정확히 같은 역할을 한다. 질의를 별도 명령으로 떼어 둔 설계 의도도 닮았다.

이렇게도 쓴다

파일을 준 패키지의 다른 파일까지 이어서 본다(조합).

rpmquery -f /usr/bin/vi | xargs rpmquery -l

 

원하는 필드만 골라 커스텀 포맷으로 뽑는다.

rpmquery --qf '%{NAME} %{VERSION}-%{RELEASE} %{ARCH}\n' bash

 

특정 라이브러리에 의존하는 패키지를 역추적한다.

rpmquery --whatrequires glibc

 

설정 파일만 골라 백업 대상을 잡는다(조합).

rpmquery -c chrony | xargs -I{} cp {} /root/conf-backup/

 

특정 경로를 제공하는 패키지를 찾는다.

rpmquery --whatprovides /usr/bin/vi
반응형