| Red Hat Docs > Red Hat Manuals > Archived Red Hat Linux Manuals > |
RPM from the Shell PromptYou can also use RPM technology by typing a vareity of commands at the shell prompt. At your disposal, of course, are all the functions available through Gnome-RPM , with some additions, such as the ability to freshen packages, which is similar to upgrading (refer to the section called Freshening for more information). For more in-depth information about RPM, refer to the related chapters in the Official Red Hat Linux Reference Guide . You can also read the related man page by typing man rpm or the help file by typng rpm --help . InstallingRPM packages typically have file names like foo-1.0-1.i386.rpm , which includes the package name ( foo ), version ( 1.0 ), release ( 1 ), and architecture ( i386 ). Installing a package is as simple as typing:
RPM prints out the name of the package (which is not necessarily the same as the file name), and then prints a succession of hash marks as the package is installed as a progress meter. Actually, you can also install a package with the upgrade option. For more information, see the section called Upgrading . While installing, you could run into errors, such as statements that the package is already installed or that there are dependency problems which hinder the installation of the package. For information about the types of errors you may encounter, read on. Package Already InstalledIf the package is already installed, you will see:
If you want to install the package anyway, you can use --replacepkgs on the command line, which tells RPM to ignore the error:
Conflicting FilesIf you attempt to install a package that contains a file which has already been installed by another package, you'll see:
To cause RPM to ignore that error, use --replacefiles on the command line:
Unresolved DependencyRPM packages can "depend" on other packages, which means that they require other packages to be installed in order to run properly. If you try to install a package for which there is such an unresolved dependency, you'll see:
To correct the error, you should install the requested package. If you want to force the installation anyway (a bad idea since the package probably will not run correctly), use --nodeps on the command line. UninstallingUninstalling a package is also simple::
Notice that when you uninstall a package, you should use the package name ( foo ) not the name of the original package (" foo-1.0-1.i386.rpm "). You can encounter a dependency error when uninstalling a package if some other installed package depends on the one you are trying to remove. For example:
To cause RPM to ignore that error and uninstall the package anyway (also a bad idea since the package that depends on it will probably fail to work properly), use --nodeps on the command line. UpgradingUpgrading a package is similar to installing.
When you upgrade, RPM automatically uninstalls any old versions of the foo package. You can use upgrade to install packages, as well, since it works fine even when there are no previous versions of the package installed. Since RPM performs intelligent upgrading of packages with configuration files, you may see a message like: Errors on Installing Older Packages
To cause RPM to "upgrade" anyway, use --oldpackage on the command line:
FresheningFreshening a package is similar to upgrading:
RPM's freshen option checks the versions of the packages specified on the command line against the versions of packages that have already been installed on your system. When a newer version of an already-installed package is processed by RPM's freshen option, it will be upgraded to the newer version. However, RPM's freshen option will not install a package if no previously-installed package of the same name exists. This differs from RPM's upgrade option, as an upgrade will install packages, whether or not an older version of the package was already installed. QueryingQuerying the database of installed packages is accomplished with rpm -q . A simple use is rpm -q foo which will print the package name, version, and release number of the installed package foo:
Instead of specifying the package name, you can use the following options with -q to specify what package(s) you want to query. These are called Package Specification Options .
There are a number of ways to specify what information to display about queried packages. The following options are used to select the type of information for which you are searching. These are called Information Selection Options .
For those options that display file lists, you can add -v to your command line to get the lists in a familiar ls -l format. VerifyingVerifying a package compares information about files installed from a package with the same information from the original package. Among other things, verifying compares the size, MD5 sum, permissions, type, owner and group of each file. The command rpm -V verifies a package. You can use any of the Package Selection Options listed for querying to specify the packages you wish to verify. A simple use is rpm -V foo which verifies that all the files in the foo package are as they were when they were originally installed. For example:
If everything verified properly there will be no output. If there are any discrepancies they will be displayed. The format of the output is a string of 8 characters, a possible "c" denoting a configuration file, and then the file name. Each of the 8 characters denotes the result of a comparison of one attribute of the file to the value of that attribute recorded in the RPM database. A single "." (period) means the test passed. The following characters denote failure of certain tests:
If you see any output, use your best judgment to determine if you should remove or reinstall the package, or otherwise fix the problem. |
||||||||||||||||||||||