Skip to content

Why RPM Bugs Me

Its pretty simple really... I got my first exposure to RedHat at the Atlanta Linux Showcase in the mid-90s. At that time, high-speed home internet connections didn't exist so multi-CD Linux distros were a great thing. RedHat and SuSE both had offerings, so I used their distributions for several years.

History

RedHat created the RPM format, and it was fantastic in the early days of Linux. It combined an archiver, an installer, and a software catalog. There's a good article on its development here. Looking back, I think it contributed more to the success of Linux than any other tool.

But times changed. SuSE integrated the idea of a network repository into their YaST administration tool. that let users download the latest package updates directly from the internet. Right away, I started using that to keep my system current. But I also realized that RPM must not have networking features built into it. RPM was beginning to show its age.

Almost simultaneously, I was introduced to Debian by a friend. It was nowhere close to SuSE in terms of GUI polish. I remember calling it "the little engine that could". But he really praised it and I wanted to understand why. So he brought his laptop to work one day and walked me through a distribution upgrade. With a single command-line ("apt-get dist-upgrade") and a few well-answered questions, he completely upgrade his distribution from the internet and everything worked. I was impressed.

At that moment, I became convinced that repository-based software distribution was superior to anything else. I switched my distribution to Debian and I've never looked back. I've tried a few other distributions since that time, but they've all been Debian variants which use the same repository system.

Getting back to RPM...

  • RedHat hasn't done any significant updates to it in years. They admit as much in the link above.
  • They've chosen to remain compatible instead of innovate. That's an artifact of going commercial.
  • up2date (RedHat's attempt to enable repository-based distribution) has two serious issues:
    • it doesn't work by default - you must configure it first
    • it requires a key - thus giving RedHat the ability grant/revoke access
  • YUM was developed to overcome the limitations of RPM, and to circumvent the problems of up2date.

Example

Here's an example of using up2date. First, we need to find out if a package is available in the repository. So we invoke this command.

  up2date --showall | grep -i your-package-name

A similar process exists for apt:

      apt-cache search your-package-name

Then we need to download the package and install it. We do this in 2 steps with up2date:

  up2date --get your-package-name
  up2date your-package-name

It only takes one step with apt:

  apt-get install your-package-name

Summary

So while RPM itself is still valuable, the features it needs are being built by the community to fill the void left by RedHat. There is a good article at Linux Weekly News that compares package managers like rpm, urpmi, installpkg, and apt. It basically agrees with what I've said here.