Table of Contents
Flatpak
Flatpak is a type of package manager that bundles the application and all of its dependencies inside a container. In the Linux world, some (only some) applications are gonna be better off deployed with Flatpak instead of the OS's built in package manager. Some distros now come with Flatpak preinstalled. You can even use a bash alias to have both your system updates and Flatpak updates go off with a single update command.
Installation
Some distros (such as Linux Mint) come with Flatpak preinstalled. If it is not already installed, it is very easy to set it up. Simply go the Quick Setup page on Flatpak.org, pick your distro, and follow the instructions.
You can skip all the pointless GUI plugins for GNOME/Plasma/etc as they will only add bloat. You can very quickly manage all of your Flatpak apps with just a handful of terminal commands, outlined in the next section.
Usage
Built-In Documentation
flatpak -h
and man flatpak
List Installed Apps
flatpak list
List Running Apps
flatpak ps
Install App
flatpak install APPNAME
Remove App
flatpak remove APPNAME
Update Installed Apps
flatpak update
Drawbacks & Package Security
Flatpak has its uses. However, if you are not using it wisely, they can come at a potential cost to resource consumption and security. Since each app is packaged with all of its own dependencies, disk consumption increases exponentially the more apps you install. Furthermore, since the maintainers of those packages are now responsible for updating all of the dependencies their packages, they are no longer updated by the system. Many app developers just forget about these dependencies, and it is far harder and more annoying to update someone's containerized semi-distribution masquerading as an app than it is your own system.
On top of that, security policy on some of these packages is notoriously sloppy. It is highly recommended you make use of tchx84/Flatseal to evaluate the permissions of each of your installed Flatpaks, which you can install with flatpak install flatseal
.
Snap
Snap is the Ubuntu equivalent of Flatpak, packaged with Ubuntu straight from Canonical. It is less open of a platform (the community is limited to Ubuntu users, and Canonical controls the repositories) and startup times are usually slower than Flatpaks as well. It's Foss has a writeup explaining these differences in detail.
Because of those drawbacks, many Ubuntu desktop users prefer to remove Snap entirely, and replace it with Flatpak. We recommend this as well, as it will allow your Ubuntu system access to a wider library of Linux applications than you would normally get with Snap. This is done with the Github package popey/unsnap. There is a guide about how to do this at FOSSlife that explains this further.
Find this page online at: https://bestpoint.institute/tools/flatpak