Know why software installation is difficult on Linux? It’s a secret. I can’t tell you.

I love this line from Preston Gralla’s latest bit of anti-Linux propaganda:

But when you try to install new software [in Linux], or upgrade existing software, you’ll be in for trouble. I won’t get down and dirty with the details here, but believe me, it’s not pretty.

Actually, I don’t believe you. Why should anyone? I find it quite pretty. I find it beautiful and simple.

Since Gralla doesn’t want to spend the time explaining to you the details of software installation in Linux, I will. I will get down and dirty with the details here.

I’ve been using Ubuntu for the past four years straight. When I want to install software, this is what I do:

  • I click with my mouse on the Applications menu.
  • Then I select with my mouse the menu item Add/Remove.
  • I do a search in a little text search field (which I can click in with my mouse) for the software I want (or what the software does) and then some results come up in the search with little pictures and descriptions next to them.
  • I pick the result I want and check with my mouse the little checkbox next to it.
  • Then I click with my mouse the Apply button.

That’s it. Some pretty dirty details there. If you want to see screenshots of this “not pretty” process, you can visit my Ubuntu software installation page.

And the best part is that I don’t even have to worry about upgrading applications. Every six months when I upgrade Ubuntu, all my applications automatically get upgraded. How easy is that?

Gralla, welcome to 2009 (or actually even 2005). I don’t know why you’re still using Linux distributions from ten years ago. Do I make judgments on Windows based on my experiences with Windows ME?


  1. People complain about a lack of software availability for Linux, but when I’m forced to use Windows I’m more struck by that. On my computer, when I need to do a task, the software I need is usually a couple clicks away. When I have to use Windows, I usually have to go buy something either online or in a *gasp* store.

    Talk about inconvenient!

  2. Well, in this case, the criticism is more about the difficulty of installing software instead of the availability of software, but I guess the two are related.

    I’ve been able to find a wealth of programs in the repositories. And the few I haven’t found have been available as double-click-to-install .deb files.

  3. I agree with you software installation in Ubuntu is very very easy. when you want to install something in Windows you have to get online, search for a program, download it, install it, make sure you firewall won’t block it, and then restart your computer.

    On I just goto add or remove programs, and unlike Windows Ubuntu has a huge list of software and adding the software to my system is as simple as clicking on a checkbox and hitting apply. Not very hard at all.

  4. and don’t forget about the whole “all software on the system gets updated instead of just Microsoft stuff with Windows Update” thing, I find that rather nice

  5. To amplify on what Scott just said, ‘Security Updates’ for Ubuntu are checked for/available daily, not just on one Tuesday of the month; the Ubuntu/Linux community is prompt about fixing things; and the ‘updates’ update the operating system, *drivers*, the pre-installed applications, and every application you add to your system from the supported repositories. You can even make it all happen automagically, if you choose. Effortless!

    Windows model of obtaining and updating software is a disaster — anyone who’s had to re-install their (Windoze) operating system after a malware attack knows this too well. This includes finding/updating drivers as well. And they all install differently — a sea of “standards”.. (Nice thing about standards.. so many to choose from.) What makes matters worse yet is the dismal failure of ensuring that applications UN-install when you don’t want them on your system. Windoze apps are notorious for leaving bits & pieces of gunk and goo in various places scattered around your system…

    Ubuntu’s model for obtaining, installing, and removing software is WONDERFULLY uniform, consistent, and competently complete. Software arrives in units of “packages”, which are intelligent: They know what other packages they need to run properly (and will request them, too, as needed), they install in a minimum number of locations (sometimes in just one directory), they know how to uninstall themselves completely, and they almost magically do all this compatibly with other software on your system. (Most likely ‘Windows Update’ was inspired by this, but it’s a poor & incomplete copy… and way late to to party.)

    And again, it’s SO NICE that drivers for hardware act the same way! No more wasting your life running down and keeping up to date with hardware drivers for Windows!

    I don’t know about other Linux distros (I only have other experience with RHEL), but the LAST thing anyone should be attacking Ubuntu on is their software management model, *especially* in comparison to Windoze! I’ve actually sold people on trying Ubuntu based on just the above — how could it be a drawback in anyone’s mind??

  6. We might also mention that there’s also a second option for Ubuntu “power users” when it comes to software installation: The Synaptic “package manager” application, which I somehow took to using exclusively for my customizations from when I started using Ubuntu (6.10). It’s more “under the hood”, but it gives access to MUCH more ‘stuff’ that’s available — some of it very powerful/useful (to those who need/know). Perhaps this is the ‘secret’? :^)

    Synaptic is almost as easy to use as the Applications > Add/Remove.. applet — it just starts out being more intimidating to someone new to Linux. And that’s mainly because it’s terse (as opposed to ‘complicated’, which it’s not). And that’s because it’s intended to be a power user’s and sysadmins’ tool. (Although, as we all know, “the true sysadmin” wouldn’t be caught dead using a GUI and would be typing “apt-get” in a terminal window.. ;^)

    I also use Synaptic because, being the curious person I am, and wanting to learn more & more about the system I’ve come to love, I want to be able to see what it’s doing. I’ve also “discovered” other useful software just by using Synaptic itself.

    The only criticism I’ve had with Synaptic, though, is the difficulty of determining “What is it that’s available?” I’m not going to install something if I don’t know about it… There’s no community resource that I’m aware of that has that knowledge in one place, although the Ubuntu Community help pages do cover a lot and is a VERY helpful resource in this regard. (Sometimes the Ubuntu forums are, too, although they’re more useful for things like troubleshooting.)

    It’s just that I often have the impression of “I know I’m only seeing the tip of the iceberg of what’s available in Linux… What am I missing that I don’t know about?” And how to do I find out?

    For example, for the last two years I’ve been gradually downloading more & more of the individual packages that are loaded by the ‘ubuntu-restricted-extras’ package. My list of “this is what I install whenever I build an Ubuntu system” has been growing with my knowledge & understanding… Then I only recently ‘discovered’ URE, which is a handy ‘one-stop shopping’ for many of those packages. Oy! But where to learn about things like this?

    The repositories are too big to browse (unless you like “reading the phone book”), and the ‘names’ are often too cryptic to intuit. The descriptions are ‘okay’, but often lack useful detail for decision-making. I end up relying on information I find elsewhere — the Ubuntu pages, blogs, websites, articles, books, etc. — to tell me about software to consider (or research) as useful.

    Once I know what to go after, I can find it and install it right away with Synaptic. It’s almost too easy!

    That works… And what I learn is great. (I’m curious, diligent, and Ubuntu fosters confidence.) It’s just that I’d like to see a resource within the Ubuntu community –beyond what’s there now (there’s a lot there now)– that categorizes, explains, and/or ‘suggests’ (in the vein of “if you want to do such-and-such, you should consider this as a solution”) various packages that are available in the repositories. Something oriented towards power users such as myself who are becoming Linux experts but aren’t at the guru level (and may never be).

    To be sure, it’s not like my “computing experience” with Ubuntu is anything less than a joy and I have been able to effectively migrate out of Windows completely and do everything I need in Ubuntu. I have and I do. One of the joys of using Ubuntu IS its software management scheme. (I’ll be nice to Preston Gralla and suggest he’s ignorant, although he sounds too biased to bother to simply “try it and see” — he might have to change his mind!)

    Another example: I open the SSH port on the collection of PCs I help administer so that I can get in when needed. (I learned to run VNC –well, essentially EVERYTHING remotely– through SSH.) What else should I download, install, and configure to keep my system secure? I’m currently learning about all the options and packages that are out there to meet this need (and is how I found this blog), but it’s more of an effort than it seems it should be… And frankly, I can see this as off-putting to new users and non-power users — like my 71-year-old mom who’s been happily using Ubuntu (now exclusively) for nearly a year now.

    If one wishes to point out issues with Linux that need more attention for it to (more quickly) become the “desktop operating system of choice” (and let’s face it, that would be Ubuntu), then it would be the sort of fuzzy gray area between the two issues I’ve just presented. No doubt a LOT of progress has been made there..!

    But in no way would anyone in their right mind –or who wanted to avoid being laughed at (Mr Gralla)– try to make a case against Linux on the basis of software installation and upgrading. It’s so sweet, it’s a selling point!

  7. I have to disagree with you on this one, but only on technicalities. You’re right in 95% of cases where you want new software. However, not all new software is in Synaptec or the Add/Remove area. .deb is easy enough, but some tarballs can get mighty, well, sticky. I remember as a new Ubuntu user needing several help pages to install 64-bit flash and java and getting them to work with Firefox. And even with Kilz’ script, you did absolutely have to use the cli, which is a major buzzkill for someone straight from Windows.

  8. Dan, I agree with you… That “remaining 5%” is an area that needs improvement, some sort of solution. I myself am not too optimistic that some sort of “universal install script” will arrive that will automagically solve these various kinds of problems that you indicate. I’ve run into some myself, too — only, not lately.

    It’s fair to say that any and everything that can be considered “common”, (such as 64-bit flash) SHOULD have a packaged solution, and useful things that are maybe not-so-common ought to at least have procedural ‘How To’ resources that are easily found and well written. (Many do exist in the Ubuntu Community help pages — This is VERY nice!) At least in the latter case you can ‘copy-paste’ from a webpage into the CLI; you don’t have to compose commands, which is maybe the greatest turn-off.

    And progress continues to get made in these areas, as it should. We can’t expect Ubuntu to arrive on the scene in perfect form, but we can expect it to make steady, measurable progress towards perfection. In the case of 64-bit Flash, it was a terrible situation at first! I myself simply didn’t use Flash on my 64-bit machine as a result… (I was lucky to have a second 32-bit machine then.)

    But now ‘Flash for 64’ installs just like anything else, no problems, and the user never even knows it’s having to run in a 32-bit compatibility mode w/ associated libraries. It’s “just another package” now, all those messy details fully hidden. This is pretty much the norm as I’ve seen it happen over the last two years. It’s nice to see computing get EASIER and more satisfying, as opposed to becoming more complicated in covering up and working around inherent design flaws… like some infamous corporations do.

    Some things we have to wait for, one of them being solutions that eliminate the need for the dreaded CLI. But the CLI, when it’s relegated to being a tool to fix/troubleshoot, is another selling point. In Windows, which is all GUI, if something doesn’t work right, poor you! But because the GUIs in Linux are essentially shells around the CLI, you can “open the hood” –if you have the expertise, or someone’s script or published “how to” (and the chutzpah)– and find ways to work around, or even permanently fix things.

    Last resort? Submit a bug report — the end-users can do this; I have. Wait for a fix to arrive. The Linux development community is like a talented non-profit software corporation that’s world-wide and runs 24/7 to close security holes, fix things that don’t work, and add new, more useful, and easier features. They don’t play ‘image politics’ (i.e., ignore or lie about their problems) or wait until the 2nd Tuesday of the month to release things.

  9. While installing through your distro’s package manager is easy, a large majority of Linux software is distributed manually, just like Windows software. The key difference is that the common distribution philosophy on Linux is too offer a source tarball, rather than binaries. From a technical perspective, this makes a lot of sense, as you avoid tons of licensing issues (no need to include dependencies statically or not), the compiler can optimize for the current system (whereas binaries are usually compiled so as to be compatible with most computers, rather than cutting edge), etc. The only problem is that often, compiling turns into a nightmare of tracking down dependencies (unless the developer was really good about documenting the requirements), and deciphering compiler errors. That’s not to say building from source can’t be easy, I got x264 building with only about 3-4 commands, thanks to a good makefile and README. However, Windows does have the upper hand when it comes to ease of use and speed. Regardless of the complexity of the program in question (be it a calculator or a monolith like the Adobe Collection), you as a Windows user EXPECT it to be as easy as spamming a “Next” button, and 90% of the time, it will work without any problems immediately.

    I admit there are a lot of sacrifices when choosing to distribute a generic binary, however, it is very much easier than building from source, and takes less time.

  10. It was too cool finding this blog. Here we are almost a decade later and while many of the’issues’ pertaining still exist, Linux desktop distributions have evolved to be quite remarkable. Some software still needs to be installed from source but that is one of the reasons we Linux users love this OS so much.
    KDE was going through some bad growing pains about the time this post first released. The next few years almost saw a complete exodus away from KDE. It had become a beautiful but buggy hot mess that was barely usable.
    Now KDE is hitting a stride that is almost unmatched while Gnome is slipping into an almost unusable state. Not because of bugs but because of the direction its developers are taking. They are stripping Gnome of everything useful. Nautilus opens and closes files and that will soon be all it can do.

    KDE Plasma is a lightweight power users dream and Cinnamon is the new Gnome. At least, it’s the best GTK desktop environment along with Mate and Xfce. Of course, that is my opinion. I don’t hate Gnome but won’t use it anymore.

    What amazes me most is that a decade later the same nonsensical beliefs still persist concerning Linux. It is more graphical now than it was then. Software and package managers allow you to install just about anything. Snap, FlatPak, and Appimage are allowing software to be installed that wasn’t available ten years ago. Wine can run most Windows programs and does it well.

Leave a comment

Your email address will not be published. Required fields are marked *