Linux Packaging Formats Explained: Flatpak vs Snaps vs DEB & RPM vs AppImage vs AUR

Linux Packaging Formats Explained: Flatpak vs Snaps vs DEB & RPM vs AppImage vs AUR

HomeThe Linux ExperimentLinux Packaging Formats Explained: Flatpak vs Snaps vs DEB & RPM vs AppImage vs AUR
Linux Packaging Formats Explained: Flatpak vs Snaps vs DEB & RPM vs AppImage vs AUR
ChannelPublish DateThumbnail & View CountDownload Video
Channel AvatarPublish Date not found Thumbnail
0 Views
Download Safing Portmaster and take control of your network traffic: https://safing.io

Get a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#

SUPPORT THE CHANNEL:
Access a weekly podcast, vote on the next topics I cover, and get your name in the credits:

YouTube: https://www.youtube.com/@thelinuxexp/join
Patreon: https://www.patreon.com/thelinuxexperiment

Or you can donate what you want: https://paypal.me/thelinuxexp

️ LINUX AND OPEN SOURCE NEWS PODCAST:
Hear the latest Linux and open source news, with deeper, ad-free coverage! https://podcast.thelinuxexp.com

FOLLOW ME ELSEWHERE:
Website: https://thelinuxexp.com
Mastodon: https://mastodon.social/web/@thelinuxEXP
Pixelfed: https://pixelfed.social/TLENick
Twitter: http://twitter.com/thelinuxEXP
PeerTube: https://tilvids.com/c/thelinuxexperiment_channel/videos

This video is distributed under the Creative Commons Share Alike license.

#flatpak #linux #packages

00:00 Introduction
00:33 Sponsor: Monitor and secure your Internet connection
01:38 Regular packages: DEB and RPM
04:53 Shopping bags
08:56 Snaps
11:29 AppImages
14:11 The Arch User Repository
4:35 p.m. These formats are not important
5:40 p.m. Sponsor: Get a device that runs Linux perfectly
6:28 p.m. Support the channel

DEBs and RPMs are contained in repositories that your distribution has set up or that you add yourself.
On the plus side, these packages are all separate, meaning that each package contains either an application or a library: you only install what is needed, nothing more. This also means they tend to use less space over time.

Second, they are maintained and tested by your distributions, which means they should all work fine without any issues.

Third, they are all based on a system of dependencies: applications declare which other packages they should run.

You install a package as superuser, which means you grant the package full rights to do whatever it wants on your system when it is installed. They can also be addictive hell.
These packages must be created for each architecture, for 32-bit and 64-bit, for all currently supported versions of a distribution, and for all distributions.

And this is the main reason why Flatpaks were invented. It bundles the application and everything it needs to run into a single bundle. If the application depends on A LOT of libraries commonly used by other applications, it can install something called a runtime instead.

Flatpaks are intended for graphics applications only: they are not a means of distributing libraries or command-line applications. Flatpaks are usually hosted on Flathub, but there are other repositories.

Flatpaks are more secure than traditional packages. They are installed as regular user and can't install any crap that will work at system level. They can also use a sandbox, with permissions.

Another advantage concerns application developers: flatpaks work on any distribution that has flatpak installed, which is essentially the case for Ubuntu and its different versions.

This also means that you don't depend on your distribution for updates: you can get new versions of your app as soon as the developer releases them. The final benefit is not the hell of addiction.

Flatpaks tend to use more space and cannot completely replace packages: they are only intended for graphics programs. Finally, flatpak apps may not follow your custom themes.

You can install Snap packages on Ubuntu and all its derivatives, or on any distribution that can install the snapd package. They are automatically updated and containerized. Snaps also let you test future releases in advance, with /"channels/". Although the packaging format is open source, the server component is not.

Snaps are very slow to open on first startup. They tend to clutter your mount points. Snaps also generally doesn't support your custom themes. Snaps have the advantage of supporting command line utilities.

AppImages is an all-in-one bundle that bundles the app and all its libraries into a single file.
They are very portable. They also won't create one hell of dependency, since they are completely independent. Application images can be sandboxed, but few of them are. Appimages do not integrate with your system at all. They also use more space than any other packaging format.

Next comes the AUR, this stands for Arch User Repository. it is available on Arch Linux and other Arch-based distributions like Manjaro.

The AUR is a large repository of privately packaged applications and libraries: they are generally unofficial and not supported by the original distribution or developer.

Its main advantage is that it has practically everything. The AUR does not host packages, but packagebuilds, which are scripts that will create the package.

This means that installing something may take a little longer, and it also means that unless you read the package build scripts yourself, you are completely trusting someone with the security of your system.

Please take the opportunity to connect and share this video with your friends and family if you find it useful.