Installing softwares in Linux

Applicable To: Ubuntu, Ubuntu family distributions, Linux Mint, Debian(partial) and derivatives.
Updated: Wed 15 Jun, 2016 GMT

There are several ways of installing softwares in linux and they are described in many tutorials. this tutorial will cover most of the processes of installing softwares in a linux system.

Online installation:

#1. Through a software manager:

First open the terminal and run this command to get the latest version of the software:
sudo apt-get update
Then
  1. Open software manager/center. it's in the menu.
  2. Search your desired software in the search box
  3. If it's in the list then it will appear before you .
  4. If it's not in the list follow the instructions in the ppa installation section of this tutorial.
  5. Now double click on the desired software entry and then click "install".
  6. It will be installed on your system as per your network connection speed.

#2. Through synaptic package manager:

If it is absent in your linux distribution then you will have to install it through software manager/center first. To me it's the best way to install softwares in linux.
  1. Open synaptic package manager. click reload to get the latest version of the softwares.
  2. Search your desired software/s in the search box.
  3. Right click each software you want to install and mark them for installing. it will mark additional dependencies on it's own.
  4. If your softwares not in the list follow the instructions in the ppa installation section of this tutorial.
  5. After marking for installing, click apply
  6. It will download and install the marked softwares.

Additional info:

If you have a list of softwares then save the file with the list, with .list extension (this file should contain the exact package name one at every line with an extra string "install" included after each package name preceding by an space/tab). then go to file->read markings and then brows to the file and open it. synaptic will mark the softwares in the list automatically.

#3. Through terminal:

If you know the exact name of the software then you can install it through terminal by simply entering the command:
sudo apt-get update    (to get the latest version) 
sudo apt-get install software-package-name
That's it. If it says "unable to locate package..." then follow the instructions in the ppa installation section of this tutorial.

#4. PPA installation:

If your software's not in the software list then it may come from private package archives (PPA's).
These are private development of softwares so use it at your own risk.
Steps:
  1. Search google for the ppa address for your software. (like ppa for package-name)
  2. Then add it to the repository by entering this command in terminal:

    sudo add-apt-repository ppa:.....whatever_it_is

  3. Then run this command (must)

    sudo apt-get update

  4. Now your desired software is in the list. so you can follow one of the above processes (#1,#2,#3)

Offline installation:

Say, you downloaded your desired softwares from some website. in this case if you don't trust the origin of the software then don't install it or install it at your own risk. Your downloaded softwares may come as a .zip, tar.gz, tar.bz2, .deb, .rpm, .tgz, tar.xz or any other types of archives. If you are in linux mint or in ubuntu or in a debian based OS try to download .deb packages because it's easier to install in debian based OS.

#5. Installing .deb packages:

through terminal:

cd path_to_the_directory_that_contains_the_.deb_file
sudo dpkg -i filename.deb

Through gdebi package manager:

if gdebi is not installed then you have to install it through one of the processes #1,#2,#3 (requires internet connection)

Then double click on the .deb file or open the file with gdebi package manager and click install. It will be istalled soon.

#6. Installing .rpm packages:

rpm has to be installed in the system, otherwise follow one of the processes #1,#2,#3 to install rpm (requires internet connection)
cd path_to_the_directory_that_contains_the_.rpm_file
sudo rpm -i filename.rpm

#7. Installing from archives(.zip tar.gz.......etc):

these archives generally conatains the source of the package. each of them generally has a different approach to install. I will be discussing a common method which will supposedly work for all of them. General requirements:
  1. flex
  2. bison or bison++
  3. python

As these archives contains the source, your system needs the required programming languages to compile and build the source. so the general requirement packages stated above may not be sufficient for you. in that case you have to install the required packages through one of the processes #1,#2,#3 (requires internet connection). You can know about the dependencies about your software in a readme file included in the archives.

Steps:
  1. Open the archives with archive manager by double clicking it, then extract it.
    cd path-to-the-extracted-folder
  2. Inside the extracted folder look carefully....
    1. If you find a file named configure then :
      ./configure
      make
      sudo make install
      
      If the first code fails to execute then run this code before above codes:
      chmod +x configure
    2. If you find a file named install.sh then
      chmod +x install.sh
      ./install.sh or sudo ./install.sh (if it needs root permission)
      
      or you can double click it and select run in terminal or simply run.

      N.B: Sometimes there is a file, something like your_software_name.sh is found instead of install.sh. for this case you have to replace install.sh with the correct name in the previous codes.

    3. If you find a file named install then
      chmod +x install
      ./install or sudo ./install  (if it needs root permission)
      
      or you can double click it and select run in terminal or simply run
    4. If you find a file named make (if there is no configure file) then
      make
      sudo make install
If you still can't find the required files then it may be in a special folder (generally in a folder named 'bin'). move to this folder with cd command with appropriate path and then look again and follow the same process.

#8. Pre installed archives:

Some packages are archived as pre installed packages i.e you don't have to install them , you just need to extract them in a secure place and theres an executable file (name is generally same as the software name) in the extracted folder or in child folders like bin,build etc. you have to find it and make it executable.

Example: eclipse, adt bundle (android developing tool)

Code to make executable:
chmod +x filename_with_exact_path
Then you can run it with :
cd filename_with_exact_path
./filename
or double clicking it and selecting run in terminal or run, whatever supports your software.

#9. Installing .sh files:

Some softwares come with a .sh file to install it
chmod +x filename.sh 
./filename.sh  or sudo ./filename.sh (if it needs root permission)
or double click it and select run in terminal or run, whatever supports your software.

#10. Installing .run files:

Some softwares come with a .run file to install it
chmod +x filename.run
./filename.run  or sudo ./filename.run (if it needs root permission)
or double click it and select run in terminal or run, whatever supports your software.

Additional info about offline installation:

Often, softwares generally have a lot of dependencies. You need to download all of them, which sometimes can be very difficult and tiring. for this you can follow the instructions here which will save your time and effort.

W: The first three online methods are the safest way to install a software. For other methods you have to take risks of potential damage of your system or software dependencies.