How to install software applications on Linux

Package management in Fedora

Like most modern Linux distributions, Fedora uses a package management system. Package management tools automate installation, upgrading, and removing of software applications and components.

Each application or component is defined as a package. When the package is installed, all code, configuration, and other files are deployed on the system.

A single package is not necessarily the same as an application. Some applications can be shipped as several packages. Moreover, shared code (libraries) in Linux is normally shipped as separate packages, while in other systems applications often ship their own versions of required libraries and install them if necessary.

File placement

The package management tools track which files on your Fedora installation belong to each package; normally, every file that is installed in the /usr tree as well as most configuration files under /etc are installed by one of the packages. When installing a package, the package management system verifies its integrity; if any files are missing or corrupted, the package is not installed.

Resolving dependencies

The package management system also tracks all dependencies between the packages. For example, if an application requires some libraries, the package for this application lists the libraries as dependencies. When you install the application package, the package management tools automatically install the library packages. If a dependency is not available, the tools do not install the package, so you can avoid a sudden malfunction.

When you want to remove a package, package management tools cleanly delete all code files for this package without affecting other packages. By default, configuration files are not removed, so you can install the package again and keep the configuration that you have set up earlier.

Updating packages

Updating any package is entirely automatic with the package management system. The system replaces all the necessary code files and preserves existing configuration.

In fact, for most Linux distributions, including Fedora, all of the system installation except the earliest part is performed by installing various packages. Security updates and upgrades to a next release are performed entirely by package management tools.


Fedora’s package management system uses the RPM package format. The application that manages packages in Fedora (since version 22) is DNF. Graphical package management is provided by the Gnome Software utility. For automatic updates, Fedora uses the PackageKit utility. Command-line and graphical tools provide the same results.


To get packages, DNF uses repositories. A repository is an organized collection of packages. Repositories can be kept on any data media; notably, the Fedora installation image contains a repository. However, most up-to-date repositories are normally maintained online.

Each Fedora release has an official fedora repository and an updates repository (which contains critical updates since the release). In these repositories, you can find most common Linux open-source software. You can also install packages from other repositories, not maintained by the Fedora project and known as third-party repositories.

Most of the time, it is best practice to install software on your Fedora Linux system using only the Fedora package management system. In this case, packages are installed in the most reliable way and automatic updates can be provided.

Installing from source code

While many Linux applications can be built and installed from from source code, using such builds can make your system much harder to manage. For example, automatic updates to system packages (especially when updating to the next release) might impact an application that was installed from source. And, of course, no automatic security updates are available for the application.

Other installation methods Sometimes you might need to install software using other package management systems. Notably: CPAN for libraries for the Perl language PyPI for libraries (and sometimes applications) for the Python language Commercial repositories for games However, installing applications using the Fedora package management systems is the preferred option.

Installing from a CD

First ensure that the CD does contain the applications; sometimes it just brings some info about the apps and a link you can follow to do the installation through the Software Center.

If the applications are, in fact, on the the CD, then search in the CD folders to find the applications as .deb or .bin or .tar or .sh files.

If it’s a .deb file

Just double click on it and Software Center will install it for you.

You can also install them using a command line method.

If it’s a .bin file

Rename it to .bin32 or .bin64 depending your architecture. You can find that information by running

Go to properties and permit the file to run as a program, then just double click on it and you will open the installer.

If it’s a .tar file

Double click on it and extract everything to a folder of your desire, into this folder you may find an icon with the program name, just double click on it to start the program.

If it’s a .sh file

Go to properties and permit it to run as a program, and then double click on it to start the installer.


Installing applications using package file(s) in Linux

This is similar to Windows if you have ever installed something on it. In this method, you first have to download the supported package file then install it. You can download any application from the given below website.

On the above site, you can choose the package file as per your distribution and install it either by double-clicking on the file. This will open up the software center then click on the install button and that will do the job.

You can also install the package through the installation command. Use the below-given command for that.

To install a .deb file

To install a .rpm file

What Is a Package Manager?

A package manager is a collection of tools that help automate the process of installing, upgrading, configuring, and removing software on a Linux distribution. The different package managers are:

  • DPKG: The base package manager for Debian-based distributions.
  • Apt: A front-end for the DPKG system, found in Debian-based distributions, such as Ubuntu, Linux Mint, and Elementary OS.
  • Apt-get: A more feature-rich front-end for the DPKG system, found in Debian-based distributions.
  • RPM: The base package manager found in Red Hat-based distributions, such as Red Hat Enterprise Linux, CentOS, and Fedora.
  • Yum: A front-end for the RPM system, found in Red Hat-based distributions.
  • Dnf: A more feature-rich front-end for the RPM system.
  • ZYpp: Found in SUSE and OpenSUSE.
  • Pacman: The package manager for Arch Linux-based distributions.

Where the package manager gets a bit confusing for new users is that distributions such as Ubuntu contain both DPKG and Apt. The difference is the dpkg command is used to install a local .deb file, whereas the apt command is capable of installing software from a repository. The same holds true for Red Hat-based distributions, where the rpm command is used to install local .rpm files, whereas yum and dnf can install software from remote repositories.

Which leads us to our next question.

Now you know

Some people think installing software is a magical process that only developers understand, or they think it “activates” an application, as if the binary executable file isn’t valid until it has been “installed.” Hopefully, learning about the many different methods of installing has shown you that install is really just shorthand for “copying files from one place to the appropriate places on your system.” There’s nothing mysterious about it. As long as you approach each install without expectations of how it’s supposed to happen, and instead look for what the developer has set up as the install process, it’s generally easy, even if it is different from what you’re used to.

The important thing is that an installer is honest with you. If you come across an installer that attempts to install additional software without your consent (or maybe it asks for consent, but in a confusing or misleading way), or that attempts to run checks on your system for no apparent reason, then don’t continue an install.

Good software is flexible, honest, and open. And now you know how to get good software onto your computer.

The Methods of Installation

There are three different ways to install applications on Linux:

  • Using a graphical package manager.
  • From the command line.
  • Compiling from source code.

We’ll take a look at the first two methods, as compiling from source code isn’t always the best route to go. Before we get into the how-to of installing applications, there are some questions to be asked and answered.

Installing Software on DEB Distros

Another popular package format is the Debian package format. In addition to Debian, distributions like Mint and Ubuntu use deb packages.

  • Debian
  • Linux Mint
  • Ubuntu

apt – Advanced Packacking Tool

The Debian-based distributions use a package manager called apt (advanced packaging tool). apt is comprised of a few small utilities with the two most commonly used being apt-cache and apt-get.


In addition to the app utilities, you can use the dpkg command to interact with the package manager.

Install a package with dpkg

Watch the video for live examples of searching, installing and removing some actual software like Dropbox using the above mentioned methods.

Fedora, Red Hat: yum ¶

yum does for RPM packages roughly what apt-get does for Debian packages. Like apt-get, yum can download and install packages from a configured repository.

yum install ${packagename}

To remove software is just as easy.

yum remove ${packagename}

yum does not keep a local copy of your package database by default, so normally there is no need to update it. To install all available security patches and bug fixes, use this command:

yum update

You can also explicitly update a single package with:

yum update ${packagename}

For a more indepth yum tutorial and other resources, see Managing Software with yum and rpm.

Installing apps without repositories

The repository model is so popular because it provides a link between the user (you) and the developer. When important updates are released, your system kindly prompts you to accept the updates, and you can accept them all from one centralized location.

Sometimes, though, there are times when a package is made available with no repository attached. These installable packages come in several forms.

Linux packages

Sometimes, a developer distributes software in a common Linux packaging format, such as RPM, DEB, or the newer but very popular FlatPak or Snap formats. You make not get access to a repository with this download; you might just get the package.

The video editor Lightworks, for example, provides a .deb file for APT users and an .rpm file for RPM users. When you want to update, you return to the website and download the latest appropriate file.

These one-off packages can be installed with all the same tools used when installing from a repository. If you double-click the package you download, a graphical installer launches and steps you through the install process.

Alternately, you can install from a terminal. The difference here is that a lone package file you’ve downloaded from the internet isn’t coming from a repository. It’s a “local” install, meaning your package management software doesn’t need to download it to install it. Most package managers handle this transparently:

In some cases, you need to take additional steps to get the application to run, so carefully read the documentation about the software you’re installing.

Generic install scripts

Some developers release their packages in one of several generic formats. Common extensions include .run and .sh. NVIDIA graphic card drivers, Foundry visual FX packages like Nuke and Mari, and many DRM-free games from GOG use this style of installer.

This model of installation relies on the developer to deliver an installation “wizard.” Some of the installers are graphical, while others just run in a terminal.

There are two ways to run these types of installers.

  1. You can run the installer directly from a terminal:
  1. Alternately, you can run it from your desktop by marking it as executable. To mark an installer executable, right-click on its icon and select Properties.

Image by:

Image by:

Once you’ve given permission for it to run, double-click the icon to start the install.

Image by:

Image by:

For the rest of the install, just follow the instructions on the screen.

AppImage portable apps

The AppImage format is relatively new to Linux, although its concept is based on both NeXT and Rox. The idea is simple: everything required to run an application is placed into one directory, and then that directory is treated as an “app.” To run the application, you just double-click the icon, and it runs. There’s no need or expectation that the application is installed in the traditional sense; it just runs from wherever you have it lying around on your hard drive.

Despite its ability to run as a self-contained app, an AppImage usually offers to do some soft system integration.

Image by:

Image by:

If you accept this offer, a local .desktop file is installed to your home directory. A .desktop file is a small configuration file used by the Applications menu and mimetype system of a Linux desktop. Essentially, placing the desktop config file in your home directory’s application list “installs” the application without actually installing it. You get all the benefits of having installed something, and the benefits of being able to run something locally, as a “portable app.”

Application directory

Sometimes, a developer just compiles an application and posts the result as a download, with no install script and no packaging. Usually, this means that you download a TAR file, extract it, and then double-click the executable file (it’s usually the one with the name of the software you downloaded).

Image by:

Image by:

When presented with this style of software delivery, you can either leave it where you downloaded it and launch it manually when you need it, or you can do a quick and dirty install yourself. This involves two simple steps:

  1. Save the directory to a standard location and launch it manually when you need it.
  2. Save the directory to a standard location and create a .desktop file to integrate it into your system.

If you’re just installing applications for yourself, it’s traditional to keep a bin directory (short for “binary”) in your home directory as a storage location for locally installed applications and scripts. If you have other users on your system who need access to the applications, it’s traditional to place the binaries in /opt. Ultimately, it’s up to you where you store the application.

Downloads often come in directories with versioned names, such as twine_2.13 or pcgen-v6.07.04. Since it’s reasonable to assume you’ll update the application at some point, it’s a good idea to either remove the version number or to create a symlink to the directory. This way, the launcher that you create for the application can remain the same, even though you update the application itself.

To create a .desktop launcher file, open a text editor and create a file called sktop. The Desktop Entry Specification is defined by . Here is a simple launcher for a game development IDE called Twine, installed to the system-wide /opt directory:

The tricky line is the Exec line. It must contain a valid command to start the application. Usually, it’s just the full path to the thing you downloaded, but in some cases, it’s something more complex. For example, a Java application might need to be launched as an argument to Java itself:

Sometimes, a project includes a wrapper script that you can run so you don’t have to figure out the right command:

In the Twine example, there’s no icon bundled with the download, so the example .desktop file assigns a generic gaming icon that shipped with the KDE desktop. You can use workarounds like that, but if you’re more artistic, you can just create your own icon, or you can search the Internet for a good icon. As long as the Icon line points to a valid PNG or SVG file, your application will inherit the icon.

The example script also sets the application category primarily to Development, so in KDE, GNOME, and most other Application menus, Twine appears under the Development category.

To get this example to appear in an Application menu, place the sktop file into one of two places:

  • Place it in ~/.local/share/applications if you’re storing the application in your own home directory.
  • Place it in /usr/share/applications if you’re storing the application in /opt or another system-wide location and want it to appear in all your users’ Application menus.

And now the application is installed as it needs to be and integrated with the rest of your system.

Install Proprietary Software

RELATED: How to Install Software From Outside Ubuntu’s Software Repositories

Some programs aren’t located in your Linux distribution’s software repositories. This includes popular proprietary programs like Google Chrome, Skype, Steam, and Opera. Your Linux distribution generally doesn’t have the license to redistribute this software, so you have to get it from the source.

To download software like this ,visit the project’s official website and click the Download button. You’ll generally see a page pointing you to various Linux download links. For example, here’s the Skype for Linux download page.

You’ll be prompted to choose the appropriate package for your Linux distribution. You should choose the package that matches your Linux distribution as closely as possible. For example, Skype offers an “Ubuntu 12.04 (multiarch)” package. It’s the most recent version number in the list, so it’s the ideal package to use on Ubuntu 14.04.

Different distributions use different types of pac

Different distributions use different types of packages with different file extensions. Ubuntu, Linux Mint, Debian, and similar distributions use Deb packages with the .deb file extension. Fedora, Red Hat, openSUSE, and some other distributions use .rpm packages.

Just double-click the downloaded package and it should open in a package installer that will handle all the dirty work for you. For example, you’d double-click a downloaded .deb file, click Install, and enter your password to install a downloaded package on Ubuntu.



Downloaded packages can also be installed in other ways. For example, you could use the dpkg -I command to install packages from the terminal in Ubuntu. The graphical tool is the easiest.


Leave a Reply

Your email address will not be published.