Installing maintenance programs for Linux is simple with the different package management tools which are available. This month in Putting Linux to Work, two of the most common package management utilities are reviewed.
Red Hat Package Management
Red Hat Package Management, or RPM, is a simple and effective way to keep track of your software. Most commercial distributions of Linux are now RPM-compliant, however, you will still need to confirm that a particular package is compatible with your operating system. A typical RPM file looks like this:samba-2.0.7-20.i386.rpmwhere Samba is the name of the package, 2.0.7 is the version number, 20 is the release number and i386 is the platform (Intel) for which it is written. Therefore, to install the samba package, you would use the rpm command:
# rpm -i samba-2.0.7-20.i386.rpm
The -i option tells RPM to install the package. Alternatively, the upgrade (-U) option could have been used. This will either upgrade a package or install it if there was no previous version on the system. To find out which packages you have installed in your system issue:
# rpm -qa | more
Removing a package is simple with the erase (-e) option:
# rpm -e samba
Note that only the name of the package must be specified and not the actual package file. Only remove a package if you are certain you will no longer need it.
For more information about using rpm, see the manual page (man rpm). A good place to find RPM files is www.rpmfind.net which also has the required dependencies for each package, something RPM does not resolve.
Debian GNU/Linux is renowned for having very good package management tools - dpkg and apt-get. The command line package management tool dpkg is used in a similar manner to rpm. To install a package in Debian using dpkg, you would issue the command:
# dpkg --install samba_2.0.7-3.deb
which will install Samba. Notice the .deb extension on the package file name, signifying that it is a Debian package. To remove the Samba package, you would use the remove option:
# dpkg --remove samba
and as with RPM, the package name is specified and not the package file. The other package management tool for Debian is apt-get. This program will refer to a list of sources where you can obtain packages. Sources can be mounted file systems, such as a CD-ROM, or even an ftp server. The tool itself is simple to use. For example:
# apt-get update
will update information about packages which are available;
# apt-get install samba
will install Samba; and
# apt-get upgrade
will upgrade all the packages that are installed on the system. Generally, a sound understanding of package management will make installing and upgrading programs for Linux easy.
In addition to using the command line to maintain packages, a number of graphical programs can be used to simplify the process.
Gnome RPM is a graphical front-end to Red Hat Package Management included with the GNOME desktop environment. Gnome RPM is started by issuing the command:
in a terminal emulator while running X Windows. The Gnome RPM interface is similar to a graphical file manager where all your installed packages are listed under their respective categories, such as User Interface and Amusements. The only difference between using gnorpm and the command line is that there are large buttons to point and click that do the tasks of installing, uninstalling, querying and verifying packages. A few handy features built into Gnome RPM are a utility to search through packages on your system and a Web find utility that uses rpmfind to locate and download packages.
The kpackage application is standard as part of the K Desktop Environment (KDE) and functions in a similar manner to Gnome RPM. Upon starting kpackage, which is done by issuing:
in a terminal emulator, your RPM database is queried and the installed packages are listed in their relevant categories. When you select a package, its details - such as version number and size - are shown. A useful feature of kpackage is that it will handle various types of packages such as deb, Slackware and BSD.
Using the various package management utilities available for Linux will make application administration much easier.