Flatpak and Modern Software Management

Flatpak and Modern Software Management

Bitnesia • Aug 16, 2026 128 •ID

Besides APT and DNF which manage classic packages, the Linux world now has a modern approach to installing desktop applications: Flatpak and Snap. Both are universal formats that bundle an application along with all of its dependencies into a single isolated package, allowing it to run on almost any distribution. This chapter explains the concept of Flatpak, its advantages and disadvantages, the use of Flathub, and an introduction to Snap, which is a staple in Ubuntu.

27.1 What Are Flatpak and Software Containers?

Flatpak is a desktop application distribution system that uses a container approach. This means each application is packaged together with all its dependencies and runtime in a single unit that runs separately from the main system. A runtime is a set of basic libraries needed by many applications, and multiple applications can share the same runtime.

Because Flatpak applications bring their own dependencies, they do not rely on the library versions available in the distribution you are using. The same single package can be run on Ubuntu, Fedora, and other distributions without needing to be recompiled.

27.2 Advantages and Disadvantages of Flatpak

Flatpak offers a number of advantages, but it also comes with consequences that need to be understood.

Advantages:

  • Universal. A single package runs on various Linux distributions.
  • Isolated. Applications run inside a sandbox, keeping their system access more restricted and more secure.
  • Latest Versions. Developers can release updates without waiting for distributions to update their repositories.
  • Stable. Applications are not easily broken by changes to system libraries.

Disadvantages:

  • Larger Size. Each application brings its runtime and dependencies, consuming more storage space.
  • Theme Integration. Application appearance does not always match the desktop theme perfectly.
  • Slower Startup. Applications can feel slightly slower when opened for the first time.

27.3 Flathub: The Largest Flatpak Repository

Flathub is the main repository where Flatpak applications are distributed. Almost all popular desktop applications, from LibreOffice and GIMP to Firefox, are available on Flathub.

On Fedora Workstation 44, Flathub is active by default as long as you accept the Third-Party Repositories option offered during the initial installation (or via a notification when opening the Software app for the first time). Starting from Fedora 38, the Flathub remote enabled through this option is no longer filtered (no hidden apps), giving you full access to Flathub. If this option was skipped during installation, it can still be enabled at any time via the terminal.

On Ubuntu 26.04 LTS, you need to enable it first by installing Flatpak and then adding Flathub as a remote.

sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Make sure Flathub was successfully added by checking the list of remotes registered on the system.

flatpak remote-list

If Flathub appears in the list, the repository is ready to be used to install applications. It should be noted that Flatpak applications installed via the terminal will not automatically appear in App Center, the default software store application in Ubuntu 26.04 LTS, because App Center is specifically designed to manage Snap and .deb packages only, without Flatpak support. If you want to manage Flatpak applications through a graphical interface in Ubuntu, install gnome-software-plugin-flatpak so that the GNOME Software application (separate from App Center) can display and manage your Flatpak applications.

27.4 Using Flatpak

Here are the most frequently used Flatpak commands.

27.4.1 Installing Applications

Use flatpak install followed by the repository name and application ID.

flatpak install flathub org.videolan.VLC

Every Flatpak application has a unique ID, for example, org.videolan.VLC for VLC and org.gimp.GIMP for GIMP.

27.4.2 Updating Applications

To update all installed Flatpak applications, use flatpak update.

flatpak update

27.4.3 Removing Applications

Use flatpak uninstall followed by the application ID to remove it.

flatpak uninstall org.videolan.VLC

27.4.4 List Installed Applications

To view installed Flatpak applications, use flatpak list.

flatpak list

27.4.5 Verification and Troubleshooting

After installation, run flatpak list to ensure the application is properly recorded as installed. You can also run the application directly from the terminal using its ID to verify that it opens normally.

flatpak run org.videolan.VLC

Some common issues encountered in practice when using Flatpak:

  • Error message error: No remote refs found similar to 'flathub'. This message appears when the Flathub remote has not been added yet, causing Flatpak to treat "flathub" as a search term that was not found. Add the remote first using flatpak remote-add as shown in the previous step.
  • Application ID not found. Check the correct spelling of the ID using flatpak search <application_name> before installing.
  • Application cannot access files outside the Home directory. This is part of Flatpak's sandbox mechanism, not a bug. Install Flatseal from Flathub to review and adjust each application's permissions as needed.

27.5 Snap (Ubuntu specific)

Snap is a software distribution format developed by Canonical, the company behind Ubuntu. The concept is similar to Flatpak: bundling an application along with its dependencies into a single package, but with a centralized distribution and update system via the Snap Store. The Snap Store plays a role similar to Flathub for Flatpak, serving as a central catalog where publishers upload snaps and users search for them, both via the command line and through the snapcraft.io/store website. On Ubuntu, several applications like Firefox are already distributed by default as Snaps; even the firefox package in the official APT repository is now just an empty transition package that automatically redirects installation to the Snap version.

27.5.1 Installing Applications

Use snap install to install applications from the Snap Store.

sudo snap install vlc

27.5.2 Removing Applications

Use snap remove to remove an application.

sudo snap remove vlc

27.5.3 Updating Applications

Use snap refresh to update all Snap applications.

sudo snap refresh

Snaps are generally updated automatically in the background, but you can still run the command above to check for updates manually.

27.5.4 Verification and Troubleshooting

After installation, run snap list to ensure the application is recorded along with its version and revision.

snap list

Some common issues encountered in practice when using Snap:

  • Error message regarding classic confinement. Several snaps, especially development tools like code (VS Code), require full access to the system outside the standard sandbox. Snap rejects this with the message error: This revision of snap "code" was published using classic confinement.... Add the --classic flag during installation, such as sudo snap install code --classic.
  • Application does not run as expected. Check the application logs with snap logs <snap_name> to view error messages from the underlying service.

Flatpak and Snap complement APT and DNF as modern ways to install desktop applications. Through both, we can obtain the latest application versions without worrying about breaking the base system. In the next chapter, we will transition to the topic of processes, learning how programs run on Linux and how to manage them.