Installing software on Ubuntu Linux
in

If you want to use Linux for music production, you'll obviously have to know some important things about Linux as well. One of the most helpful things to keep in mind when using Linux is that there are almost always choices how to go about things. And this includes installing software. I realised that in my article about selecting Linux music production software I didn't mention how to actually install the software. And here you have lots of choices as well. As always, with choices come responsibilities, and the main responsibility here is understanding what's happening. Different distributions use different tools for this process, so I will use the Ubuntu tools as an example (but even in Ubuntu there are more ways than described here). Let's get started:

First things first

Linux (as a whole, not just the kernel) is highly modular. There are many small pieces of software on your system that can be used by many applications. This allows the developers to use code written by others as part of their application. These small pieces of software are known as "packages". So each application you install usually depends on other packages being present on your system. This could be a problem, since you would have to know which packages are needed (this is known as dependencies) and then install them. Fortunately most distributions offer tools to take care of the grunt-work for us. With that out of the way let us take a look at a few different ways of installing software on Ubuntu:

"Add/Remove..."

This is the easiest way of installing software and you'll find it in the "Applications"-menu. Find the application you want, click "install" and everything you need is fetched from the servers and installed. Everything? Well, in most cases yes, but there are a few exceptions. Denemo, the music notation software is one for example. Denemo is a graphical front end for LilyPond. This is a compiler that translates special text files into printable music. So for Denemo to put out anything useful, you need to install LilyPond. Yet installing Denemo with "Add/Remove..." will not install LilyPond. And it gets worse: you can't install LilyPond using "Add/Remove...", since it is not included in the list of available applications. So how to go about this? Use a more powerful tool:

Synaptic package manager

Synaptic package managerAs I explained above, Linux software comes in packages, and the Synaptic package manager provides access to the individual packages. So this is a more powerful tool than "Add/remove..." that we can use to install software. You don't need to worry about dependencies here either, since that is taken care of behind the scenes. As in "Add/Remove...", the packages are divided into categories, but there are a whole lot more categories available. If you know in which category a package is (some are quite intuitive), go ahead and install it. But in some cases they might be a bit harder to find. As it happens, LilyPond is a perfect example of this: it is to be found in "TeX Authoring (universe)", not an obvious choice if you are looking for a music typesetting program. But there is an easier way: by entering "lilypond" in the search-box, not only LilyPond, but Denemo (and other applications) will show up in your results. Here you can mark the ones you'd like to install and then press the "Apply"-button. (While you're at it, I recommend you install "lilypond-docs" as well, just in case you want to move beyond what Denemo can do: LilyPond can do a lot more than what Denemo gives you access to)

The really fast way

If you know the names of the packages you need (such as "lilypond-docs" as mentioned above), you can also use to command-line to install the package really quick. I will write more about the command-line interface in the future, but for now, I'll assume you know how to access the command-line interface (Applications -> Accessories -> Terminal). The package manager to use here (remember, this is for Ubuntu and derivatives) is called "apt-get", but in order to install packages, you need to give it 'super user' privileges using "sudo". In the example of installing Denemo, LilyPond and LilyPond's documentation you would issue:
sudo apt-get install denemo lilypond lilypond-data lilypond-docs
and press enter. Next, apt-get will ask for your password, fetch and install the necessary packages. As you can see, you can specify multiple packages in a single command, so if you know what you want to install, this is a really fast way to go about stuff. In fact you are "cutting out the middle-man" since both "Add/Remove..." and the Synaptic package manager are front-ends for apt-get.

So there you go: a number of ways to install software on Ubuntu. Mind you, even in Ubuntu there are still more ways to install packages (gdebi, dpkg) and on other distributions you'll find other methods of package management (for example 'pacman' in Arch Linux). A little run through your documentation or on the Internet will reveal what you need to know. I hope this information will provide you with at least the basics of installing software on Ubuntu. If you have any questions left, you can of course use the comments for them, I will try to answer them as soon as I can.

Related articles: