- How to Install Software on Linux
- Package managers
- Installing a downloaded file
- Installing from the GUI
- Bottom line: it’s all easier than it seems
- How to install software from the Linux command line
- What is a package management system?
- Debian, Ubuntu, Mint, and others
- RHEL, CentOS, Fedora, Mageia, and OpenMandriva
How to Install Software on Linux
So you’ve made the switch to Linux. Or you’re thinking of making the switch. But you have questions that might be stopping you from fully diving in. One of the biggest concerns most new users have is, “What software is available and how do I install it?”
It’s a reasonable question. Why? For the longest time, Linux suffered from a stigma that applications were scarce, and that the few available options were a challenge to install. I remember, back in the early days, having to compile software from source packages—which would lead to a seemingly endless circle of missing dependencies. It was frustrating, but doable. That frustration, however, turned a lot of people away from Linux.
Fortunately, those days are long since past, and installing any of the available software titles (of which there are many) on Linux is no longer such a headache.
How to Get Started with the Linux Operating System
What operating system do you use? For some, that question may as well be posed in Latin or…
Before we get into the how-tos of actually installing software on Linux, there is one very important concept to understand:
Package managers
This is one of those topics that tends to confound most new Linux users. A package manager is a sub-system on Linux that, as the title says, manages the packages (software) on your computer. It’s a crucial component of Linux, in that it keeps track of everything installed; downloads packages; ensures all packages are installed in a common location; helps to upgrade packages; resolves dependencies; and keeps users from having to install from source code.
The biggest point of confusion is that there are numerous package managers available, but only one can be used on a distribution. In fact, distributions are differentiated, primarily, on which package manager they choose. For example: Debian and Ubuntu (and its derivatives) use apt; Red Hat Enterprise Linux , CentOS , and Fedora use yum; SUSE and openSUSE use zypper; and Arch Linux uses pacman. There are more package managers out there, but this is a good place to start.
Each package manager works with a different file type. For example, apt works with .deb files and yum and zypper work with .rpm files. The apt package manager cannot install .rpm files and neither yum or zypper can install .deb files. To make matters even more confusing, Ubuntu (and its derivatives) uses the dpkg command for installing local .deb files, and Red Hat (and its derivatives) use the rpm command to install local .rpm files.
Install a Windowed GNU/Linux Environment On Any Android Device With This Guide
Android’s designed largely for mobile users, but since it has Linux at its core, it can work with a
Confused yet? Don’t worry, it’s actually much easier than that.
Most package managers have GUI front ends. These front ends are similar to the Apple App Store. It should be no surprise that there are numerous such GUI front ends available. The good news here is that most of them are similarly titled (such as GNOME Software, Ubuntu Software, Elementary AppCenter). These app stores allow you to easily search for a software title and install it with the click of a button (more on this in a bit).
There is one other issue with package managers: repositories. Repositories are a key aspect of package managers, but for new users the concept can add yet another level of confusion we don’t want. For a quick overview, however, consider this: Out of the box you only have a certain selection of software titles available. That selection is dictated by the repositories that are configured. There are numerous third-party repositories you can add to the system. Once added, you can then install any software titles associated with those third-party repositories. Software repositories can be added either from a GUI tool or the command line.
In any case, repositories are an issue for a different day, and not necessary to understand for the type of software downloads discussed in this article.
Installing a downloaded file
I know, I know… I said one of the benefits of modern Linux operating systems is that you don’t need to install from a downloaded file. That being said, I want to start here. Why? There may be times when you find a piece of software not available in your distribution’s “app store.” When that occurs, you’ll need to know how to install that application manually. I will say that, for everyday, average use, it’s a rare occasion that you’ll need to do this. And even if you never do install using this method, at least you’ll have a very basic understanding of how it works.
Here, we’ll demonstrate using the latest release of Ubuntu Linux (as of this writing, 17.10). Most package managers install in similar fashion (with slight variations on the commands used). Let’s say you want to install the Google Chrome browser on Ubuntu. You won’t find this particular browser in the Ubuntu Software tool. To install it from the command line, you must download the correct file. As stated earlier, the correct file for Ubuntu will be a .deb file. So point your browser to the Chrome download page and click the Download Chrome button. The good news here is that your browser will be detected and the Chrome download page will know which file you need. Click the ACCEPT AND INSTALL button and a new window will appear, giving you two options (see below).
You can either save the file to your hard drive (and then install via the command line), or open the file with the Software Installer. It is important to understand that not every distribution includes the latter. If you do not get the Open with option, then you’ll have to install from the command line.
Let’s first use the Open with option. Make sure Software Install (default) is selected and click OK. The file will download and then Ubuntu Software will open, giving you the option to install (see below).
Click Install and you will be prompted for your user password. The installation will complete and Chrome is ready to use. You can close the Ubuntu Software tool and open Chrome from the Dash.
But what if you don’t get the option to install with the GUI tool? Then you have to select the Save File and run the installation from the command line. Don’t worry, it’s not that hard. Here are the steps to install the latest release of Chrome, on Ubuntu Linux, from the command line:
- Click on the square of dots at the bottom of the desktop
- When the Dash opens, type terminal
- Change into the Downloads directory with the command cd ~/Downloads
- Install Chrome with the command sudo dpkg -i google-chrome*.deb
- When prompted (see below), type your user password and hit Enter on your keyboard
- Allow the installation to complete
Installing from the GUI
This is where things get very easy. To install from your distribution’s GUI, you only need open up the tool, search for the software you want, and click Install. Say, for instance, you want to install the GIMP Image editor . To do that, open Ubuntu Software and type gimp in the search bar. When the results appear, click on the GIMP entry, click the Install button (see below), and (when prompted) type your user password. Wait for the installation to complete and your new software is ready to be opened and used.
Bottom line: it’s all easier than it seems
Installing software on Linux isn’t nearly as hard as you might have thought. Yes, there may be the rare occasion when you need to install something from the command line, but even that isn’t much of a challenge. Besides, chances are, you’ll never have to install software outside of the GUI front end.
Do remember, if you use a distribution other than Ubuntu (or its derivatives), you’ll want to do a quick bit of googling to make sure you understand the differences between the apt package manager and the one used on your desktop.
How to install software from the Linux command line
If you use Linux for any amount of time, you’ll soon learn there are many different ways to do the same thing. This includes installing applications on a Linux machine via the command line. I have been a Linux user for roughly 25 years, and time and time again I find myself going back to the command line to install my apps.
The most common method of installing apps from the command line is through software repositories (a place where software is stored) using what’s called a package manager. All Linux apps are distributed as packages, which are nothing more than files associated with a package management system. Every Linux distribution comes with a package management system, but they are not all the same.
What is a package management system?
A package management system is comprised of sets of tools and file formats that are used together to install, update, and uninstall Linux apps. The two most common package management systems are from Red Hat and Debian. Red Hat, CentOS, and Fedora all use the rpm system (.rpm files), while Debian, Ubuntu, Mint, and Ubuntu use dpkg (.deb files). Gentoo Linux uses a system called Portage, and Arch Linux uses nothing but tarballs (.tar files). The primary difference between these systems is how they install and maintain apps.
You might be wondering what’s inside an .rpm , .deb , or .tar file. You might be surprised to learn that all are nothing more than plain old archive files (like .zip ) that contain an application’s code, instructions on how to install it, dependencies (what other apps it may depend on), and where its configuration files should be placed. The software that reads and executes all of those instructions is called a package manager.
Debian, Ubuntu, Mint, and others
Debian, Ubuntu, Mint, and other Debian-based distributions all use .deb files and the dpkg package management system. There are two ways to install apps via this system. You can use the apt application to install from a repository, or you can use the dpkg app to install apps from .deb files. Let’s take a look at how to do both.
Installing apps using apt is as easy as:
$ sudo apt install app_name
Uninstalling an app via apt is also super easy:
To upgrade your installed apps, you’ll first need to update the app repository:
Once finished, you can update any apps that need updating with the following:
What if you want to update only a single app? No problem.
Finally, let’s say the app you want to install is not available in the Debian repository, but it is available as a .deb download. You can install it manually using dpkg , the system that apt helps manage:
RHEL, CentOS, Fedora, Mageia, and OpenMandriva
Red Hat, its upstream project Fedora, and its «midstream» project CentOS, use the dnf package manager. It has its own syntax, and is a front-end to the RPM system. Although the syntax is different, dnf is similar to apt in the sense that the mechanisms and goals are the same. The Mageia and OpenMandriva distributions, once focused exclusively on urpmi for package management, now also includes dnf in their distributions.
The dnf package manager is the successor to the previous yum command. The yum had a long time to engrain itself in the minds and servers of users, so to avoid breaking custom scripts that have been around on users’ systems for over a decade, yum and dnf are now interchangeable (in fact, yum is now based on dnf .)
$ sudo dnf install app_name
Removing unwanted applications is just as easy.
The dnf (or yum ) command is a front-end for the RPM packaging system. If you can’t find an app in your software repository but you can find it for download directly from its vendor site, you can use dnf to manually install an .rpm file.
$ sudo dnf install ./app_name.rpm
As you can see, installing, uninstalling, and updating Linux apps from the command line isn’t hard at all. In fact, once you get used to it, you’ll find it’s faster than using desktop GUI-based management tools!
For more information on installing apps from the command line, please visit the Debian Apt wiki, the Yum cheat sheet, and the DNF wiki.