linuxpackagerpmsystem-administration

How do I extract the contents of an rpm?


I have an rpm and I want to treat it like a tarball. I want to extract the contents into a directory so I can inspect the contents. I am familiar with the querying commands of an uninstalled package. I do not simply want a list of the contents of the rpm. i.e.

$ rpm -qpl foo.rpm

I want to inspect the contents of several files contained in the rpm. I do not want to install the rpm. I am also aware of the rpms ability to do additional modifictions in the %post sections, and how to check for those. i.e.

$ rpm -qp --scripts foo.rpm

However in this case that is of no concern to me.


Solution

  • Did you try the rpm2cpio commmand? See the example below:

    $ rpm2cpio php-5.1.4-1.esp1.x86_64.rpm | cpio -idmv
    
    /etc/httpd/conf.d/php.conf  
    ./etc/php.d  
    ./etc/php.ini  
    ./usr/bin/php  
    ./usr/bin/php-cgi  
    etc