The first Google result for Linux package managers comes up with a comment from Ian Murdock saying that package management is “the single biggest advancement Linux has brought to the industry”, that it blurs the boundaries between operating system and applications, and that it makes it “easier to push new innovations […] into the marketplace and […] evolve the OS”. This sounds great and all, but then why is my Slackware’s Firefox in Portuguese (and doesn’t display GIF images anymore), my Gentoo box complaining of some package blocking another package that can’t update to a newer package because it’s masked by a keyword, and my Fedora install in such a mess that it thinks it needs to update 90 packages but can’t figure out how to resolve the mirror it needs, and is also so lost in dependency hell that if I ever decide to use Fedora again I’ll just have to install the newer version?
The first distribution I ran, for a very short time, was Ubuntu. I wandered around the package manager, confused as to what everything was (still painfully loosing my Linux virginity) and found that half the stuff I wanted to install didn’t have a package. I got on AIM and talked to some people that guided me through ./configure, make, make install. I quickly gave up on Ubuntu since it was dreadfully slow on the old 400mhz machine with 64MB of RAM that I had dedicated to Linux experimentation. The second distribution which I ran, and still do on my server, was Slackware. The Slackware package manager isn’t much of a manager at all, so the majority of the time I ended up installing from source. Every once and a while I would track down a package thinking it would be easier (like Firefox 3) only to find that the package ends up horribly broke and compiling it from source just works better. Of course, then there was the day I tried to install an old 64 color side scroller out of boredom. ./configure, ma… er wait, I need what now? This library? okay. ::downloads:: ./configure.. what now? I need this engine? And this engine needs another library? and… oh my… ::3 hours later, launches 1980s side scroller and thinks to himself… what the hell, I spent 3 hours on this? I could have been playing Halo.:: And that was when I began to see that Slackware wasn’t going to cut it. Not that I was going to become a Linux gamer, but that without some sort of package manager, things just get messy installing from source.
I then tried Fedora for a short time. I used it on a dual boot of a 2.5ghz Celeron machine that had plenty of hard drive space laying around. The first thing it tells me is that it has over 90 updates. My first reaction: wtf?! I spent how many hours downloading 6 CDs on my crappy Internet connection, just to have to spend another night of Internet time updating the stuff I JUST downloaded? This is worse than an XP install! From that point on, Fedora and me never really got along well. One thing to note about RPMs though, is that Red Hat/Fedora is so popular that almost everyone has packages for it. But even with my short time using Fedora, I found dependencies issues, broken packages, and all the same problems that I ran into with Slackware’s package manager.
The last distribution to be tried is Gentoo. After getting my brand new Dell Vostro 1400 in the mail and thinking of what to do with all those free gigabytes, I decided to experiment with Gentoo. You thought Slackware and Fedora’s install processes had issues? Don’t even burn the Gentoo ISO until you have a week of free time and a large amount of caffeinated liquid. It didn’t help that Gentoo hated my hardware, but even if you’re lucky and it likes your computer, it’ll take a few days to get it working. Unlike the other package managers that use binaries, Gentoo uses Portage, which downloads and installs the program you want from source, along with all the dependencies (hopefully). Overall I’ve been rather happy with Gentoo’s installation methods. If you decide to install something from source that isn’t in the Portage tree, you can set up emerge (without too much difficulty) to get along with those programs as well. However, it’s still buggy compared to Windows/OS X. Part of the problem is that you’ll get tons of errors if you try and run 64 bit like me. It seems like every other program I try and emerge either is masked by 64 bit keyword, or hasn’t been tested on a 64 bit system. Plus, you just get weird things sometimes, like packages blocking other packages, missing keywords, etc.
In conclusion, package managers are one of the most important things in a Linux distribution, and one of the things that still needs improvement before Linux will ever take off in the desktop user world. The thought of trying to walk my parents through a Gentoo install or RPM dependency hell… ::shudders:: Maybe I’ll give Debian a try sometime and see if it’s as good as everyone says in the way of package managing and program installation.
Random link this post reminded me of,