I am a beginner trying to understand how installation of software works in Ubuntu. I have installed a lot of softwares on my system but everytime I want to install something I will just google and follow without really understanding how it works.The different ways I have done installation

  1. sudo apt-get install
  2. Download .deb and use dpkg
  3. Install from Ubuntu software center
  4. Synpatic package
  5. Add link to sources.list
  6. Using PPA

Why are there so many ways to install a software?. what is the difference? How does these different ways of installing it works? Any help or links would be appreciated.


I'll step you through each method.

  1. apt-get uses the Debian PPA system to install software. It is what goes on in the background when you install software from the software center.
  2. dpkg is even further in the background. It is what Ubuntu uses to actually install software, as opposed to simply managing it. You should not use this method if you can help it, since higher-level methods, such as apt-get, are superior in utility.
  3. Installing from the Software Center is the highest-level method of package installation. It is not designed for advanced users, who tend to prefer apt-get. However, it makes the Ubuntu ecosystem more accessible for the general user.
  4. Synaptic package manager is like a GUI alternative to apt-get. For apt-get, you need to know the name of a package. Synaptic instead lists packages that your computer knows of, and allows you to install those by clicking on them. It is more advanced than the Software Center and still has the same usage of apt-get.
  5. Adding links to sources.list is a way to add a PPA that may require a key. This is the method for installing some proprietary apps like Google Chrome. Doing this does not actually install the app, you still need to update your sources, then perform apt-get install or use Synaptic afterwards. Like Sparhawk said, these can also be used for official repositories, whereas PPAs cannot.
  6. PPAs are needed to update software. They are generally what is used to install as well. They are also the main reason apt-get is superior to dpkg for the installation process. apt-get can provide you with updates and dpkg cannot. As Sparhawk said, it is important to note that PPA stands for Personal Package Archive. These are not official repositories, which instead belong in sources.list.
  • Good answer mostly, except PPAs are "Personal Package Archives", i.e. they are for non-official builds. Similarly with adding things to sources.list, although one can also add official repos here. – Sparhawk Apr 10 '14 at 10:55
  • Good edit.. +1. – Sparhawk Apr 11 '14 at 4:14

Dillmo's answer covers all the methods that you mentioned, but I can think of two more that are more manual methods of installation.

You might need to manually download the binary and run it from your computer directly. For example, I had to do this with the academic citation software Jabref, as the official repositories had a year-old beta at one stage.

The other method is actually building from source yourself (i.e. with build, make, install). I did this recently for the KDE widget "STDIN plasmoid", which was otherwise unavailable. There is also an excellent utility called checkinstall that creates fake packages for these manually builds, allowing easier uninstallation.

In answer to your question, "why are there so many ways to install a software?", there are two main reasons. As Dillmo states, some are backends to others. This is because people prefer the ease of different frontends and GUIs.

The other reason, primarily relating to my examples above, is availability. Some developers don't package specifically for Ubuntu, and that's why you have to manually install.


It may seem that there are many ways to install softwares in Ubuntu(or GNU/Linux), but behind the hood, there is only one thing that all applications do: copy different files in appropriate locations and make the system aware## that a new software has been added

##sometimes you may install softwares manually in directories like $HOME or using a .bin file , in such cases system is not aware of the installation)

apt-get and dpkg are command line tools(backends) which you can use to install software.They can be comparatively difficult than software center but provide more functionality.

Ubuntu software center and synaptic package manager are GUI tools(frontends) which use the command line tools to install software. they are comparatively easy to use but provide less functionality.

sources.list is the file where your ppa are stored. ppa are kind of links that apt-get uses to find softwares, install them and update them.

Note that you may also install software by manually copying necessary files to appropriate locations.

  • "make the system aware that a new software has been added". I agree mostly, but not always, as per the manual installations in my answer. – Sparhawk Apr 10 '14 at 11:07
  • @Sparhawk I wanted to keep it simple.However now I have made a edit.Thanks. – Registered User Apr 10 '14 at 11:22

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.