Using RPMs to Install Linux Software

Perhaps one of the most challenging and intimidating tasks a new Linux administrator can perform is to manage and install software. Although application developers are moving more and more towards the newer, easier to use technologies, many applications are still installed using very manual techniques. Below is a list of some of the more common application installation methods.

RPM (RedHat Package Manager): Similar to the Add/Remove Programs in the Windows control panel. This is becoming the de-facto standard for application installation. RPM maintains a database of applications, allowing for easy installation and removal.

DPKG (Debian Package): Application standard for Debian Linux. Very similar to RPM in functionality, but not nearly as common.

Tarball: Refers to a package that has been shipped as a single file. Tarballs may also be zipped. A zipped Tarball is very similar to a self extracting WinZip archive. Files are unpackaged to a location, and the administrator must manually create links, or desktop items to launch applications.

Library: Similar to a Windows DLL, a library is a collection of code that performs common tasks, such as transmit data, or write to a device. Many applications rely on the presence of certain libraries to run. This is referred to as a dependency.

Binary Package: Refers to an application that has been compiled from source code to executable code. Since Linux can run on multiple processor architectures, you must find a binary package for your processor.

Source Code Package: A package that is shipping in it native source code. Before the application can be run it must be compiled on your computer. This involved some extra work on your part. SRPM files are RPM packages containing source code.

Understanding RPM

An RPM package is very similar to an MSI file in Windows. It is a single file that contains the application in binary format, along with information used to query the application, and in some cases, contains signatures that can be used to validate the integrity of the application. RPM’s have a very specific naming format which is interpreted as follows;

[Package Name]-[Version(1.2.3)]-[Release]-[Architecture]-rpm

By looking at the value of architecture (i386/ppc/alpha) you can determine if a package is correct for your processor.

When an RPM package is installed, database information is maintained in the file system in a binary format. There is no reason to modify this data. In order to install software using RPM you must be logged on as a root level account. This is necessary as RPM sometimes updates shared system libraries.