-->

Previous | Table of Contents | Next

Page 1

Part I

RPM and Computer Users: How to Use RPM to Effectively Manage
Your Computer

Page 2

Page 3

Chapter 1
An Introduction to
Package Management

Page 4

1.1. What Are Packages and Why Manage Them?

To determine what packages are and why it's important to manage them, let's go back to the basics for a moment. Computers process information. To process information you must have a few things:

Unless these three things come together, very little information processing is going to happen. But each of these items has its own requirements that need to be satisfied before things can get exciting.

Take the computer, for example. While it needs things such as electricity and a cool, dry place to operate, it also needs access to the other two items—information and programs—in order to do its thing. The way to get information and programs into a computer is to place them in the computer's mass storage. These days, mass storage invariably means a disk drive. Putting information and programs on the disk drive means that they are stored as files.

Okay, let's look at the information. Does information have any particular needs? Well, it needs sufficient space on the disk drive, but more importantly, it needs to be in the proper format for the program that will be processing it. That's it for information.

Finally, we have the program. What does it need? Like the information, it needs sufficient disk space on the disk drive. But there are many other things it might need:

Page 5

As you can imagine, this can get pretty complicated. It's not so bad once everything is set up properly, but how do things get set up properly in the first place? There are two possibilities:

If it seems like the first choice isn't so bad, consider how many files you'll need to keep track of. On a typical Linux system, it's not unusual to have more than 20,000 different files. That's a lot of documentation reading, file copying, and configuring! And what happens when you want a newer version of a program? More of the same!

Some people think the second alternative is easier. RPM was made for them.

1.1.1. Enter the Package

When you consider that computers are very good at keeping track of large amounts of data, the idea of giving your computer the job of riding herd over 20,000 files seems like a good one. And that's exactly what package management software does. But what is a package?

A package in the computer sense is very similar to a package in the physical sense. Both are used to keep related objects together in the same place. Both need to be opened before the contents can be used. Both can have a packing slip taped to the side, identifying the contents.

Normally, package management systems take all the various files containing programs, data, documentation, and configuration information, and place them in one specially formatted file—a package file. In the case of RPM, the package file is sometimes called a package, an .rpm file, or even an RPM. All these terms refer to a package containing software meant to be installed using RPM.

What types of software are normally found in a package? There are no hard-and-fast rules, but normally a package's contents consist of one of the following types of software:

Page 6

1.1.1.1. Advantages of a Package

One of the most obvious benefits to having a package is that the package is one easily manageable chunk. If you move it from one place to another, there's no risk of any part getting left behind. Although this is the most obvious advantage, it's not the biggest one. The biggest advantage is that the package can contain the knowledge about what it takes to install itself on your computer. And if the package contains the steps required to install itself, the package can also contain the steps required to uninstall itself. What used to be a painful manual process is now a straightforward procedure. What used to be a mass of 20,000 files becomes a couple hundred packages.

1.1.2. Manage Your Packages or They Will Manage You

A couple hundred packages? Even though the use of packages has decreased the complexity of managing a system by an order of magnitude, it hasn't yet gotten to the level of being a no-brainer. It's still necessary to keep track of what packages are installed on your system. And if some packages require other packages in order to be installed or operate correctly, these should be tracked as well.

1.1.2.1. Packages Lead Active Lives

If you start looking at a computer system as a collection of packages, you'll find that a distinct set of operations will take place on those packages time and time again:

With this much activity going on, it's easy to lose track of things. What types of package information should be available to keep you informed?

1.1.2.2. Keeping Track of Packages

Just as certain operations are performed on packages, there are also certain types of information that will make it easier to make sense of the packages installed on your system:

Previous | Table of Contents | Next