Neil Turner's Blog

Blogging about technology and randomness since 2002

Installing software

Quite a bit of my spare time recently has been spent installing software on my Mac, and I’ve commented about how easy it is. Last night Mario left this comment and I felt I had to respond:

Even though I think OS X is the most user-friendly and easy to use OS out there, can software installation be any easier than on a Linux distro with apt-get and the Synaptic front-end? I mean, of course dragging an app from a disk image (which you have to extract) is really easy. But prior to that, you’ve got to find and download the image. On a Linux distro like Ubuntu, you do a search in Synaptic, click on install and you’re done.

On the one hand, Mario is right. Installing or upgrading software in Ubuntu using Synaptic is a breeze – even simpler than on OS X. But what if the software you want isn’t available as a package?
This is one of Linux’s biggest problems, and was part two of Asa Dotzler’s reasons why Linux isn’t ready for the desktop. If the program is not on the list, you’re basically faced with three options:

  1. Wait until someone creates a RPM or DEB package specific to your distro – fine if you’re using a major distro like RedHat or Ubuntu but not so good if you’re using a less well-known one
  2. Download the binaries yourself
  3. Download the source code and compile it yourself

The middle option is what Windows and Mac users generally do anyway. Now while software generally just installs and works on these two OSes, because of how Linux has been designed it can be quite a bit more difficult. You may not have all of the relevant dependent packages – I believe that Fedora, for example, has to offer its own version of Firefox because Mozilla’s official build may not work with it. And if you do, you may have an incompatible version. It’s more humps to jump through and shouldn’t be necessary.
It also brings up an interesting point about security updates. Asa’s example of Firefox 1.0.6 was a good one – at the time he wrote the article 1.0.6 had just come out yet many distro vendors were still only offering packages of 1.0.5, or even 1.0.4. What if versions prior to 1.0.6 had a huge security hole that was being actively exploited? If a user of 1.0.5 gets affected, but couldn’t upgrade to 1.0.6 because the official binary wasn’t compatible with their system and the distro vendor didn’t have a package ready, then you have a problem.
As for downloading the source code, this isn’t really an option for ‘newbie’ users. Compiling generally means using the Terminal which is a scary place for any user who doesn’t know their way around the Unix command line, and means knowing the answers to all sorts of questions that the Make script may ask. Sure, it may be courteous to ask the user if he/she wants x feature installed but if the user has no idea what x is then it’s confusing. And it can also take ages, especially for complex software like Firefox – Henrik Gemal has a guide for compiling Mozilla products in Windows and it goes to 14 steps.
So software installation on Linux can be very easy. It can also be an absolute nightmare.


  1. Hey cool, I’ve earned my own post! 🙂
    Of course you’re right that installing software without Synaptic (or at least apt-get) is very often an annoying process.
    But so far, with all the extra repositories available, I was able to find everything I could wish for with Synaptic.
    All important security updates are usually very soon available from the backports repositories.
    As I said in my other post, I think there is no OS which is more user-friendly than OS X. What I like about Linux is a) it’s free and b) you’ve got a lot of choice regarding the software you use (e.g. the GUI, Gnome on a faster machine, Fluxbox on a slower one).
    But I too, would never recommend Linux to someone who just wants his computer to run without him having to do too much. There are too many situations where you have to use the terminal, as opposed to OS X, which allows you to use the terminal (which is great, shell scripts can really make a lot of tasks easier), but never forces you to do so.
    I think with this post we have discussed everything someone could hope to find when entering “linux os x comparison” in Google, Neil. 🙂

  2. Most users aren’t terribly worried about what version of package X the rest of the world have, as long as they have the latest available to them. I know I got a little annoyed about not getting Firefox 1.0.5, but going straight from 1.0.4 to 1.0.6 was actually rather good considering the problems with 1.0.5 – the guys at Fedora were either slow or quite rightly wanted to test things first.
    Most modern distros have a huge number of packages available to them in their native package managers now. And all of the software available to them in this way has been tested, and is free of spyware or viruses. Compare that to a Windows user who will randomly browse the web for cool software, not knowing what they are downloading until it’s installed sometimes.
    Back in the day you did have to ./configure; make; make install a lot, to me that was sometimes enjoyable – the challenge of getting things to work. Most users don’t want that and when you’re trying to compile weird software on bizarre architectures it is a nightmare. I think it’s a few months since I’ve had to compile anything though, and that was an Arm processor with conflicting Apache modules.
    You should come and spend a week with us to see the problems we have installing commercial Windows software sometimes. It’s not always as easy as you make out, at least not in the corporate environment.

  3. This isn’t related, but your atom feed is looking a little weird. Anyplace that there is a link or tooltip, there are no spaces around the word.
    Just thought you might want to know. 🙂