Author: elliss
Update of /cvs/docs/rpm-guide
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv8278
Modified Files:
rpm-guide-rpm-overview-en.xml
Log Message:
DocBook tagging fixes
Index: rpm-guide-rpm-overview-en.xml
===================================================================
RCS file: /cvs/docs/rpm-guide/rpm-guide-rpm-overview-en.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- rpm-guide-rpm-overview-en.xml 26 Oct 2005 01:54:11 -0000 1.2
+++ rpm-guide-rpm-overview-en.xml 28 Oct 2005 00:06:28 -0000 1.3
@@ -46,15 +46,16 @@
<para>
One of the main advantages of the RPM system is that each .rpm
file holds a complete package. For example, the following file
- holds the xcopilot package:
+ holds the <filename>xcopilot</filename> package:
</para>
<para>
- xcopilot-0.6.6-3.i386.rpm
+ <filename>xcopilot-0.6.6-3.i386.rpm</filename>
</para>
<para>
- Based on the naming conventions discussed in Chapter 2, this
- package represents xcopilot package, version 0.6.6, third build of
- an RPM package, for i386 (Intel) architecture systems.
+ Based on the naming conventions discussed in
+ <xref linkend="ch-intro-rpm"/>, this package represents
+ <filename>xcopilot</filename> package, version 0.6.6, third build
+ of an RPM package, for i386 (Intel) architecture systems.
</para>
<para>
With a single command, you can copy an .rpm file to another Linux
@@ -81,35 +82,58 @@
sections has important information about the package, although
the payload section contains the actual content of the package.
</para>
- <para>
- *The signature appears after the lead or identifier section,
- which marks the file as an RPM file. Like your signature when
- you sign a check, the RPM signature helps verify the integrity
- of the package. No, the signature doesn���t check for bugs in
- software applications. Instead, it ensures that you have
- downloaded a valid RPM archive.
- </para>
- <para>
- The signature works by performing a mathematical function on the
- header and archive sections of the file. The mathematical
- function can be an encryption process, such as PGP (Pretty Good
- Privacy), or a message digest in MD5 format.
- </para>
- <para>
- *The header contains zero or more tagged blocks of data that
- pertain to the package. The header contains information such as
- copyright messages, version numbers, and package summaries.
- </para>
- <para>
- *The payload section contains the actual files used in the
- package. These files are installed when you install the package.
- To save space, data in the archive section is compressed in GNU
- gzip format.
- </para>
- <para>
- Once uncompressed, the data is in cpio format, which is how the
- rpm2cpio command (introduced in the "Other RPM commands" section
- later in this chapter) can do its work.
+ <variablelist>
+ <varlistentry>
+ <term>Signature</term>
+ <listitem>
+ <para>
+ The signature appears after the lead or identifier
+ section, which marks the file as an RPM file. Like your
+ signature when you sign a check, the RPM signature helps
+ verify the integrity of the package. No, the signature
+ doesn���t check for bugs in software applications.
+ Instead, it ensures that you have downloaded a valid RPM
+ archive.
+ </para>
+ <para>
+ The signature works by performing a mathematical function
+ on the header and archive sections of the file. The
+ mathematical function can be an encryption process, such
+ as PGP (Pretty Good Privacy), or a message digest in MD5
+ format.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Header</term>
+ <listitem>
+ <para>
+ The header contains zero or more tagged blocks of data
+ that pertain to the package. The header contains
+ information such as copyright messages, version numbers,
+ and package summaries.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Payload</term>
+ <listitem>
+ <para>
+ The payload section contains the actual files used in the
+ package. These files are installed when you install the
+ package. To save space, data in the archive section is
+ compressed in GNU <command>gzip</command> format.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ Once uncompressed, the data is in <command>cpio</command>
+ format, which is how the <command>rpm2cpio</command> command
+ (introduced in the "Other RPM commands" section later in this
+ chapter) can do its work.
</para>
</sect2>
<sect2>
@@ -138,15 +162,17 @@
RPMs usually depend on a number of system libraries which are,
in turn, also provided by binary RPMs.
</para>
- <para>
- Cross Reference
- </para>
- <para>
- Chapter 8 covers a number of locations where you can find RPM
- applications galore. Your Linux installation CDs are also a
- great source for applications. Most Linux distributions come
- with more applications than you can imagine using.
- </para>
+ <note>
+ <title>Finding More Software</title>
+
+ <para>
+ <xref linkend="ch-management-software"/> covers a number of
+ locations where you can find RPM applications galore. Your
+ Linux installation CDs are also a great source for
+ applications. Most Linux distributions come with more
+ applications than you can imagine using.
+ </para>
+ </note>
<para>
Although most binary RPMs are complete applications, others
provide libraries. For example, the Simple DirectMedia Layer
@@ -175,43 +201,43 @@
<sect2>
<title>Source RPMs</title>
<para>
- The xcopilot package, mentioned previously, contains the
- xcopilot application used for synchronization with Palm handheld
- devices. The source code used to create this application is
- stored in an xcopilot source RPM, for example:
+ The <filename>xcopilot</filename> package, mentioned previously,
+ contains the <filename>xcopilot</filename> application used for
+ synchronization with Palm handheld devices. The source code used
+ to create this application is stored in an
+ <filename>xcopilot</filename> source RPM, for example:
</para>
<para>
- xcopilot-0.6.6-3.src.rpm
+ <filename>xcopilot-0.6.6-3.src.rpm</filename>
</para>
<para>
By convention, source RPMs have a file name ending in .src.rpm.
</para>
<para>
Source RPMs should contain all the commands, usually in scripts,
- necessary
- </para>
- <para>
- to recreate the binary RPM. Having a source RPM means that you
- can recreate the binary RPM at any time. This is a very
+ necessary to recreate the binary RPM. Having a source RPM means
+ that you can recreate the binary RPM at any time. This is a very
important goal of the RPM system.
</para>
- <para>
- Note
- </para>
- <para>
- Source RPMs have nothing to do with open-source software
- licenses. Linux is famous for being an open-source operating
- system. In RPM terms, that means the source code for the Linux
- kernel and most Linux applications are freely available as
- source RPMs. But you can also make source RPMs for proprietary
- programs. The key issue is that you are unlikely to distribute
- the source RPMs for proprietary packages.
- </para>
- <para>
- Furthermore, a number of open-source applications are not
- available as source RPMs. That's a shame, since source RPMs
- would make these applications easier to install.
- </para>
+ <note>
+ <title>Source RPMs and Open Source Licencing</title>
+
+ <para>
+ Source RPMs have nothing to do with open-source software
+ licenses. Linux is famous for being an open-source operating
+ system. In RPM terms, that means the source code for the Linux
+ kernel and most Linux applications are freely available as
+ source RPMs. But you can also make source RPMs for proprietary
+ programs. The key issue is that you are unlikely to distribute
+ the source RPMs for proprietary packages.
+ </para>
+
+ <para>
+ Furthermore, a number of open-source applications are not
+ available as source RPMs. That's a shame, since source RPMs
+ would make these applications easier to install.
+ </para>
+ </note>
<para>
While source RPMs hold the commands necessary to create the
binary RPM, there may be differences in your Linux environment
@@ -219,12 +245,13 @@
from the original binary RPM. For example, the compile scripts
for some packages may add in optional code depending on which
libraries or which versions of libraries are found on your
- system. Chapter 14 covers many issues in creating RPMs, and
- Chapters 19 and 20 cover issues related to other versions of
- Linux and other operating systems, respectively. If you follow
- the guidelines when making your own RPMs, you should result in
- source RPMs that reproduce binary RPMs as consistently as
- possible.
+ system. <xref linkend="ch-packaging-guidelines"/> covers many
+ issues in creating RPMs, and <xref linkend="ch-other-linuxes"/>
+ and <xref linkend="ch-other-os"/> cover issues related to other
+ versions of Linux and other operating systems, respectively. If
+ you follow the guidelines when making your own RPMs, you should
+ result in source RPMs that reproduce binary RPMs as consistently
+ as possible.
</para>
</sect2>
</sect1>
@@ -238,457 +265,442 @@
least from a packaging point of view.
</para>
<para>
- The RPM database itself is stored in the directory /var/lib/rpm,
- and should contain files like the following:
- </para>
- <para>
- Basenames
- </para>
- <para>
- Conflictname
- </para>
- <para>
- __db.001
- </para>
- <para>
- __db.002
- </para>
- <para>
- __db.003
- </para>
- <para>
- Dirnames
- </para>
- <para>
- Filemd5s
- </para>
- <para>
- Group
- </para>
- <para>
- Installtid
- </para>
- <para>
- Name
- </para>
- <para>
- Packages
- </para>
- <para>
- Providename
- </para>
- <para>
- Provideversion
- </para>
- <para>
- Pubkeys
- </para>
- <para>
- Requirename
- </para>
- <para>
- Requireversion
- </para>
- <para>
- Sha1header
- </para>
- <para>
- Sigmd5
- </para>
- <para>
- Triggername
- </para>
- <para>
- Cross-reference
- </para>
- <para>
- Chapter 5 covers the database in more detail.
- </para>
- <para>
- These files make up the RPM database. The file __db.001 and
- similar files are lock files used by the RPM system. The other
- files are databases in Berkeley DB format. The most important file
- is Packages. The Packages file contains the header tag information
- for each package indexed by an index number for each package. This
- number slowly grows with time.
- </para>
- <para>
- The other files, such as Name, Providename, and Group, exist to
- speed access to particular types of information. Treat your RPM
- database with care. Back up the files, especially after upgrading,
- installing, or removing packages.
- </para>
- <para>
- Note
+ The RPM database itself is stored in the directory
+ <filename>/var/lib/rpm/</filename>, and should contain files like
+ the following:
</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <filename>Basenames</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Conflictname</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>__db.001</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>__db.002</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>__db.003</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Dirnames</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Filemd5s</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Group</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Installtid</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Name</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Packages</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Providename</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Provideversion</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Pubkeys</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Requirename</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Requireversion</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Sha1header</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Sigmd5</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Triggername</filename>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <note>
+ <title>The RPM Database</title>
+
+ <para>
+ <xref linkend="ch-using-rpm-db"/> covers the database in more
+ detail.
+ </para>
+ </note>
<para>
- Only the Packages file is essential. You can recreate the rest of
- the files using the rpm --rebuilddb command, introduced in Chapter
- 5.
+ These files make up the RPM database. The file
+ <filename>__db.001</filename> and similar files are lock files
+ used by the RPM system. The other files are databases in Berkeley
+ DB format. The most important file is
+ <filename>Packages</filename>. The <filename>Packages</filename>
+ file contains the header tag information for each package indexed
+ by an index number for each package. This number slowly grows with
+ time.
+ </para>
+ <para>
+ The other files, such as <filename>Name</filename>,
+ <filename>Providename</filename>, and <filename>Group</filename>,
+ exist to speed access to particular types of information. Treat
+ your RPM database with care. Back up the files, especially after
+ upgrading, installing, or removing packages.
</para>
+ <note>
+ <title>Recreating The RPM Database</title>
+
+ <para>
+ Only the <filename>Packages</filename> file is essential. You
+ can recreate the rest of the files using the <command>rpm
+ <option>--rebuilddb</option></command> command, introduced in
+ <xref linkend="ch-using-rpm-db"/>.
+ </para>
+ </note>
</sect1>
<sect1>
<title>Running RPM Commands</title>
<para>
- The primary RPM command is simply rpm. One of the original goals
- of the RPM system is providing ease of use. In support of this
- goal, just about everything you want to do with the RPM system can
- be done with this one command. For most usage, the command-line
- parameters to the rpm command determine the actions it should
- take.
+ The primary RPM command is simply <command>rpm</command>. One of
+ the original goals of the RPM system is providing ease of use. In
+ support of this goal, just about everything you want to do with
+ the RPM system can be done with this one command. For most usage,
+ the command-line parameters to the <command>rpm</command> command
+ determine the actions it should take.
</para>
<sect2>
- <title>Working with the rpm command</title>
+ <title>Working with the <command>rpm</command> command</title>
<para>
- The rpm command performs the most common package-management
- functions, along with a host of uncommon functions as well.
- Table 3-1 lists the main operations you can perform with the rpm
- command and the command-line options to specify the given
- operations.
+ The <command>rpm</command> command performs the most common
+ package-management functions, along with a host of uncommon
+ functions as well. The table below lists the main operations you
+ can perform with the <command>rpm</command> command and the
+ command-line options to specify the given operations.
</para>
- <para>
- Table 3-1 The main rpm operations
- </para>
- <informaltable frame="all">
+ <table id="tb-rpm-operations">
+ <title>The main <command>rpm</command> operations</title>
<tgroup cols="3">
- <tbody>
+ <colspec colnum="1" colname="Operation"/>
+ <colspec colnum="2" colname="Short Option"/>
+ <colspec colnum="3" colname="Long Option"/>
+ <thead>
<row>
- <entry>
- <para>
- Operation
- </para>
- </entry>
- <entry>
- <para>
- Short Option
- </para>
- </entry>
- <entry>
- <para>
- Long Option
- </para>
- </entry>
+ <entry>Operation</entry>
+ <entry>Short Option</entry>
+ <entry>Long Option</entry>
</row>
+ </thead>
+ <tbody>
<row>
<entry>
- <para>
Upgrade/install
- </para>
</entry>
<entry>
- <para>
-U
- </para>
</entry>
<entry>
- <para>
--upgrade
- </para>
</entry>
</row>
<row>
<entry>
- <para>
Install
- </para>
</entry>
<entry>
- <para>
-I
- </para>
</entry>
<entry>
- <para>
--install
- </para>
</entry>
</row>
<row>
<entry>
- <para>
Remove
- </para>
</entry>
<entry>
- <para>
-e
- </para>
</entry>
<entry>
- <para>
--erase
- </para>
</entry>
</row>
<row>
<entry>
- <para>
Query
- </para>
</entry>
<entry>
- <para>
-q
- </para>
</entry>
<entry>
- <para>
--query
- </para>
</entry>
</row>
<row>
<entry>
- <para>
Verify
- </para>
</entry>
- <entry>
- <para>
- -V
- </para>
+ <entry>-V
</entry>
<entry>
- <para>
--verify
- </para>
</entry>
</row>
<row>
<entry>
- <para>
Check signature
- </para>
</entry>
<entry>
- <para>
-K
- </para>
</entry>
<entry>
- <para>
--checksig
- </para>
</entry>
</row>
<row>
<entry>
- <para>
Freshen (upgrade) already-installed package
- </para>
</entry>
<entry>
- <para>
-F
- </para>
</entry>
<entry>
- <para>
--freshen
- </para>
</entry>
</row>
<row>
<entry>
- <para>
Initialize database
- </para>
</entry>
<entry>
- <para>
None
- </para>
</entry>
<entry>
- <para>
--initdb
- </para>
</entry>
</row>
<row>
<entry>
- <para>
Rebuild database
- </para>
</entry>
<entry>
- <para>
None
- </para>
</entry>
<entry>
- <para>
--rebuilddb
- </para>
</entry>
</row>
</tbody>
</tgroup>
- </informaltable>
+ </table>
<para>
- Using Table 3-1 as a guide, you can explore the options to the
- rpm command. To install or upgrade a package, use the -U
- command-line option:
- </para>
- <para>
- # rpm -U filename.rpm
- </para>
- <para>
- For example, to install the xcopilot RPM used as an example in
- this chapter,
- </para>
- <para>
- run the following command:
- </para>
- <para>
- # rpm -U xcopilot-0.6.6-3.i386.rpm
- </para>
+ Using this table as a guide, you can explore the options to the
+ <command>rpm</command> command. To install or upgrade a package,
+ use the <option>-U</option> command-line option:
+ </para>
+<screen>
+<userinput>rpm -U <replaceable>filename.rpm</replaceable></userinput>
+</screen>
+ <para>
+ For example, to install the <filename>xcopilot</filename> RPM
+ used as an example in this chapter, run the following command:
+ </para>
+<screen>
+<userinput>rpm -U <replaceable>xcopilot-0.6.6-3.i386.rpm</replaceable></userinput>
+</screen>
<para>
To get extra feedback, you can use a command like the following,
- with the
- </para>
- <para>
- -h and -v options in conjunction with the ���U option:
- </para>
- <para>
- # rpm -Uhv xcopilot-0.6.6-3.i386.rpm
+ with the <option>-h</option> and <option>-v</option> options in
+ conjunction with the <option>���U</option> option:
</para>
+<screen>
+<userinput>rpm -Uhv <replaceable>xcopilot-0.6.6-3.i386.rpm</replaceable></userinput>
+</screen>
<para>
When you run this command you will see more output than the
default, which is no output unless there are errors. With the
- ���h option, the rpm command will print a series of hash marks,
- #, to provide feedback that the command is still running. With
- the ���v option, the rpm command provides more verbose messages.
- </para>
- <para>
- Note
- </para>
- <para>
- The most common command to install a package is:
- </para>
- <para>
- # rpm -Uhv package_file.rpm
- </para>
- <para>
- This command upgrades a package with extra output. If the
- package has not been installed, this command installs the
- package. See Chapter 4 for more on upgrading and installing.
+ <option>���h</option> option, the <command>rpm</command> command
+ will print a series of hash marks, #, to provide feedback that
+ the command is still running. With the <option>���v</option>
+ option, the <command>rpm</command> command provides more verbose
+ messages.
</para>
+ <note>
+ <title>Installing a Package</title>
+
+ <para>
+ The most common command to install a package is:
+ </para>
+<screen>
+<userinput>rpm -Uhv <replaceable>package_file.rpm</replaceable></userinput>
+</screen>
+ <para>
+ This command upgrades a package with extra output. If the
+ package has not been installed, this command installs the
+ package. See <xref linkend="ch-using-rpm"/> for more on
+ upgrading and installing.
+ </para>
+ </note>
<para>
To remove a package (called erase in RPM terminology), use the
- ���e command-line option:
- </para>
- <para>
- # rpm ���e package_name
- </para>
- <para>
- Note
- </para>
- <para>
- Notice that you install a package file using the file name that
- ends in .rpm, but uninstall or erase a package without the .rpm
- extension. This is because you install RPM files, but once
- installed, you work with the installed packages. The file name
- and the package name do not have to correspond, but typically
- (and sanely) they have the same base name.
+ <option>���e</option> command-line option:
</para>
+<screen>
+<userinput>rpm ���e <replaceable>package_name</replaceable></userinput>
+</screen>
+ <note>
+ <title>Using File Extensions</title>
+
+ <para>
+ Notice that you install a package file using the file name
+ that ends in .rpm, but uninstall or erase a package without
+ the .rpm extension. This is because you install RPM files, but
+ once installed, you work with the installed packages. The file
+ name and the package name do not have to correspond, but
+ typically (and sanely) they have the same base name.
+ </para>
+ </note>
<para>
To list every RPM package installed on your system, use a
command like the following.
</para>
- <para>
- $ rpm ���qa
- </para>
+<screen>
+<userinput>rpm ���qa</userinput>
+</screen>
<para>
Expect to wait while this command completes. Most Linux systems
have numerous packages installed, which will result in many
lines of output. To better see the output, you can pipe this
command to the more command, as shown following:
</para>
- <para>
- rpm ���qa | more
- </para>
+<screen>
+<userinput>rpm ���qa | more</userinput>
+</screen>
<para>
You will then see the package listing one screen at a time.
</para>
- <para>
- Cross Reference
- </para>
- <para>
- Appendix A lists all the options for the rpm command.
- </para>
+ <note>
+ <title><command>rpm</command> Options</title>
+
+ <para>
+ <xref linkend="ch-command-reference"/> lists all the options
+ for the <command>rpm</command> command.
+ </para>
+ </note>
</sect2>
<sect2>
<title>Other RPM commands</title>
<para>
- In addition to rpm, the RPM system includes a few more commands,
- including rpmbuild and rpm2cpio.
+ In addition to <command>rpm</command>, the RPM system includes a
+ few more commands, including <command>rpmbuild</command> and
+ <command>rpm2cpio</command>.
</para>
<para>
- The rpmbuild command helps build RPM packages. I describe its
- usage in depth in Part II of this book.
+ The <command>rpmbuild</command> command helps build RPM
+ packages. I describe its usage in depth in Part II of this book.
</para>
<para>
- The rpm2cpio command exports an RPM package file into the format
- that the cpio command expects. The cpio command works with many
+ The <command>rpm2cpio</command> command exports an RPM package
+ file int the format that the <command>cpio</command> command
+ expects. The <filename>cpio</filename> 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:
- </para>
- <para>
- $ rpm2cpio package_file.rpm | cpio ���t
- </para>
+ that <filename>cpio</filename> can list the individual files in
+ a <filename>cpio</filename> archive or extract files. To list
+ the files in an RPM package, use a command like the following:
+ </para>
+<screen>
+<userinput>rpm2cpio <replaceable>package_file.rpm</replaceable> | cpio ���t</userinput>
+</screen>
<para>
For example, the following command lists all the files in the
- xcopilot package:
- </para>
- <para>
- $ rpm2cpio xcopilot-0.6.6-3.i386.rpm | cpio ���t
+ <filename>xcopilot</filename> package:
</para>
- <para>
- /etc/X11/applink/Applications/xcopilot.desktop
- </para>
- <para>
- usr/bin/xcopilot
- </para>
- <para>
- usr/doc/xcopilot-0.6.6
- </para>
- <para>
- usr/doc/xcopilot-0.6.6/README
- </para>
- <para>
- usr/include/X11/pixmaps/xcopilot.xpm
- </para>
- <para>
- usr/include/X11/pixmaps/xcopilot2.xpm
- </para>
- <para>
- 3120 blocks
- </para>
- <para>
- 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:
- </para>
- <para>
- $ rpm2cpio xcopilot-0.6.6-3.i386.rpm | cpio ���ivd
- usr/doc/xcopilot-0.6.6/README
- </para>
- <para>
- This command will output local usr/doc/xcopilot-0.6.6
- subdirectories and the README file located under
- usr/doc/xcopilot-0.6.6.
- </para>
- <para>
- 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.
+<screen>
+<userinput>rpm2cpio <replaceable>xcopilot-0.6.6-3.i386.rpm</replaceable> | cpio ���t</userinput>
+</screen>
+ <para>
+ To display:
+ </para>
+<screen>
+<computeroutput>
+./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
+</computeroutput>
+</screen>
+ <para>
+ The <command>rpm2cpio</command> command can also help if you
+ want to extract a single file from the RPM package, using the
+ <command>cpio <option>���ivd</option></command> command-line
+ options, as follows:
+ </para>
+<screen>
+ <userinput>rpm2cpio <replaceable>xcopilot-0.6.6-3.i386.rpm</replaceable> | cpio ���ivd
+ <replaceable>usr/doc/xcopilot-0.6.6/README</replaceable></userinput>
+</screen>
+ <para>
+ This command will output local
+ <filename>usr/doc/xcopilot-0.6.6/</filename> subdirectories and
+ the <filename>README</filename> file located under
+ <filename>usr/doc/xcopilot-0.6.6/</filename>.
+ </para>
+ <para>
+ The <option>���i</option> option tells <command>cpio</command>
+ to extract files. The <option>���d</option> option tells
+ <command>cpio</command> to make any local subdirectories as
+ needed (<filename>usr/doc/xcopilot-0.6.6/</filename>, in this
+ example), and the <option>���v</option> option asks
+ <command>cpio</command> 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.
</para>
</sect2>
</sect1>