- Normal querying doesnot require a root loogin but for installation and uninstalling a package you need to be logged in as root.
- We can also use regular expressions or wiild-characters with the rpm command.
RPM PACKAGE INSTALLATION/ UNINSTALLATION:
# installing a rpm package with hash printing and in verbose mode
rpm -ivh foobar-1.0-i386.rpm
# to install a package ignoring any dependencies
rpm -ivh --nodeps
# upgrading a package with hash printing and in verbose mode
rpm -Uvh foobar-1.1-i386.rpm
# Upgrade only those which are already installed from an RPM repository
rpm -Fvh *.rpm
# uninstall a package
rpm -e foobar
# uninstall ignoring the dependencies
rpm -e --nodeps foobar
# to force install /uninstall
rpm -ivh --force foobar-1.0-i386.rpm
RPM PACKAGE QUERY
# find all those packages which are installed on your system
rpm -qa | sort | less
rpm -qa | sort > rpmlist
# findout all the files which are installed by a rpm package
rpm -ql foobar
rpm -qpl foobar-1.0-i386.rpm
# search for an installed package
rpm -qa | grep foobar
# search for a specific file in a rpm repository
for i in *.rpm ; do rpm -qpl $i | grep filename && echo $i ; done
# findout to what package does the a directory/file (say) /etc/skel belong to
rpm -qf /etc/skel
rpm -q --whatprovides
# to see what config files are installed by a package
rpm -qc foobar
# To test walk-through a installtion of a package use
rpm -ivh --test foobar-1.1-i386.rpm
10. Similarly uninstalling a package without considering dependencies, use
# rpm -e --nodeps
11. To force install a package ( same as using "--replacefiles" and "--replacepkgs" together.
It like installing a package with no questions asked :) use it with caution, this option can make some of your existing software unusable or unstable
# rpm -i --force
12. To exclude the documentation for a package while installing, useful incase of minimal stripped-down installation
# rpm -i --excludedocs
13. To include documentation while installing (by default this option is enabled), this option is useful only one has set to exclude documentation in "/etc/rpmrc" or in "~/.rpmrc" or in /usr/lib/rpm/rpmrc"
# rpm -ivh --includedocs
14. To display the debug info while installing, use
When using this option it not neccessary to specify the "-v" verbose option as the debug information provided by the rpm command is verbose by default.
# rpm -ih --test -vv
As already discussed "-ih" combined option tell rpm to do installation with hash printing, and using the "--test" tells the rpm command to only do walkthrough of installation and not to do the actual installation, "-vv" option asks the rpm package to also print the debug information.
15. To upgrade a package (i.e uninstall the previous version and install a newer version), use
# rpm -U -v -h
16. To permit upgrade to an old package version (i.e downgrade), use
# rpm -U -v -h --oldpackage
17. To list all the rpm(s) installed on your system, use
$ rpm -qa
One can pipe the output of the above command to another shell command, e.g.
$ rpm -qa | less
$ rpm -qa | grep "foobar"
$ rpm -qa > installed_rpm.lst
- Use you imagination for more combinations, you may even use wild characters.