Install programs on Linux

Linux package extensions

One of the issues that continue to cause problems for newcomers to Linux or users with less knowledge is the installation of packages or how to install programs in Linux. This has been partly solved with tools like YaST, Software Center, Pi Store, and other programs to automate Linux installations like Gdebi, Synaptic, etc.

But when we download software packages that are not in the repositories of our distribution or we want to install programs in Linux with a different version than the one provided by the sources of our distro, things get more complicated. Especially when the downloaded packages are tarballs with source code.

In Windows, with Windows Installer everything is much easier, also there are no too many extensions binaries to install (.exe, .bat, .msu). Those who come from the Apple platform will also have noticed that the Mac OS X .dmg has too many extensions.

Another lurid topic in Linux (and other * nix) are dependencies, that is, packages that depend on other packages and if the latter are not installed we will not be able to install the first one. In this case, there are a multitude of package managers that make life easier and automatically resolve dependencies. Otherwise we would have to solve them ourselves manually.

IP networks
Related article:
How to know my IP in Linux

With these tutorial I intend that all this is something more trivial for you and does not pose a problem when installing programs in Linux. In the following lines we are going to describe all the most popular extensions and types of packages that exist in the Linux world and the procedure to install them in a simple way.

deb vs rpm Tux: And which one do you prefer?

.Deb and .rpm packages:

Linux is divided into two great worlds and packages represent it very well DEB and RPM. The first is used by Debian and derivatives like Ubuntu, while the second is used by SuSE, Fedora, and others.


If you are in Novell SuSE or in openSuSE, you can use YaST to install packages of this type. To do this, you just have to go to the SuSE menu, click on "System", "YaST" and then go to the option "Install / uninstall software". So we can install programs in Linux from the DVD of your distro or from the network.

If we already have the package downloaded, we can right-click on it and it will give us the option to Install. Very easy…

Related article:
Unzip RAR on Linux

If we want to do it from the console instead of YaST uses Zypper:

zypper install nombre_programa

In Red Hat more of the same ... On the other hand, if you have Fedora or CentOS, you can use YUM. Let's go first with YUM, that from the directory where the package is located, in the terminal you must write:

yum install nombre_paquete

And if there is a common tool to install RPM It is the rpm itself present in many distributions that are based on this type of package:

rpm –i nombre_paquete.rpm

In Mandriva you can use the Mandriva Control Center to install programs or RPMDrake. You can also use in text mode


urpm –i nombre_paquete.rpm


In Ubuntu, you can use the simple Ubuntu Software Center to install packages from the official repositories. From Debian it can also be installed with gdebi-gtk, graphically and easily or with Synaptic, these also work on other distros, you just have to install them.

Another interesting tool is Dselect, also in graphic mode to handle packages easily. But for those who pull the console more, you can use dpkg or apt (remember to prefix sudo or work with root privileges):

Dpkg –i nombre_paquete.deb


Apt-get install nombre_paquete

Aptitude is another fairly complete tool that you can use by typing the following:

aptitude install nombre_paquete

Other package managers on your distro:

Arch Linux and derivatives employ a package manager named pacman. It was created by Judd Vinet and is capable of automatically resolving dependencies. To install a package with this manager:

pacman –S nombre_paquete

Portage is another of the great package managers for example Gentoo. It has similarities to BSD Ports and is compatible with POSIX and the python environment. It is also used by FreeBSD. To install a package with it:

emerge nombre_paquete

paldo It is a Linux kernel operating system that uses an upkg package manager. It was created by Jürg Billeter and to install programs in Linux with him you must write:

upkg-install nombre_paquete

The Pardus Linux distro uses a simple package manager written in Python and known as PiSi. It uses LZMA and XZ to compress the packets and especially the Delta technology is striking, which allows downloading only the differences between the packets to save bandwidth. Install like this:

pisi install nombre_paquete

Tar Tux box

How to install tarballs:

Packages that are installed directly from source are packaged with the primitive, but still useful and efficient, Tar tool (hence the name tarball) and are then compressed using some kind of compressed format.

Some packages of this type come with files inside such as .jar, .bin, .rpm, ..., in that case you just have to unpack and use the correct procedure for the binary it contains. But usually it is source code to be compiled and installed.

Let's see how. The first thing, when we work from the console, is to place ourselves in the directory where the package we want to work with is located. For this we use the tool "cd”. For example, if you have downloaded a package and you have it in the Downloads folder, type in the terminal:

cd Descargas

And the prompt it will change with that path to indicate that you are inside this system directory. You should also remember that you need privileges to execute certain actions like ./configure, make, or make install… which we will see next.

Install tar.gz or tgz:

These types of tarball are widely used in Slackware and derivatives, although it has been extended to package code for the rest of the distributions. Installing tar.gz is like this (remember to run ./configure, make and make install with privileges, you know, as root or by prepending sudo to the command ...):

cd directorio_donde_se_encuentra_el_tarball
tar –zxvf nombre_paquete.tar.gz (o nombre_paquete.tgz, en caso de ser un .tgz)
cd nombre_paquete_desempaquetado
make install

If this didn't work To install tar.gz, you can access the unpacked directory to check if there is a text file with the instructions to install it. Sometimes, when they do not follow this standard procedure, developers include these types of files to explain the particularities, dependencies, etc.

Tar.bz2 or .tbz2:

It is a very used package in BSD and that has also spread to Linux and other * nix. It is packaged with tar and compressed using BSD Zip 2. The procedure to install this type of program is:

cd directorio_donde_se_encuentra_el_paquete
tar –jxvf nombre_paquete.tar.bz2 (o nombre_paquete.tbz2, e incluso nombre_paquete.tbz)
cd nombre_directorio_desempaquetdo
make install

This should suffice to install programs on Linux. Make sure you use privileges for the latest commands.

Other Tape Archive:

Sometimes a tape archive or uncompressed tar file. This type of package maintains the information necessary to fully restore the files it contains and to unpack it, you just have to do this:

tar xvf nombre_paquete.tar

Then look for a file with name README.txt (or similar) inside the unpacked directory and look for the installation instructions. Normally it is about doing a procedure similar to the previous ones ...

Tar.xz or .xz or .txz:

Lately I'm seeing more of this guy. To operate with this type of package you must have the tool xz-utils installed. To unpack and install them, use:

tar Jxvf nombre_paquete.tar.xz


Xz –d nombre_paquete.tar.xz
Tar –xf nombre_paquete.tar


Unxz nombre_paquete.xz

And once unzipped, a file is searched README.txt or INSTALL.txt to see the details of the installation, which is usually typical ./configure, make, and make install. Although sometimes cmake can be used.

.gz or .gzip or .bzip2:

With GNU Zip packages of type .gz or .gzip can be compressed. These are treated similarly to BSD Zip 2 compressed packages with .bzip2 extension. To deal with this type of packages, we must have the unzip and bunzip2 tools available in our system:

gunzip –c nombre_paquete.gz
bunzip2 nombre_papuete.bz2

The rest is similar to the steps seen with the previous tarballs ... Make sure you see the README or INSTALL files present.

.tar.lzma, .tlz:

Whether it appears by its long name, .tar.lzma, or if it appears by its short name .tlz, these packages use the Lempel-Ziv-Markov compression algorithm and to extract and install them, you must type in the console (previously you need have the lzma package installed):

unlzma nombre_fichero.lzma


lzma -d file.lzma


tar --lzma -xvf file.tlz


tar --lzma -xvf file.tar.lzma

Depending on the format in which the package is presented to us. Then you can look at some text file inside with instructions or follow the steps we have described to install the other tarballs (./config, make, make install). Another good practice is to look at the developer's website, where there are tutorials on how to install the packages or there are Wiki sites with lots of information.

* Note: you can also install certain packages packaged with a tool called installpkg.

How to install binary packages:


To install java packages it's pretty straightforward. The requirements are obvious, to have the Oracle Java virtual machine installed (either the JRE or JDK). To install it we must click with the right mouse button on it and select "Open with another application”From the drop-down menu. A window will appear with a list of applications in our system and a form line below to write one. Well, in that space you write “java –jar "Without quotes, including the space after jar that I have left. Then you click on the button "Open”And it should run without a problem. As you can see, it is not necessary to install it.


We can execute them by double clicking on them to open them, if we have previously given it execution permissions. To do this, click with the right mouse button on the file and then go to "Properties”To assign execution permissions in the tab«Excuse mes ». It can also be installed from the console by doing the following:

cd directorio_donde_está_el_binario


For .run we will proceed in a similar way to the .bin. This format is widely used for drivers, such as the AMD Catalyst Center. To install it you can use the console:

cd directorio_donde_está_el_paquete
sh ./

Remember to assign execution permissions beforehand. Also, some need to be run with privileges, in which case do it as root or with sudo.

If you want to install the .run in graphics mode, you can right-click on it and select "Properties", Then in the tab"Permissions"Brands"Allow to run the file as a program”And you accept to close. Now when you double click on the .run you will see that an installer very similar to the ones in Windows opens (type Next, Next, OK…).

Install programs in linux

How to install scripts:


In Linux we can also find scripts with .sh or .py extensions. To install this type of scripts we will go to the directory where the script is found with the command "cd" as we have seen previously. Eye! If the script is packaged, first unpack or unzip it. Then, you can give it execution permissions as you already know (you can do it in graphical mode or from the terminal with the command “chmod + x script_name" without quotation marks). Once they have execution permissions, from the terminal:





For files with extension .py the Python programming language interpreter must be called. To do this, type in the console this:

python install


There are other types of files and packages to install programs in Linux. Certain packages from BSD, Solaris, Mac OS X, and other * nix can be installed on Linux. An example of this are the Solaris .pkg. To install the .pkg you can click on them with the right mouse button, go to “Properties"And"Permissions”And assign execute permissions to it. Then you double click on them to install them.

There are also tools like Alien to convert from one format to another, for example from rpm to deb, etc. This is not highly recommended and can sometimes cause problems. So I do not recommend it.

Continuing with the Linux package gibberish, to say that there are more than those seen here, but they are more rare and unusual. An example of rarity is the .slp they use from the Stampede Linux project. To transform .slp into other more everyday formats you can use Alien (previously installed Alien) like this:

sudo alien nombre_paquete.slp nombre_paquete.extensión_nueva generated

E.g., to transform from .slp to rpm:

sudo alien miprograma.slp miprograma.rpm generated

You can leave your comments with requests, questions or comments. If you have any problems following the steps in this tutorial, I will be happy to help you.

The content of the article adheres to our principles of editorial ethics. To report an error click here.

41 comments, leave yours

Leave a Comment

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



  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   rober said

    great article

  2.   Nathan_X said

    For my part I keep it… most of the things he says I didn't even understand. Thank you!

  3.   jm37 said

    Great and excellent article. You have clarified many doubts, thank you !!!

  4.   frameworks said

    good your article but I wonder why there is no standard of installers for the different distributions, or if there is, why is it not used?

  5.   peanut said

    Well your article but, it confuses more to linux initiates many steps to install something so simple, it should be something like double click and voila, I do not understand why you make things more complicated, in that sense I prefer to stay with windows, since my hope After migrating to free software, I was frustrated trying to install a package.

    1.    leoramirez59 said

      You shouldn't be discouraged! I know how hard the beginning is, but day by day the application installation process improves. Every day it is more frequent to see the .DEB and the .RPM in the official pages of the programs. SNAP packages are currently being deployed in addition to the distribution software managers. When I started there in 2006 it was really hard.

    2.    QWERTY said

      don't be discouraged believe me windows sucks, then you will see the advantage of using gnu / linux (minus ubuntu: v)

    3.    Carlos Davalillo placeholder image said

      Just not worrying about viruses in Linux makes it worth a try

  6.   KA FW said


  7.   Jos + e J Gascón said

    Excellent explanation, I could not find a way to explain to others, children, friends, colleagues all of them find gnu-linux esoteric, only for initiates, a kind of lodge or temple, I thank you very much for the clarity of the explanation.

  8.   Juan Cusa said

    Well I liked it a lot but I still have a problem. When I want to install, which is what a program asks me for.
    By some chance of stride
    * I download the tar.xz
    * then terminal
    jua @ jua00: ~ $ tar Jxvf '/home/jua/Desktop/libpng-1.6.21.tar.xz'
    * then skip a kilometer list of files
    libpng-1.6.21 /
    libpng-1.6.21 / pngwio.c
    libpng-1.6.21 / libpng.3
    And I don't know what else to do in this part I hang up.

    If someone gives me a hand I thank them very much

    1.    Saul said

      The tar.xz file is a compressed package, that is, a set of folders and files that were put in a "container" called tar, and then compressed with xz. With the command you ran, the only thing you did was unzip and unpack the contents of that tar.xz (if it makes it easier for you, you do the same with a secondary click and unzip, it is more or less like that in most distributions and graphical environments). The "mileage list" corresponds to the files contained in the tar.xz that were unpacked, and since the file you downloaded is on your desktop, a folder with the unpacked content must have been generated right there. Now you just have to install, assuming that the program dependencies have already been installed, this is what follows:

      Open terminal and run this:
      cd '~ / Desktop / libpng-1.6.21'

      I'm almost sure that the folder that was generated on your desktop is called "libpng-1.6.21", if not, check the name and change it in the previous command. Then follow the instructions in the README.txt or INSTALL.txt file contained in the same folder, if it does not exist or does not contain installation instructions, this is what to execute in the terminal:

      sudo ./configure
      sudo make
      sudo make install

  9.   leoramirez59 said

    Nice article, saved in my Bookmarks and of course I printed it in PDF format to have it at hand Offline.

  10.   courage 2 said

    There is an error, the .bat files are not windows binaries

  11.   Fabian Osorio Pena said

    I love you hahahaha Thank you Isaac PE, it is the first time that I install something that is not in the repositories of the distro that I occupy (debian), it was really easy, of course nothing compares with the ease that Windows offers you but precisely for that reason I I like Linux: it is a world to learn and I am a very newbie but I am also passionate about PCs, operating systems, everything related to computers and cell phones. Thanks

    1.    Guille said

      Do you find it difficult to go to the system menu and open the graphical package manager (Synaptic, software manager, Yast or whatever you touch) and with a double click of the mouse install the program (application, game, internet server, ...) what do you want
      Everything from a free repository, free of viruses, and everything is perfectly configured and ready to run from the system menu, which by the way is ordered by program types (Internet, Office, Games, ...).
      While in Windows you have to look for the program's installer, I don't know where, many go to any website (even torrent and company) and download virus-infected installers, ...
      I think that in 10 or 15 days, with someone close to whom to ask questions, there is no color between one and the other.
      Another thing is that you need a certain program, without a version for linux or that does not come in the software repository, but in that case, yes, it can be a problem, it is a matter of knowing the typical alternatives and learning how to use them: MS Office - > LibreOffice, Photoshop -> Gimp, ... 90% of PC users will have no problem with Linux, that great unknown (they have no money to buy advertising on the websites of laptop sellers or for politicians not to chase the Microsoft illegalities: imposition of Windows next to computers is illegal in Spain, France, Italy, ... by directive 2005/29 / CE, which for example in Spain is in Law 29/2009 of December 30: abusive and aggressive practices ) with a conviction already in Italy by its highest court: Corte di Cazassione judgment n.19161 of 11/09/2014

  12.   Xavi said

    Interesting article. There were some who did not know, how it emerges. For me yum and apt-get are the best package managers, often pacman I guess.

    And alien is very useful, it also converts from rpm to deb and other formats.

  13.   Luis said

    Great friend, thank you, you do not know how I have suffered trying to install packages and dependencies for certain programs that I use, and an extension that is not known is never missing, you made everything very clear, thank you very much.

  14.   SaciNico3010 said

    I'm in manjaro xfce and everything is fine until the part where I write in the console ./configure arrives and it tells me "The file or directory does not exist".

  15.   Alberto said

    Excellent contribution, very complete.

    1.    daniel said

      I think that in that case you have to read the readme or instruction that the file or wiki or web of the file has since not everyone uses the ./configure others change it for another file etc something like that says above in the article reads: P

  16.   Peter Galeano said

    You are the pluto amoooooo! I am a musician, and for your tutorial I will never return to Windows (I already had my eye on ReactOS, when it is stable I will try it) or MacOs. Due to the frustration of not being able to install anything in KX studio, I almost gave up and left. Linuxero forever!

  17.   Javier said

    All this is basic Chinese for me, I did not understand anything at all, you should do a tutorial for dummies like me, new to Ubuntu or wanting to try it, but seeing the headache that is installing programs, I think I'll just skip it Linux and I continue with Windows, Linux should make things easier and simpler, as well as Windows, an installer, double click and install without further ado, and without DOS codes, which is ancient history to be writing codes and commands , a delay this Linux. But hey, the tutorial is surely understood by people familiar with Linux and well for that, but for a new user, it is very complex to understand so many commands and installation terms.

  18.   jav said

    This is like pure algebra for me and I was bad at math, hahaha !, so imagine how difficult it is to understand all this, I see this and they are like pure complex mathematical formulas, I get dizzy, hahaha !! Linux stacks and do the installations so that a 10-year-old child can do them, why complicate it so much, right?

  19.   emerson said

    I shit with laughter
    Every so often, I try to use linux
    and after two hours of going around google I send it to the M ...
    I've been going around for an hour to see how to install cadence, a little program to try to use Jack without dying of anger in the attempt, and here is that as I say it took an hour and all the "experts" have not allowed me to solve the stupid problem of install a tar-xz
    Which in windows you do with two clicks
    And for other navigators to learn, that M ... of linux creates a problem for you, you look for the solution, which leads you to another problem, and you spend whole afternoons going around, ... wasting time
    Linux is only good for letter writing, don't fool people

  20.   Sabino ruiz said

    Excellent tutorial, very clear and explanatory, but it is possible that because I am new to Linux and I learn mainly with examples, I did not clearly understand how to install a program, I read it at least 4 times, and I only have one question, how do I install a program in Linux . I am currently using LinuxCNC 2.7.14, which I want to use the PYCAM Version 0.6.1 - 2017-03-11 and the truth is I am about to give up and use the version for windows "pycam-" using WINE , I already tried it and it works but not the version for Linux so it says above I do not know how to install it

    could you help me with an example

    Thank you
    If you can help me, I thank you

    Thanks in advance.


    Very good tutorial. Congratulations. Very simple and easy to understand. The world is better with people like you my dear friend. Knowledge above its monetary and material value.

  22.   Carlos Romero said

    Excellent article. I am not an expert in Linux so it really costs me a lot sometimes, but this tutorial is great. Hopefully now I can install the package I want. Thank you very much for taking the time so that others can learn.

  23.   Leonel quezada said

    You also forgot that we have a lot of new users.

    I did not know which of all these instructions to follow.

  24.   Fernando said

    I love free software, but it is so difficult that the vast majority of ordinary users run away in terror.
    Great graphics but to load a program you turn black and I don't tell you a driver
    I have the example with Arduino and its USB permissions there is no way to understand the commands in the happy console.
    The console will be very practical for those who have time to learn.

    Thanks and sorry for the comments but I'm using it as catharsis.

  25.   hyugovk said

    Thanks for explaining! Kind regards.

  26.   PPPPO said

    that's why one gets rid of linux….

    i love.exe. Point.

  27.   Carlos Rodriguez G. said

    I was looking for several sites, and here I could find the tips that tells me that sometimes developers deliver information in a text file, on how to install the applications.

    I really appreciate the tutorial, for someone who has just installed one of the linux distributions, it is difficult to advance in the installations.

    Thank you very much

  28.   emerson said

    I must be very stupid, and I've been with Linux for ten years
    (for me it is a pity)
    In Linux everyone thinks: Why are we going to make it simple if we can make it complicated?
    The other thing you get tired of reading in the tutorials is the following

    sudo ./configure
    sudo make
    sudo make install
    But nobody tells you how to use these commands, where do you write them? in the terminal? in the archive folder? when? all together? one by one? do you have to wait for the job to get done after typing each one? what does compile mean? Why?
    Nobody tells you
    All the well-intentioned, (and vain) linux gurus, the ones who know, (and many who have no idea, but write or copy tutorials to have their minute of glory) take for granted things that you normally have no idea, (for That opens the tute, right?), which does not seem so bad, if I warned youaaannnnn!
    But at the linux vanity fair, things are like this
    Total, if you want to install a program that is not in the repositories, (reaper) and you get it in a tar.xz, then you spend hours, (I've been three) trying to get some fool to explain how to install it, with A PROCEDURE THAT WORKS!
    I still have not achieved it
    I must be very stupid, but in windows it takes two clicks

  29.   Gustavo said

    I understand you Emerson, also with problems installing Cadence tar.xz. It looks like a folder with portable programs, double click and go, but I want to install it and the geniuses of those who make the program do not leave you the installer file with a deb, because what they want is for you to install their repository that invades everything the system with its applications, which are still out of date. It is incredible, I love Linux, I even use Mint on a Pentium 4 and it is luxurious, with Kodi. But it is unusual that the years go by and they cannot fix the issue of audio editing. Many of us want the definitive transfer to Linux, there is good software but those of us who need VST pro mastering have to have Wine yes or yes, or make Carla, LinVST work without so much trouble.

  30.   Mauro theler said

    Very good article. I have been an amateur for a long time but novice when it comes to installing these packages and programs. I have ZorinOS 15 lite Xfce and I want to install Gephi which comes in tar.gz

    I unzipped it and installed it with the manager. He shows it to me but does not execute. I also tried with
    tar –zxvf package_name.tar.gz (or package_name.tgz, if it is a .tgz)
    cd unpackage_name
    ./configure but it does not take me configure and there my papers are burned
    What I can do?

  31.   Cesar Martinez said

    Good afternoon.
    Sorry, how can I install teamviewer on debian, I tried anyway but I could, I hope you can help me.
    Thank you.

  32.   Maria del Mar Senra Martul said

    A great article. A great page layout too. Thanks!

  33.   emerson said

    always the same
    the «expert explains how to do it, tells you that of course, you must have XZ-Utils installed, but he doesn't tell you a word about how to get it-install it
    lost time

  34.   Caro said

    hello I have a problem with the terminal and I need help when I enter MANAGE appears and below Add SHH and I don't know what I did that now it appears to me, layers is because I don't have Penguin

  35.   Niko Zen said

    This information is very complete, very attentive. Thank you.