Innovative Linux Package Managers
Flatpak
The Flatpak [5] package management format provides a runtime base for desktop applications in a protected environment (sandbox). The runtime environment comes with all the required libraries and dependencies. Flatpak packages that have non-standard dependencies need to include them to be able to operate in the runtime environment. This strategy inevitably leads to substantial redundancies, especially in terms of libraries, so Flatpak packages take up considerably more disk space than conventional applications.
Flathub (Figure 5) is a distribution-independent platform for distributing Flatpak packages. However, Linux distributions can also run their own repositories containing Flatpaks. Many distributions already support this format and provide the corresponding runtime environment in the basic installation. In this case, you can integrate Flatpak packages directly into the operating system via the Flathub repository [6].
To do this, use the Install button available on the Flathub page. You then need to install the actual program via the distribution's own application management system. During this process, the program displays details of the selected Flatpak (Figure 6). This means that, before installing a new Flatpak, you can see its size and the actual space it takes up on your mass storage.
After that you can start the application directly with your distributions's application manager. The graphical application manager on the Linux derivative you use lets you delete Flatpaks from the system using the uninstall routine. You can trigger updates at the prompt, using the sudo flatpak update
command to update all Flatpaks that exist on the system in one fell swoop.
Because Flatpak packages run in a sandbox, you need to grant them additional rights to use system components as required. The Flatseal [7] tool helps you do this; it is also integrated into the system as a Flatpak. Flatseal enables convenient rights management that allows application-specific access to various components via slide controls (Figure 7).
Snap
Primarily developed by Canonical, Snap [8] is similar to Flatpak, but it lets you retrieve applications from a repository centrally managed by Canonical. Snap packages – aka snaps – are also executed in a sandbox and require the runtime environment to be installed up front. They can be used in any Linux distribution that supports Canonical's package format.
Like Flatpak, Snap offers the advantage that you can use two or more different program versions of individual applications simultaneously on the same computer system. But snaps also have the disadvantage that the space used on your mass storage devices is massive due to the many redundant dependencies and libraries. Sometimes this redundancy is noticeable in the form of longer loading times when starting a Snap application. Like Flatpaks, you can assign snaps specific rights, for example, for access to certain directories.
Snap packages can be obtained from the Snapcraft.io [9] website and installed using the sudo snap install
PACKAGE
command. Alternatively, depending on the distribution you use, you can use app stores to install and manage snaps. On top of this, numerous distributions have their own Snap Store graphical front ends. The runtime environment is preinstalled on Ubuntu variants from Ubuntu 18.04 "Bionic Beaver" and some other distributions, but can easily be added retroactively on many other distributions. Snap Store [10], which is based on the GTK toolkit, contains only snaps. You can add new packages using the Install button (Figure 8).
Permissions can be assigned to Snap packages individually by clicking Permissions in the top right corner of the program window. In the window that opens, simply define the numerous permissions with the slide controls. For example, you can grant the application the right to access hardware components in this way (Figure 9).
Clicking on the trash icon in the primary window of the Snap Store removes the respective application. On top of this, the matching menu items, automatically generated at install time, disappear. You can update snaps at the command line. The command for updating all Snap packages on the system is sudo snap refresh
, while specifying a name with this command only updates the specific package.
Conclusions
AppImage, Flatpak, and Snap give Linux users three innovative, cross-distribution package management systems to choose from. They support far more flexible use than the traditional package managers.
Flatpaks and Snaps also offer the advantages of running in protected environments and being easy to update. However, this comes at the cost of massive disk space use due to the redundant components and the required runtime environment.
AppImages, on the other hand, only need to be granted execution rights and can then be used immediately. However, they do not support any security mechanisms, which is why you should obtain AppImage packages only from absolutely trustworthy sources. Which of the new package formats you prefer in individual cases ultimately depends entirely on your personal priorities.
Infos
- Alien: https://wiki.debian.org/Alien
- AppImage: https://AppImage.org
- AppImageLauncher: https://github.com/TheAssassin/AppImageLauncher
- AppImageUpdate: https://github.com/AppImage/AppImageUpdate
- Flatpak: https://flatpak.org
- Flathub repository: https://flathub.org/home
- Flatseal: https://github.com/tchx84/Flatseal
- Snap package format: https://en.wikipedia.org/wiki/Snap_(software)
- Snapcraft: https://snapcraft.io
- Snap Store: https://snapcraft.io/snap-store
« Previous 1 2
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Canonical Releases Ubuntu 24.04
After a brief pause because of the XZ vulnerability, Ubuntu 24.04 is now available for install.
-
Linux Servers Targeted by Akira Ransomware
A group of bad actors who have already extorted $42 million have their sights set on the Linux platform.
-
TUXEDO Computers Unveils Linux Laptop Featuring AMD Ryzen CPU
This latest release is the first laptop to include the new CPU from Ryzen and Linux preinstalled.
-
XZ Gets the All-Clear
The back door xz vulnerability has been officially reverted for Fedora 40 and versions 38 and 39 were never affected.
-
Canonical Collaborates with Qualcomm on New Venture
This new joint effort is geared toward bringing Ubuntu and Ubuntu Core to Qualcomm-powered devices.
-
Kodi 21.0 Open-Source Entertainment Hub Released
After a year of development, the award-winning Kodi cross-platform, media center software is now available with many new additions and improvements.
-
Linux Usage Increases in Two Key Areas
If market share is your thing, you'll be happy to know that Linux is on the rise in two areas that, if they keep climbing, could have serious meaning for Linux's future.
-
Vulnerability Discovered in xz Libraries
An urgent alert for Fedora 40 has been posted and users should pay attention.
-
Canonical Bumps LTS Support to 12 years
If you're worried that your Ubuntu LTS release won't be supported long enough to last, Canonical has a surprise for you in the form of 12 years of security coverage.
-
Fedora 40 Beta Released Soon
With the official release of Fedora 40 coming in April, it's almost time to download the beta and see what's new.