Next:
An Introduction to Package
Up:
Maximum RPM Taking the
Previous:
Acknowledgements
 
Contents
 
Index
RPM and Computer Users - How to Use RPM to Effectively Manage Your Computer
Subsections
An Introduction to Package Management
What are Packages, and Why Manage Them?
Enter the Package
Advantages of a Package
Manage Your Packages, or They Will Manage You
Packages Lead Active Lives
Keeping Track of Packages
Package Management: How to Do It?
Ancestors of RPM
RPP
PMS
PM
RPM Version 1
The RPM of Today: Version 2
RPM Design Goals
Make it easy to get packages on and off the system
Make it easy to verify a package was installed correctly
Make it easy for the package builder
Make it start with the original source code
Make it work on different computer architectures
What's in a package?
RPM's Package Labels
Component #1: The Software's Name
Component #2: The Software's Version
Component #3: The Package's Release
Labels And Names: Similar, But Distinct
Package-wide Information
Per-file Information
Let's Get Started
Using RPM to Install Packages
rpm -i
-- What does it do?
Performing an Install
URLs -- Another Way to Specify Package Files
A warning message you might never see
Two handy options
Getting a bit more feedback with
-v
-h
: Perfect for the Impatient
Additional options to
rpm -i
Getting a
lot
more information with
-vv
--test
: Perform Installation Tests Only
--replacepkgs
: Install the Package Even If Already Installed
--replacefiles
: Install the Package Even If It Replaces Another Package's Files
--replacefiles
and Config Files
--replacefiles
Can Mean Trouble Down the Road
--nodeps
: Do Not Check Dependencies Before Installing Package
--force
: The Big Hammer
--excludedocs
: Do Not Install Documentation For This Package
--includedocs
: Install Documentation For This Package
--prefix
<path>
: Relocate the package to
<path>
, if possible
--noscripts
: Do Not Execute Pre- and Post-install Scripts
--percent
: Not Meant for Human Consumption
--rcfile
<rcfile>
: Use
<rcfile>
As An Alternate
rpmrc
File
--root
<path>
: Use
<path>
As An Alternate Root
--dbpath
<path>
: Use
<path>
To Find RPM Database
--ftpport
<port>
: Use
<port>
In FTP-based Installs
--ftpproxy
<host>
: Use
<host>
As Proxy In FTP-based Installs
--ignorearch
: Do Not Verify Package Architecture
--ignoreos
: Do Not Verify Package Operating System
Using RPM to Erase Packages
rpm -e
-- What Does it Do?
Erasing a Package
Getting More Information With
-vv
Additional Options
--test
-- Go Through the Process of Erasing the Package, But Do Not Erase It
--nodeps
: Do Not Check Dependencies Before Erasing Package
--noscripts
-- Do
Not
Execute Pre- and Post-uninstall
Scripts
--rcfile
<rcfile>
-- Read
<rcfile>
For RPM Defaults
--root
<path>
-- Use
<path>
As the Root
--dbpath
<path>
: Use
<path>
To Find RPM Database
rpm -e
and Config files
Watch Out!
Using RPM to Upgrade Packages
rpm -U
-- What Does it Do?
Config file magic
Upgrading a Package
rpm -U
's Dirty Little Secret
They're Nearly Identical...
--oldpackage
: Upgrade To An Older Version
--force
: The Big Hammer
--noscripts
: Do Not Execute Install and Uninstall Scripts
Getting Information About Packages
rpm -q
-- What does it do?
The Parts of an RPM Query
Query Commands, Part One: Package Selection
The Package Label
-a
-- Query All Installed Packages
-f
<file>
-- Query the Package Owning
<file>
-p <
file
>
-- Query a Specific RPM Package File
-g
<group>
: Query Packages Belonging To Group
<group>
--whatprovides
<x>
: Query the Packages That Provide Capability
<x>
--whatrequires
<x>
: Query the Packages That Require capability
<x>
Query Commands, Part Two: Information Selection
-i
-- Display Package Information
-l
-- Display the Package's File List
-c
-- Display the Package's List of Configuration Files
-d
-- Display a List of the Package's Documentation
-s
-- Display the State of Each File in the Package
--provides
: Display Capabilities Provided by the Package
--requires
: Display Capabilities Required by the Package
--dump
: Display All Verifiable Information for Each File
--scripts
-- Show Scripts Associated With a Package
--queryformat
- Construct a Custom Query Response
Getting a
lot
more information with
-vv
--root
<path>
: Use
<path>
As An Alternate Root
--rcfile
<rcfile>
: Use
<rcfile>
As An Alternate
rpmrc
File
--dbpath
<path>
: Use
<path>
To Find RPM Database
A Few Handy Queries
Finding Config Files Based on a Program Name
Learning More About an Uninstalled Package
Finding Documentation for a Specific Package
Finding Similar Packages
Finding Recently Installed Packages, Part I
Finding Recently Installed Packages, Part II
Finding the Largest Installed Packages
Using RPM to Verify Installed Packages
rpm -V
-- What Does it Do?
What Does it Verify?
File Ownership
File Group
File Mode
MD5 Checksum
File Size
Major Number
Minor Number
Symbolic Link
Modification Time
When Verification Fails -
rpm -V
Output
Other Verification Failure Messages
Selecting What to Verify, and How
The Package Label -- Verify an Installed Package Against the RPM Database
-a
-- Verify All Installed Packages Against the RPM Database
-f
<file>
-- Verify the Package Owning
<file>
Against the RPM Database
-p
<file>
-- Verify Against a Specific Package File
-g
<group>
-- Verify Packages Belonging To
<group>
--nodeps
: Do Not Check Dependencies Before Erasing Package
--noscripts
: Do Not Execute Verification Script
--nofiles
: Do Not Verify File Attributes
-v
-- Display Additional Information
-vv
-- Display Debugging Information
--dbpath
<path>
: Use
<path>
To Find RPM Database
--root
<path>
: Set Alternate Root to
<path>
--rcfile
<rcfile>
: Set Alternate
rpmrc
file to
<rcfile>
We've Lied to You...
Using RPM to Verify Package Files
rpm -K
-- What Does it Do?
Pretty Good Privacy: RPM's Assistant
Configuring PGP for
rpm -K
Using
rpm -K
-v
-- Display Additional Information
When the Package is Not Signed
When You Are Missing the Correct Public Key
When a Package Just Doesn't Verify
--nopgp
-- Do Not Verify Any PGP Signatures
-vv
-- Display Debugging Information
--rcfile
<rcfile>
: Use
<rcfile>
As An Alternate
rpmrc
File
Miscellania
Other RPM Options
--rebuilddb
-- Rebuild RPM database
--initdb
-- Create a New RPM Database
--quiet
-- Produce as little output as possible
--help
-- Display a help message
--version
-- Display the current RPM version
Using
rpm2cpio
rpm2cpio
-- What does it do?
A more real-world example -- Listing the files in a package file
Extracting one or more files from a package file
Source Package Files and How To Use Them
A gentle introduction to source code
Do you
really
need more information than this?
So what can I do with it?
Stick with us!
converted to HTML by
Tim Riker