2.3.2. Other RPM commands
In addition to rpm
, the RPM system includes a few more commands, including rpmbuild
and rpm2cpio
.
The rpmbuild
command helps build RPM packages. I describe its usage in depth in Part II of this book.
The rpm2cpio
command exports an RPM package file int the format that the cpio
command expects. The cpio
command works with many tape-backup packages. You can also take advantage of the fact that cpio
can list the individual files in a cpio
archive or extract files. To list the files in an RPM package, use a command like the following:
rpm2cpio package_file.rpm | cpio –t
For example, the following command lists all the files in the xcopilot
package:
rpm2cpio xcopilot-0.6.6-3.i386.rpm | cpio –t
To display:
./etc/X11/applink/Applications/xcopilot.desktop ./usr/bin/xcopilot ./usr/doc/xcopilot-0.6.6 ./usr/doc/xcopilot-0.6.6/README ./usr/include/X11/pixmaps/xcopilot.xpm ./usr/include/X11/pixmaps/xcopilot2.xpm 3120 blocks
The rpm2cpio
command can also help if you want to extract a single file from the RPM package, using the cpio –ivd
command-line options, as follows:
rpm2cpio xcopilot-0.6.6-3.i386.rpm | cpio –ivd usr/doc/xcopilot-0.6.6/README
This command will output local usr/doc/xcopilot-0.6.6/
subdirectories and the README
file located under usr/doc/xcopilot-0.6.6/
.
The –i
option tells cpio
to extract files. The –d
option tells cpio
to make any local subdirectories as needed (usr/doc/xcopilot-0.6.6/
, in this example), and the –v
option asks cpio
to politely output verbose messages about what it does. Of course, verbose is in the eye of the beholder; with many Unix and Linux commands, verbose output is still somewhat terse.