8.3 The rpm Command

RPM packages are built, installed, uninstalled, and queried with the rpm command. Like other command-line facilities, the rpm command gives you almost complete control over its operation. So, you can use the rpm command to accomplish feats not possible using the package management tool. For instance, you can use the rpm command to install or remove individual packages, install packages from non-Red Hat media, and install packages other than those built by Red Hat. On the other hand, the rpm command is sometimes much less convenient to use than the package management tool. So, Red Hat Linux lets you use either the GUI or command line, according to your need and preference.

rpm has several modes, each with its own options. The general format of the rpm command is:

rpm  [options ] [packages ]

The first option generally specifies the rpm mode (e.g., install, query, update, build, etc.); any remaining options pertain to the specified mode.

The rpm command has built-in FTP and HTTP clients. So, you can specify an ftp:// or http:// URL to identify an RPM package stored on a remote host.

Unless the system administrator has specially configured the system, any user can query the RPM database. Most other RPM functions require root privileges. Strictly speaking, it's not necessary for you log in as root to install an RPM package; however, your user account must be authorized to access and modify the files and directories required by the package, including the RPM database itself. Generally, the easiest way to ensure such access is by logging in as root.

8.3.1 General rpm Options

The following rpm options can be used with all modes:

-- dbpath path

Use path as the path to the RPM database.

-- ftpport port

Use port as the FTP port.

-- ftpproxy host

Use host as a proxy server for all transfers. Specified if you are FTPing through a firewall system that uses a proxy.

-- help

Print a long usage message (running rpm with no options gives a shorter usage message).

-- justdb

Update only the database; don't change any files.

-- pipe command

Pipe the rpm output to command.

-- quiet

Display only error messages.

-- rcfile filename

Use filename, instead of the system configuration file /etc/rpmrc or $HOME/.rpmrc, as the configuration file.

-- root dir

Perform all operations within directory dir.

-- version

Print the version number of rpm.

-vv

Print debugging information.