Pinterest Stumbleupon Whatsapp
Ads by Google

You did it! You installed Linux, tweaked every little detail. And now what?

Although Linux distributions come with plenty of pre-installed software, sooner or later you’ll want to install something new 11 Must-Have Apps on Ubuntu Right After a Fresh Install 11 Must-Have Apps on Ubuntu Right After a Fresh Install Are you looking at a fresh installation of Ubuntu and feeling a bit lost? We've compiled this list of the first eleven applications you will need to install. Read More . “But how do I install apps on Linux?”, you might wonder. That is the question we’re tackling today.

The most common method of installing apps on Linux is from the repositories using a package manager. The principle is more or less the same everywhere, the main difference being the package management system of a particular distribution. Sound a bit Greek to you? Here’s an explanation.

What Is a Package Management System?

Linux software is usually distributed in the form of packages. In simplified terms, a package management system refers to the tools and file formats required to manage those packages. Two most widespread package management systems are dpkg (uses .deb files) and RPM (its packages are .rpm files). The difference between package management systems is generally in their approach to the installation process (for example, RPM packages can depend on files, rather than other packages).

installing-linux-apps-package

You may already know that Debian, Ubuntu, and their derivatives use dpkg, while Red Hat Enterprise Linux, CentOS, Fedora, Mageia, and openSUSE use RPM. Gentoo’s system is called Portage, while Sabayon can use both Portage and its own system called Entropy. Slackware and Arch Linux use tarballs (.tar files) that contain special metadata, while PC Linux OS sports a mix PCLinuxOS: A Linux Distribution Which Mixes And Matches Software For A Better Experience PCLinuxOS: A Linux Distribution Which Mixes And Matches Software For A Better Experience It's an understatement to say that Linux users have plenty of choice when it comes to which distribution they'd like to use. There are multiple approaches to accomplishing the same tasks, from what kind of... Read More of solutions.

Ads by Google

Linux packages are just archive files (like .zip and .rar) that contain the application code and the instructions on how to install the application, where to place its configuration files, and what other packages it requires. The software that executes those instructions is called a package manager.

Tip: Always make sure to use the right package format for your distribution. If you can’t find a .deb package of an application, but a .rpm one is available, it’s possible to convert between them Easily Install Non-Native Packages in Ubuntu With Alien Easily Install Non-Native Packages in Ubuntu With Alien Read More .

What Is a Package Manager?

The desktop equivalent of an app store, a package manager is the central place to manage your Linux applications. Think of it as the Add/Remove Applications dialog on Windows, but far more advanced. In fact, Windows users should be familiar with the concept, since nowadays their OS has a package manager, too Windows Gets A Package Manager - Download Software Centrally Via OneGet Windows Gets A Package Manager - Download Software Centrally Via OneGet Microsoft is adding yet another Linux feature to Windows. Package management can seriously boost productivity, increase security, and ultimately save you a lot of headache. We show you how it will work. Read More .

Every Linux distribution comes with a package manager. If you don’t like the default one, you can replace it (provided that the new one supports your distro’s package format). The package manager is where you’ll search for, install, update, and remove applications. It can have a command-line or a full graphical interface, and it stores the information about installed applications, their versions, and dependencies in a local database. This helps it clean up all the “leftovers” automatically after you uninstall an app.

installing-linux-apps-software-manager

Tip: When you want to install a new Linux app, always search in your package manager first. If you can’t find what you’re looking for there, turn to other useful resources The Linux User's Toolkit for Discovering New Apps The Linux User's Toolkit for Discovering New Apps Installing Linux is like checking into an all-inclusive resort. Hardware works perfectly, and you get an impressive selection of pre-installed software. But what if you want to try out some new Linux software? Read More .

What Is a Repository?

Of course, your package manager can’t just produce packages out of thin air. It needs to fetch information about available packages from a location called the repository. It’s a collection of packages for a particular Linux distribution. The repository can be a network location, a local storage unit (a DVD, a USB drive, or a hard drive), or even a single file. Every distribution has its official repositories with thousands of packages.

If an app is unavailable in the official repositories (or you just want the newest version straight from the developers), you can add new repositories to your system. Make sure to choose the repository that matches your distribution’s version. New repositories can be added via a dialog in your package manager, or by editing files with admin privileges.

installing-linux-apps-repositories

Dpkg-based distributions store their repository information in the /etc/apt/sources.list file or in separate .list files in the /etc/apt/sources.list.d/ directory.

For RPM distros, you can add new repositories under the [repository] section in the /etc/yum.conf file (or /etc/dnf/dnf.conf, if you use DNF instead of Yum), or create .repo files in the /etc/yum.repos.d/ directory.

For users of Ubuntu and derivatives, there are also PPA (Personal Package Archive) repositories Your Guide to Ubuntu Repositories and Package Management Your Guide to Ubuntu Repositories and Package Management Read More that host packages on Launchpad. Since anyone can create a PPA, you should be careful when adding PPAs that are not officially supported by a project. Similar services for Fedora are called Copr and Koji.

Tip: If you don’t want to upgrade your Linux distribution, but still want to receive software updates, look for repositories labeled as “backports”. They contain new versions of apps for old versions of a distribution.

How to Install Linux Apps

1. From the Terminal

A long time ago, this was the only way to install Linux apps. Package managers didn’t have handy checkboxes and menus; they were command-line utilities. They still exist today – in fact, you use them every time you install something with a graphical package manager, since it’s just a front-end for the command-line tool. You can use them directly if you want to speed things up, or if you simply prefer using the terminal.

Dpkg is the name of the package management system, but also of the basic tool for handling .deb packages. It’s sometimes referred to as a “low-level” tool, and all other package utilities build upon its functionality. You can use it to install a single .deb package:

sudo dpkg -i packagename.deb

where -i stands for “install”. Dpkg cannot automatically resolve dependencies, but it can (re)configure packages and extract their content.

APT (Advanced Package Tool) has all the features of dpkg, and then some. It comprises several tools, such as apt-get, apt-cache, apt-add-repository, apt-file… To install applications, you need apt-get:

sudo apt-get install packagename

Another useful feature is simulation:

sudo apt-get install packagename -s

It shows you which packages will be added or removed, and which files will be configured, but it doesn’t actually install anything.

Aptitude improves upon dpkg and APT, introducing a graphical interface in the terminal, which you either love or hate.

installing-linux-apps-aptitude

You can install apps from this interface or by typing commands:

sudo aptitude install packagename

Aptitude is similar to apt-get, but it provides more information and guidance while you manage packages. It treats automatically installed packages and system upgrades a little differently than apt-get does, and it offers advanced search options. Aptitude can warn you about conflicts when installing or removing packages, and show which packages are causing a problem thanks to the why command.

The situation is analogous on RPM-based distributions: the rpm command-line utility is roughly equivalent to dpkg, your APT is their Yum, and aptitude corresponds to DNF.

DNF stands for Dandified Yum, a new version of Yum that was introduced in Fedora 18. Both Yum and DNF can automatically resolve dependencies. The syntax for installing packages is simple and almost exactly the same with each tool:

rpm -i packagename.rpm
yum install packagename
dnf install packagename

On openSUSE, you can use Zypper:

zypper install packagename
zypper install /path/to/package.rpm

Mageia has its own wrapper for rpm called urpmi with equally simple commands for installation:

urpmi packagename

and searching:

urpmq packagename
urpmq -y keyword

On Arch Linux, you can use the default package manager (pacman) to install packages:

pacman -S packagename

and search for applications in the repositories:

pacman -Ss keyword

However, if you want to install something from the AUR (Arch User Repository), you need a separate tool called an AUR helper. AUR doesn’t contain binary packages that pacman can manage; instead, it’s a repository of “recipes” for applications that have to be built manually. Yaourt is one of the most popular command-line AUR helpers because it can install both “regular” Arch Linux packages as well as those from AUR. It’s interactive, so you can type:

yaourt keyword

and it will display the results as a numbered list. After you pick a number, Yaourt asks you what to do with the package. Alternatively, you can just type:

yaourt -S packagename

to install the desired package. Yaourt takes care of the dependencies automatically.

Tip: To avoid typing the installation command every time you need a new app, create an alias How to Define Command Line Aliases on Any Operating System How to Define Command Line Aliases on Any Operating System We've talked about, and recommended getting to grips with your computer's command line terminal numerous times in the past. Tina wrote a good primer for Windows users with A Beginner's Guide To The Windows Command... Read More for it.

2. With a Graphical Package Manager

This is the recommended way to install Linux apps. Just fire up your package manager, find a package, mark it for installation, and confirm changes. You’ll be asked for the administrator password, so type it correctly.

installing-linux-apps-synaptic

The package manager will occasionally select several packages for installation. Those are your application’s dependencies – other packages that it requires to work properly. Some package managers will “recommend” and mark related (but not obligatory) packages for installation. It’s possible to disable this behavior in the Settings/Preferences dialog.

installing-linux-apps-settings

Dpkg-based distributions usually ship Synaptic as the default package manager, though some offer Muon:

installing-linux-apps-muon

Ubuntu Software Center will be replaced by Gnome Software in the April 2016 release (Ubuntu 16.04). Linux Mint offers Synaptic and its own product called Software Manager.

On RPM distributions you can find yumex, a front-end for yum:

installing-linux-apps-yumex

There is also rpmdrake, which is a front-end for urpmi. On openSUSE you can install applications with YaST. Gentoo has a graphical front-end for emerge called Porthole:

installing-linux-apps-porthole

On Arch Linux, you can use Pamac or Octopi as a graphical alternative to yaourt:

installing-linux-apps-octopi

Both tools can search and install packages from the official repositories as well as from the AUR.

Tip: If you want to install a new desktop environment or an office suite, look for its metapackage in the package manager. It’s much easier to install one metapackage than hunt for dozens of individual packages.

3. Use GDebi and Wajig

Users of dpkg-based distributions can play with two interesting tools. GDebi is a front-end for APT that lets you install an application by double-clicking a .deb file. Unlike dpkg, GDebi can automatically install missing dependencies. It’s particularly useful when you want to install an app that’s not in the repositories, but you’ve downloaded its .deb file.

installing-linux-apps-gdebi

Wajig combines the powers of dpkg, apt-get, apt-cache, and a bunch of other tools. Apart from installing apps and upgrading the system, Wajig can stop or start system services, convert RPM packages, and provide detailed information about all packages in the repositories.

Tip: You can set GDebi as the default application for opening .deb files. Right-click a .deb file, select the Open with… option, find GDebi in the list, and confirm changes. Now your .deb files behave like .exe installers from Windows.

4. With a Self-Installer

This method applies to software that’s not in the repositories and has to be downloaded from the developer’s website instead, such as proprietary drivers. In some cases, this software is distributed as a self-extracting file with a .run or .bin extension. To install it, right-click the file to access its Properties > Permissions dialog and mark it as executable.

installing-linux-apps-run

Now you can either double-click the file to start the installation, or navigate to it in the terminal and type ./filename.run. The installation will proceed automatically and the dialogs will look very similar to Windows installers.

Tip: Self-installers can also be bash scripts (files with the .sh extension). You can run them in the terminal by typing ./filename.sh.

5. Compile Them From Source

It’s rare, but it happens. Sometimes the developers won’t package an application for any distribution, instead providing the source code that you need to compile yourself. The source should be a .tar archive file which you have to unpack. It contains helpful files called README and/or INSTALL, so consult them first. The general “recipe” for compiling apps includes the following commands:

./configure
make
make install

You would run them one after the other in the same directory where you extracted the source. However, exceptions and quirks might occur, so you should read our more detailed guide on how to compile Linux apps. How to Compile & Install TAR GZ & TAR BZ2 Files in Ubuntu Linux How to Compile & Install TAR GZ & TAR BZ2 Files in Ubuntu Linux Read More

Tip: You can create .deb and .rpm packages from source to install the application with your regular package management tools.

6. From Digital Distribution Clients

All previously mentioned methods apply to Linux games as well (yes, you can actually find games in the repositories). However, there’s another way to install games on Linux, and that is via digital distribution platforms Where to Download the Best Linux Games Without Any Hassle Where to Download the Best Linux Games Without Any Hassle Not even a decade ago, native gaming on Linux was limited to open source, cross-platform games. Today, the "no games on Linux" myth is dead. But where do you find compatible games? Read More and their desktop clients. Steam is already available on Linux How to Install Steam and Start Gaming on Linux How to Install Steam and Start Gaming on Linux Installing Steam on Linux computers is straightforward, and the result is usually the same seamless gaming experience you had on Windows. Read More , GOG Galaxy is in the making, and Itch.io is a praiseworthy alternative.

installing-linux-apps-itch

The desktop clients tie in with your accounts, so you’ll need to register first if you want to organize your games.

Tip: Keep an eye on Steam deals 5 Ways To Make Sure You Get The Best Deals On Steam Games 5 Ways To Make Sure You Get The Best Deals On Steam Games Steam is known for being super convenient for managing one’s video game library, and it’s also useful in a few other ways, but did you know that with a bit of effort you can obtain... Read More to grab great games without going bankrupt.

7) Use Application-Level Package Managers

If you want to get geeky, you can use application-level package managers alongside your default, system-level package manager. The former are also known as programming language package managers. They contain libraries and supporting utilities for a programming language, so if an application is written in that language, it can be easily distributed and installed with the package manager.

There are quite a few of them: pip for Python, RubyGems for Ruby, npm for Node.js, NuGet for the Microsoft development platform… Some apps are much easier to install with this type of package manager because of a large number of dependencies that might not be available in your distro’s repositories.

installing-linux-apps-npm

As you can see, there are several ways to install apps on Linux, each with its own (dis)advantages. When in doubt, use the package manager, but don’t forget there are other options. After all, it’s the variety of options that makes Linux so awesome.

What is your preferred method of installing Linux apps? Do you have any tips for Linux beginners? Share your thoughts in the comments below.

Image Credits: Yumex screenshot, Muon screenshot, Aptitude screenshot, Porthole screenshot, Octopi screenshot, Itch.io screenshot.

  1. gary knott
    February 19, 2016 at 10:24 pm

    The essay we need is: How to seek-out a program when you don't know
    much or anything about it.

    Example 1, I seek a terminal window program written in C whose source
    code I can cannabilize. There are many editors, not all of which I've head of, and
    none of which i necessarily know much about.

    Example 2: I seek a mouse/keyboard-controlled drawing program that
    lets me make tex-book-like geometry figures, trianlges, bisectores, etc, etc,
    (with labels) and output .jpg files and also .ps files

    I have no idea about any such programs. It would be nice if my repositories were
    indexed and presentable to me to choose from.

    Ideally i'd like a special "search-engine" of repositories that
    can tell me wha't availabe with a synopsis of each, and, if possible
    technical details (like C-code or not), and web-links.

    What can you reccomend?

  2. vsgfx
    February 19, 2016 at 3:51 pm

    gfh manager sucks. Now, show us how to build .dpkg from .rpm and u'll be mastah :E

    • Doug
      March 21, 2016 at 5:55 pm

      Use Alien for .dpkg to get packages from .rpm builds

Leave a Reply

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