명령어/Linux

[RHEL] rpm2cpio 설치 없이 rpm 내용물 꺼내기

jykim23 2026. 7. 15. 12:02
반응형

부제: rpm 패키지를 cpio 아카이브로 변환해 파일만 뽑아낸다

rpm2cpio pkg.rpm | cpio -idmv     # 현재 디렉터리에 풀기
rpm2cpio pkg.rpm | cpio -t        # 내용물 목록만 보기
$ rpm2cpio
argument is not an RPM package

rpm2cpio는 rpm 패키지를 설치하지 않고 그 안의 파일만 꺼낼 때 쓴다. 이름 그대로 rpm을 cpio 아카이브 스트림으로 바꿔주며, 뒤에 cpiobsdtar를 파이프로 붙여 실제 파일을 추출한다. 데비안에서 dpkg-deb -x로 .deb를 푸는 것과 같은 역할이다. 설치된 파일 하나만 복구하거나, 패키지 내용을 미리 들여다볼 때 유용하다.

이렇게도 쓴다

패키지 내용물 목록만 확인한다(설치 없이, cpio 조합).

rpm2cpio httpd-2.4.rpm | cpio -t

 

특정 파일 하나만 골라서 뽑는다.

rpm2cpio httpd-2.4.rpm | cpio -idmv ./usr/sbin/httpd

 

bsdtar로 더 간단히 풀어낸다(대체 조합).

rpm2cpio httpd-2.4.rpm | bsdtar -xf -

 

패키지 안의 설정 파일만 grep으로 걸러 본다.

rpm2cpio httpd-2.4.rpm | cpio -t | grep '/etc/'

 

원격 rpm을 내려받지 않고 스트림으로 바로 푼다(curl 조합).

curl -sL https://example.com/pkg.rpm | rpm2cpio - | cpio -idmv
반응형