Monday, February 07, 2005

Digging into RPM files

RedHat based Linux systems, and others, use the RPM Package Manager (yes, it's recursive) to package files for the computer. RPMs can come in binary or source (SRPM) versions. We've covered how to compile an SRPM into an RPM. But what if we just want to get at the files in an RPM or SRPM file? Today I was trying to compile ical on a SUSE Linux machine. In order to do that, I had to pull the files out of an ical*.src.rpm file. But how?

Comes the Web to the rescue, in the form of a Bill Kearney article. I'll summarize it here:

Get the RPM or SRPM file to your computer. Then run the command:

rpm2cpio package.rpm | cpio -iv --make-directories

where package.rpm is the name of your file. The contents of the RPM file will be placed in the current directory.

I never did get ical to compile on SUSE. More on that later.