I'm new to Ubuntu and have been away from Linux for a while. I'm used to Windows and find this tedious on Linux but I want to give it a shot.

My tendency is to prefer GUI tools over command-line, and Ubuntu is a distro that seems to cater to usability. I note it is based somewhat on apt-get which I've heard good things about.

What's the best practise for installing apps on Ubuntu? Should I prefer to try my options in this order?

  1. Synaptic Package Manger
  2. apt-get on the command line
  3. .tar.gz files (old school)

Synaptic will cover 95% of things most average everyday users will need to install.

Using apt-get from the shell will cover you if you need to install a whole bunch of packages easily and quickly, but synaptic and apt cover the same repositories, so it's the same stuff to install just harder to find.

Doing it "old school" is usually only required for smaller apps and things you need to compile yourself from source. This is the other 5%.

  • 2
    I think that 5% number is actually pretty high. I used to install lots of things the "old school" way, but I hven't really had to do that in the last 5 years or so. The Ubuntu apt repositories (after including universe and multiverse) have pretty much everything I've wanted to install. Oct 7 '09 at 5:40
  • Maybe you're right, I guess I tend to use a lot of obscure software :)
    – snicker
    Oct 7 '09 at 5:53
  • 2
    Alot of obscure software, or alot of up-to-date software. Either would be a reason to not use apt Oct 7 '09 at 6:19

In addition to

1) Synaptic Package Manger 2) apt-get on the command line 3) tar.gz files (old school)

there is 4) Applications - Add/Remove Programs option

which should be the first in your list, in my opinion :-)


use aptitude search to search the software you want to install

use apt-get to install the software you founded in previous step

  • This method works well... for beginners: sudo apt-get install <what you want to install> Apr 10 '10 at 22:51
  • Why if you use aptitude you should install via apt-get?
    – dag729
    Jul 22 '10 at 15:35

To add my own two cents, I would look for .deb packages before tarballs as they are supported in Ubuntu the same way .msi installer files are supported in Windows. The main difference between the .deb in Ubuntu and .msi is that .msi has to contain all the dependent packages, or they have to already be installed, while Ubuntu will download (through Synaptic) needed dependencies and install them for you (with a prompt of course).


When Ubuntu 9.10 is out at the end of the month, this should become a lot more intuitive.

It's going to roll all of the GUI software installation features into a single interface, called the 'app store'.

  • Recently renamed to Software Store (probably renamed again since I heard that) Oct 7 '09 at 11:57
  • That will be very welcome. The problem with synaptic is that it is a giant "vat" of things that one can install. There is no way to tell if an item in synaptic is a complete application or just a dependency. An app store, hopefully, will display complete applications and provide pointers to documentation for getting started.
    – Angelo
    Oct 7 '09 at 17:16

Note that if you want more current versions than are available in your distribution, you can uncomment the "backports" lines in your /etc/apt/sources.list. Penalty: somewhat less stability and security, since your specific combination of packages may not have been tested together.


You need a different last-ditch, just-before-old-school thing to try. Synaptec, aptitude and apt-get are all great tools but they use the same installation process: search (generally) remote repositories, check dependencies, download files, and install the package(s). The package manager they're all built upon is dpkg.

Sometimes you need to shoehorn a package in manually, in which case you'll download a .deb file and run this:

dpkg -i mypackage.deb

So that's your option 3. Naturally there are lots of options to help force a package to be installed despite missing dependencies, but they can be a pain.

Option 4 remains the old-school approach, with the caveat that they should always be installed under /usr/local, under /opt, or in a home directory -- since they aren't part of the package system, a later package install could overwrite them, so keep them out of the typical system directories if possible.


Installing through the repositories via Synaptic, aptitude and apt-get is recommended because if any packages in the repos get updated, then those updates will push through to your system.

Applications under constant development however will only have the latest stable build in the repos, and if you like more up-to-date versions (that include serious bug-fixes for example), the application website usually offers a downloadable .deb setup package.

Some applications only offer source code tar.gz downloads, but usually include instructions for compiling the source. As snicker said this is only for about 5% of them.

If you are looking for games specifically, playdeb.net has an installable package (.deb) that integrates your web browser into their site, allowing easy one-click installation off a game page. This is still in beta, and although advertised for Jaunty and up, it installed fine on my Intrepid system too.


Avoid the tar.gz method, but whenever you need it, make sure you don't overwrite any files written by apt-get (or synaptic). By default ./configure will cause make install to install files under /usr/local; you can be extra sure by creating a user 'local', running

chown -R local /usr/local

and using

sudo -u local make install

instead of running it as root.

I also install each package in its own directory, then symlink them into one place with something like stow, so I can keep them separate and have multiple versions installed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.