Revisiting Linux Part 1: A Look at Ubuntu 8.04
by Ryan Smith on August 26, 2009 12:00 AM EST- Posted in
- Linux
The Package Manager – A Love/Hate Relationship
Out of every piece of software in Ubuntu, the package manager is the single most monumental and unique piece in the Operating System. I can tell you about Evolution (Ubuntu’s email client), or Totem (Ubuntu’s media player) and even if you’ve never used these programs, it would be easy to relate them to other things you likely have used. However trying to relate a package manager is a bit harder. The use of a package manager, and going further than that by completely relying on one, changes the OS experience entirely. Some of these changes are good and some are bad, driving what has become a love/hate relationship with apt, Ubuntu’s package manager.
Rather than trying to explain what a package manager is, it would be easier to explain what is a package manager. Package mangers are more common than most people would think, as there are several systems that use package managers without it manifesting itself in an obvious way. My iPhone runs a package manager – two in fact – one being the iTunes App Store and the other being apt (the same as Ubuntu) sitting underneath Cydia. Steam is also a package manager, taking care of its own little microcosm of games, mods, and SDKs. Most people have used a package manager without realizing it.
But none of them take it as far as Ubuntu. Steam only uses package management to install games, the iPhone via apt takes it a little bit further to install a wider base of applications and frameworks, but none of them integrate package management in to the OS like Ubuntu does. Everything in Ubuntu is a package, starting with the kernel and moving to drivers and applications. And the ramifications of this are huge.
When you go to install an Ubuntu application, there is no need to track down an installer for an application, make sure it’s the latest version, make sure it’s not really a Trojan or virus-infected, etc. All of the applications bundled with an Ubuntu release sit on Ubuntu’s servers as a package. Finding software to install (if it didn’t already come on the CD) is as easy as firing up the Add/Remove Applications application, and looking for the application you’d like to install. And if you don’t know what you want to install? Ubuntu will tell you all about whatever application you’re looking at.
Once an application is installed, the package manager will keep track of that application. It can uninstall the application if you need to remove it, or make sure it’s up to date if at some point a newer version (such as a bug fix) is published. The package manager brings everything together.
From an application perspective it’s little different than the iTunes App Store, but compared to what other OSs do it’s a big deal. How many different applications install their own updater service? Even though Microsoft and Apple consolidate updating their software in to their own software update systems, they can’t do that for everyone else’s applications. Chrome, Flash, Java, etc all have updaters running in the background just to keep their respective applications up to date. And while these updater applications are small compared to what they’re tasked to monitor, it’s none the less a waste of resources. Why do you need many applications to do the same job? On Ubuntu, you don’t.
On Ubuntu, the package manager is also in charge of keeping the OS itself updated, which is where we see it significant diverge from our earlier example of the iTunes App Store. Mixed in with application updates are updates to various system components, each one dutifully made in to their own package. This makes it very easy for Ubuntu to distribute component updates as needed (rather than bundling them together as larger updates) but it’s also a bit daunting – there are a lot of updates even when starting from Ubuntu 8.04.3. Nevertheless, for the curious types, this allows you to see exactly what’s being updated, and usually there’s a note attached with a meaningful explanation as to why.
Ubuntu’s package manager is the most foolproof way to install and maintain software I’ve ever used, on a computer. And that’s why I love it.
The package manager is also the outlet of my frustrations with Ubuntu, for many of the same reasons. Everything in Ubuntu is a package. There are no drag-and-drop installs like in Mac OS X, and there are no MSI/NSIS/InstallShield installs like Windows, there is only the package. The problem is that the package manager is an extremely self-limiting device when combined with Ubuntu’s software distribution philosophy as we mentioned earlier. Ubuntu isn’t just distributing an OS on which you run programs, but they’re distributing the programs themselves, and it’s all one stable platform.
You’ll first discover how frustrating this can be when you decide that you would like a newer version of some piece of software than what Ubuntu offers. We’ll take Wine for example, which develops at a rapid pace. If you want to be able to install the latest version of Wine, rather than version 1.0.1 that comes with Ubuntu, you’ll need to follow these instructions, which are composed of adding new repository entries to apt, followed by downloading and importing an authentication key in to apt so that it will trust the packages. Only then can you go back in to the package manager and tell it to install the latest version of Wine.
The Ubuntu project does offer a slightly simpler alternative through the Personal Package Archives, which are packages uploaded by users and hosted by the project. PPA repositories are a bit easier to install than the standard DEB repository, but the primary focus on PPAs is that there’s additional software available as a package for easier upgrading and maintenance. However since PPAs are maintained entirely by users, they’re unreliable as a source of updates, and not everything is made available for Hardy.
As a result of all of this, the package manager has just made software installation on Ubuntu a good deal harder than it is on Mac OS X or Windows if we wanted to do the same thing. And if you want a piece of software that’s not either the default Ubuntu version or the latest version from another repository, good luck, the package manager is designed to make upgrading easy, not necessarily downgrading.
The package manager exists to the detriment of any other way to install software. Technically software packages can be distributed outside of a repository, but in my own experience that seems very uncommon. Followed by that you have the shell script containing a binary blob (which may or may not be recognized and open correctly) and the more bearable-but-rare compressed folder. You are, for better or worse, stuck with the package manager in most cases.
This is why I hate the package manager. To the credit of the developers of it, it’s more of a flaw in the philosophy of Ubuntu than the technology, but the package manager in the minion enforcing the harsh realities of that philosophy. It’s here where the wheels start falling off of Ubuntu. It works well when you want to run software that Ubuntu provides in its main repositories, but only when you want to run software that they provide. Installing any other software is at times a nightmare.
I’ll close out this section reflecting on the iTunes App Store one more time. In spite of being a package manager, I have no qualms with it. Apple doesn’t tie app versions with OS versions, so I can always grab the latest version. Meanwhile if I need an older version it’s not easy, but double-clicking on archived IPA files is still less troubling than trying to pull off something similar with Ubuntu.
True nirvana for software installation and updating lies between Ubuntu’s strict package manager, and Windows’ loose environment of installers. Apple found one solution, though certainly not the only one. Ubuntu would do well to find a similar way to meet in the middle. As much as I love a unified installer and updater, as done by Ubuntu it causes me more frustration than enjoyment. I consider the package manager to be the worst regular experience of Ubuntu.
195 Comments
View All Comments
Telkwa - Wednesday, August 26, 2009 - link
Nobody's going to agree with the entire article. I'm just glad to see Anandtech paying some attention, and would welcome any articles, tests, reviews, etc.It's embarrassing to visit the "Linux" tab and see the latest article was posted in July of 2005...
Geraldo8022 - Wednesday, August 26, 2009 - link
This is based on Ubuntu and I installed it this past weekend. I am having certain issues with it. Yes, it is free. Overall I like it very much and am pleasantly surprised. But, this has shown that Windows 7 will be a comparative bargain to me. I do not have the time to sit in front of the computer and play with Linux; trying to find out why certain videos don't play and why I am having eye strain and clicking on an audio link that doesn't play and a few more. When I go to the Mint forums I am confronted with a Tower of Babel what with all of the acronyms, and told to go to the terminal and type $surun%(8#**#. Ok, now turn your head and cough.I'll keep Linux on this machine to boot up and play with now and then. It beats solitaire for the time being.
VooDooAddict - Friday, August 28, 2009 - link
You hit on a good point. People I've setup with dual booting linux distros and windows begin to appreciate what they are paying for with windows. Typical response is "This is cool (Ubuntu) and I can see why some people like it. But I'm going to stick with windows, it's worth the money to me."They appreciate that Linux could work, but see the "value" in paying form something familiar.
VooDooAddict - Friday, August 28, 2009 - link
I run Vista on my main PC. Vista on all the spare LAN gaming PCs. I have an Ubuntu 9.04 VM and Ubuntu Netbook Edition on my old tablet PC (small and netbook like).Locutus465 - Wednesday, August 26, 2009 - link
Just out of curiosity what user mode were you having guests run in? Even in vista I don't provide anything greater than standard user. With that guests need my password (which they don't have) to mess my machine up. Going back as far as Windows 2000, as long as you pair Windows with good spyware (spybot, or for XP defender if you choose) and antivirus (I like Avast and AVG both free and have nil footprints) you basically don't have to worry about system security as long as the person is running a standard user account.My my parents system, we went from having to wipe and reinstall windows every time I came home from college, to a rock solid system that absoultly never failed when I performed these steps. I still like the XP/2000 behaviour of simply denying access better than the current UAC implementation. But Vista 64 + UAC (active) seems to be secure enough, particularly when paired with the aformentioned anti-virus software.
Ryan Smith - Wednesday, August 26, 2009 - link
For what it's worth, it's an admin account. I know, I know, I could do Limited User. But that tends to just elicit complaints. XP's Limited User mode is embarrassing compared to how well Vista/Win7 does it.Since it's basically just a web browsing laptop anyhow, it's basically a perfect fit for Ubuntu since I wouldn't need to be concerned with Windows malware period.
leexgx - Wednesday, August 26, 2009 - link
i have to agree even XP in its standered/limited user account mode quite hard for stuff to install but not imposable (Vista and win7 with UAC on and an standered account with the admin account passworded should prevent the system from been messed up)aguilpa1 - Wednesday, August 26, 2009 - link
It seems the OS does not like core 2 duos and nvidia 9800GTX graphics, something even OSX was able to handle.samspqr - Wednesday, August 26, 2009 - link
* for me, the best possible way to install applications on any OS, but specially in one that is free (libre) is as follows: you search on the internet for the best program to meet your needs, you find it, you copy some code that identifies it, and paste that in your package manager, which then connects to some database, checks that the program is not malware, looks for the latest version, and proceeds to download and install it, not caring whether it's open source or not; this would beat windows/OSX by a wide margin, and also the current ubuntu system, whose "we don't like this software, on philosophical grounds, so it's going to be a pain in the ass for you to install it" attitude is a bit too problematic* it would be nice if the "auto" option in the installer told you what it's going to do with your hard disk before going on to do it; I never use it, out of fear it might try to do something I don't like
* I missed some comment on that section on how Photoshop CS3 costs a lot of $$$, while GIMP is free
* along these lines, the comparison of total costs in time and money of installing windows/OSX/ubuntu, with all their companion programs, is striking
samspqr - Wednesday, August 26, 2009 - link
and about openoffice:* I didn't check this ltely, but aren't there still problems with VBA compatibility? if I can open my xls/xlsm files but I can't run my macros, it's no good; I have a ton of stuff written in VBA, and I'm definitely not doing all that work again
* the ribbon UI in office 2007 is a royal pain: it's only good for the "It looks like you're writing a letter" users, and you can't get rid of it; there's a lot of people doing real work on excel, and none I talked to likes that ribbon thing, they'd all rather stay with excel 2003