일반적으로 rpm 패키지는 rpm 도구나 apt-get 도구를 이용하여 설치할 수 있습니다. 그러나 간혹 패키지 설치가 아니라 패키지내의 특정 파일을 추출해야 할 때가 있는데 이럴 때 rpm 패키지로부터 특정 파일을 추출하고자 할 때 rpm2cpio 명령을 사용합니다.
rpm2cpio는 rpm 패키지를 cpio 아카이브 파일로 변환해 주는 도구입니다. 이 도구를 사용하여 rpm 패키지내의 파일들을 작업 디렉토리내로 풀 수 있습니다. 그러면 nateon-1.0-20080605pclos2007.i586.rpm 파일이 있다고 가정할 때 이 패키지내의 파일 목록을 살펴보려면 다음과 같이 실행합니다.
rpm 패키지내의 파일 목록을 확인한 후 이제 특정 파일을 추출하고자 할 때는 다음과 같이 실행하면 됩니다.
rpm2cpio는 rpm 패키지를 cpio 아카이브 파일로 변환해 주는 도구입니다. 이 도구를 사용하여 rpm 패키지내의 파일들을 작업 디렉토리내로 풀 수 있습니다. 그러면 nateon-1.0-20080605pclos2007.i586.rpm 파일이 있다고 가정할 때 이 패키지내의 파일 목록을 살펴보려면 다음과 같이 실행합니다.
$ rpm2cpio nateon-1.0-20080605pclos2007.i586.rpm | cpio -t
rpm 패키지내의 파일 목록을 확인한 후 이제 특정 파일을 추출하고자 할 때는 다음과 같이 실행하면 됩니다.
예를 들어 ./usr/bin/nateon 파일을 추출하고자 한다면 다음과 같이 실행합니다.$ rpm2cpio logrotate-1.0-1.i386.rpm | cpio -ivd 경로/파일명
그러면 현재의 위치에서 usr 디렉토리에 생성되고 그 아래 bin 디렉토리밑에 nateon 파일이 생성됩니다. cpio의 -idv 옵션은 패키지를 푸는 과정을 출력하고, 디렉토리가 없으면 생성하라는 의미입니다. 만일 전체 파일들이 추출되도록 하려면 경로와 파일명을 명시하지 않고 실행하면 됩니다.$ rpm2cpio logrotate-1.0-1.i386.rpm | cpio -ivd ./usr/bin/nateon
$ rpm2cpio logrotate-1.0-1.i386.rpm | cpio -ivd