I've seen a lot of debate regarding different packaging formats and their use/support in ZorinOS, however lots of it is uninformed repeats of what other people have said. As such, I will try to clear up some common misconceptions regarding the major packaging formats that will be supported in Zorin OS 17: Debian Packages, Flatpaks, and AppImages.
What are the differences, anyways?
Inherently, apt
is the default package manager in Debian and Ubuntu, and in extension Zorin OS as well. It handles system packages.
As such, anything you install using apt
is installed directly onto the primary system. There is no seperation between users, everything is system-wide, and packages you install can freely modify system settings and configuration.
Additionally, because of the nature of apt
, debian packages (.deb
) will only work on Linux-based Operating Systems that also use the apt
package manager (or the underlying dpkg
).[1]
This is where other packaging formats come in
Flatpak is a Linux-Distribution-Agnostic solution to package management. This means that it is completely uncoupled from your system, can have per-user installations and it manages it's own dependencies. Additionally it offers runtime permissions to control what apps can do and sandboxing to make sure the permissions that you set are enforced.
Snap is similarly distribution-agnostic, but it does some things differently on a more technical level. It uses different tech for sandboxing, and isn't as widely supported by Linux Distributions. GUI Options to interact with Snap are also less common[2].
AppImages take a different approach to being Distribution-Agnostic. Instead of being a package manager, it is a way for developers to package their apps into single-file executables. Kind of like Portable-EXE files on Windows. Most of them are made well, but there may be some exceptions where an appimage doesn't contain everything it needs, at which point you may encounter compatibility issues. By default, AppImages will not show up in your Menu. You may want to use Gear Lever to integrate and manage them.
Note that these packaging formats aren't all the same. Flatpak != Snap != Appimages
How does Zorin OS use/incorporate these?
In most cases, by the Software Center's design, Zorin OS encourages the use of Flatpak. This is not because they want to do something malicious, or because they want to force you into using it (there is the source-picker after all) but rather because it is currently the most reliable and fleshed-out experience there is for apps on Linux[3]. Additionally it provides some security benefits over running apps "bare" through apt
, snap
or AppImages primarily due to it's sandboxing[4].
What about Firefox?
In Zorin OS 17, the developers have replaced the Firefox .deb
package with the Flatpak. This is presumably because the Firefox Flatpak is:
- Officially Supported by Mozilla
- Doesn't interfere with System Packages
- Can be updated seperately from the system.
- Doesn't rely on
snapd
All of the above are important, but they are speculation on the Zorin Developers' reasoning.
Misinformed Downsides and bad takes:
- "Flatpak takes up more space!"
At first, this might seem to be true as you're duplicating some dependencies. However, Flatpak can also deduplicate it's own dependencies. In other words, an effort is made to minimize the amount of duplication whilst maximizing the amount of supported software. This comes with the side-effect of offering different versions of runtimes, which cannot be easily deduplicated but are there for using older apps. Note that they're only downloaded when you have apps installed which require them. - "Flatpak takes longer to start!"
This is only partially true, as it doesn't take into account different software and hardware. Start times differ dramatically with different hardware, and where I have had no issues running on relatively slow HDD storage and an okay CPU[5] there have been reports of others running different configurations which suffer from longer start times.
The same goes for other system package-managers, like
pacman
ordnf
↩︎this is why Snap mostly caters to developers in the opinion of many. ↩︎
However, there are still some things that need work, primarily by app developers, to make everything work smoothly with Flatpak. If you experience issues with it, try debian packages (
apt
,.deb
files) and see if the issue persists. ↩︎remember that Sandboxing isn't an end-all to viruses and other malware. ALWAYS be careful with what you run! ↩︎
AMD Athlon X3 460 at 3.2 gHz base, overclocked to 3.415 gHz ↩︎