Migrating to Linux: Installing Software
By John Bonesio
To get new software on your computer, the typical approach used to be to get a software product from a vendor
and then run an install program. The software product, in the past, would come on physical media like a CD-ROM
or DVD. Now we often download the software product from the Internet instead.
With Linux, software is installed more like it is on your smartphone. Just like going to your phone's app store,
on Linux there is a central repository of open source software tools and programs. Just about any program you
might want will be in a list of available packages that you can install.
There isn't a separate install program that you run for each program. Instead you use the package management
tools that come with your distribution of Linux. (Remember a Linux distribution is the Linux you install such
as Ubuntu, Fedora, Debian, etc.) Each distribution has its own centralized place on the Internet (called a repository)
where they store thousands of pre-built applications for you to install.
You may note that there are a few exceptions to how software is installed on Linux. Sometimes, you will still
need to go to a vendor to get their software as the program doesn't exist in your distribution's central repository.
This typically is the case when the software isn't open source and/or not free.
Also keep in mind that if you end up wanting to install a program that is not in your distribution's repositories,
things aren't so simple, even if you are installing free and open source programs. This post doesn't get into
these more complicated scenarios, and it's best to follow online directions.
With all the Linux packaging systems and tools out there, it may be confusing to know what's going on. This
article should help clear up a few things.
Several packaging systems to manage, install, and remove software compete for use in Linux distributions. The
folks behind each distribution choose a package management system to use. Red Hat, Fedora, CentOS, Scientific
Linux, SUSE, and others use the Red Hat Package Manager (RPM). Debian, Ubuntu, Linux Mint, and more use the Debian
package system, or DPKG for short. Other package systems exist as well, while RPM and DPKG are the most common.
|Graphical Package Installer|
|High Level Command Line Package Installer|
|Low Level Command Line Package Installer|
Figure 1: Package Installers
Regardless of the package manager you are using, they typically come with a set of tools that are layered on
top of one another (Figure 1). At the lowest level is a command-line tool that lets you do anything and
everything related to installed software. You can list installed programs, remove programs, install package files, and more.
This low-level tool isn't always the most convenient to use, so typically there is a command line tool that
will find the package in the distribution's central repositories and download and install it along with any
dependencies using a single command. Finally, there is usually a graphical application that lets you select what
you want with a mouse and click an [Install] button.
For Red Hat based distributions, which includes Fedora, CentOS, Scientific Linux, and more, the low-level tool
is rpm. The high-level tool is called dnf (or yum on older systems). And the graphical installer is called
PackageKit (Figure 2) and may appear as "Add/Remove Software" under System Administration.