Readers like you help support MUO. When you make a purchase using links on our site, we may earn an affiliate commission. Read More.

Key Takeaways

  • Installing software on Linux is similar to installing apps on a smartphone. Use the package manager for your distro or download a package from a website.
  • Universal package formats like Flatpak, Snap, and AppImages can be installed on most major Linux versions. They provide a centralized location for downloading apps.
  • DEB packages are commonly used in Debian-based distros like Ubuntu. RPM packages are used in Red Hat-related distros like Fedora. TAR packages are source files that require manual installation.

Welcome to Linux. Chances are your distribution came with plenty of software to cover the basics. Yet no matter how thorough of a job it did, you want to install more. The question is, how?

How to Install Software on Linux

Installing software on Linux feels closer to a smartphone than Windows. Most of the time, you will fire up a package manager (akin to an app store) and search for the name of the application you want. From there, it's a matter of hitting the Install button.

GNOME Software displaying the Boatswain app

But package managers change depending on your distro. Ubuntu uses Ubuntu Software. That's simply a rebranded version of GNOME Software, which is what Fedora uses. Meanwhile, openSUSE does its own thing with YaST.

Package managers work by searching your specific distribution's software repositories or one of the general-purpose Linux app stores. But sometimes what you want isn't there. Occasionally, you will download a file from a website and click on it like you would with a Windows EXE.

Except there's a problem. Just like there's no single version of Linux, there's no one universal Linux package format. Some package formats work across most versions of Linux. Others cater to particular distros.

If you come across a Flatpak or Snap package, there's a good chance you can install it just fine. For most other formats, you need to learn which will successfully install software for your distro. Fortunately, you only need to learn a few names and acronyms to make sense of the situation.

Flatpak, Snap, and AppImages

These three are known as universal package formats. You can install each on most major versions of Linux and expect them to work. Flatpak is largely associated with Flathub, a centralized location to find apps for Linux.

Flathub in Firefox web browser with GNOME theme

Snap packages come from the Snap Store, a site run by Canonical, the company behind Ubuntu. Both Flathub and the Snap Store are the best sites for downloading Linux apps and likely contain most of the software you need.

AppImages are more decentralized and maybe the trickiest to use, so here's how to run an AppImage package on Linux.

DEB Packages

The DEB format gets its name from Debian, a Linux distro and one of the largest open-source projects in existence. You can click a DEB file to install an application directly or search in a package manager to have it do the job for you in the background. In the terminal, you use the dpkg command. For example:

 sudo dpkg -i /home/user/software.deb 

Since Ubuntu is based on Debian, DEBs are easy to find. With millions of users and strong name recognition, Ubuntu and DEBs have become the Windows and EXEs of the Linux world.

You might also be wondering if it's possible to run Windows EXE files on Linux systems. The answer is yes, but there's a catch.

Debian and Ubuntu both use the DEB file format, but packages that work in one may not in the other. Packages are sometimes compatible with both, such as with Google Chrome. Don't assume that this is the case. Make sure you download DEBs intended for your distribution.

Popular distros that use DEB:

  • Ubuntu
  • Debian
  • Linux Mint

RPM Packages

RPM originally stood for Red Hat Package Manager. Now the acronym is recursive, standing for RPM Package Manager. Either way, the origins are with Red Hat. The North Carolina-based organization that went on to become the world's first billion-dollar open-source company developed the format for Red Hat Linux. As a result, this is what you find throughout the Red Hat ecosystem.

That means if Fedora Workstation is your distro of choice, RPM (alongside Flatpak) is the package file type you will use to install software. When you click on an RPM, it will open up inside GNOME Software.

Despite the name, Red Hat-related distros are not the only ones to use RPMs. openSUSE is another prominent community that has adopted RPM. You can install these using YaST, the distribution's one-stop shop for doing most system management.

Either way, you can install packages using the rpm command:

 rpm -ivh /home/user/software.rpm 

Fedora and openSUSE both use RPMs, but the packages are not interchangeable. Again, make sure the RPM you download is intended for your distribution.

Popular distros that use RPM:

  • Red Hat Enterprise Linux
  • Fedora
  • openSUSE
  • SUSE Linux Enterprise Server
  • CentOS
  • PCLinuxOS

TAR Packages

I know I said there isn't a universal package format for Linux, but that isn't 100 percent true. When you see an app packaged as a TAR, TGZ, or TAR.GZ, there's a good chance it will run on your machine. The problem is that its installation isn't as simple as pointing your cursor or entering a single command.

Installing a TAR file is different from installing a binary format like those above.

That's because this archive doesn't ship in an executable format. Instead, it contains the source files needed to build the application in question. Some TAR files come with their own personal installation instructions, and the resulting program may not automatically appear in your application menu.

Popular distros that exclusively use TAR:

  • Arch Linux
  • Slackware

Linux Package Formats Explained!

The types above aren't the only package formats for Linux, but they are the most common. Some distros develop their own types that aren't used elsewhere. Gentoo has ebuild. Pardus has PiSi (short for Packages Installed Successfully as Intended). Android, which is technically a Linux distro, uses APK.

While it might be convenient if there were one format to rule them all, that isn't possible in an ecosystem where everyone is free to build whatever they want. So in the world of Linux, there are many formats floating around, but you can likely get by just fine interacting with only one or two, and your distro will probably make that choice for you.