Explaining Linux packaging formats: Flatpak vs. Snaps vs. DEB & RPM vs. AppImage vs. AUR

Explaining Linux packaging formats: Flatpak vs. Snaps vs. DEB & RPM vs. AppImage vs. AUR

HomeThe Linux ExperimentExplaining Linux packaging formats: Flatpak vs. Snaps vs. DEB & RPM vs. AppImage vs. AUR
Explaining Linux packaging formats: 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's Portmaster and take control of your network traffic: https://safing.io

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

SUPPORT THE CHANNEL:
Get access to a weekly podcast, vote on the next topics I cover, and see your name in the credits:

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

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

️ LINUX AND OPEN SOURCE NEWS PODCAST:
Listen to the latest Linux and open source news, with more in-depth coverage and no ads! 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 Normal packages: DEBs and RPMs
04:53 Flat packs
08:56 Snapshots
11:29 AppImages
14:11 The Arch User Repository
16:35 These formats are not important
17:40 Sponsor: Get a device that runs Linux perfectly
18:28 Support the channel

DEBs and RPMs are contained in repositories that your distribution has set up or that you add yourself.
The advantages of these packages are that they are all separate, meaning each package contains either an application or a library: you only install what you need, nothing more. This also means that they take up less disk space over time.

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

Third, they are all based on a dependency system: applications specify which other packages they need to run.

You install a package as superuser, which means that during installation you give the package all rights to do whatever it wants with your system. You can also create dependency hell.
These packages must be built for each architecture and for 32-bit and 64-bit, for all currently supported versions of a distribution, and for all distributions.

And that was the main reason why Flatpaks were invented. It packages the application and everything it needs to run in a single package. If the application depends on MANY libraries that are commonly used by other applications, it can install what is called a runtime instead.

Flatpaks are intended for graphical applications only: they are not a way to distribute libraries or command-line apps. Flatpaks are generally hosted on Flathub, but there are other repos as well.

Flatpaks are more secure than regular packages. You install as a regular user and can't install crap that runs at the system level. You can also use a sandbox with permissions.

Another advantage for app developers: Flatpaks run on any distribution that has Flatpak installed. That's basically all distributions except Ubuntu and its various variants.

This also means that you are not dependent on your distribution for updates: you can get the new versions of your app as soon as the developer releases them. The last advantage is that you are not plagued by dependencies.

Flatpaks tend to take up more storage space and can't completely replace packages: they're only intended for graphical programs. Also, 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 stored in containers. Snaps also allow you to test future releases in advance, using /"channels/". While the packaging format is open source, the server component is not.

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

AppImages are a complete package that combines the application and all its libraries into a single file.
They are very portable. They also don't cause dependency hell because they are completely independent. Appimages can run in a sandbox, but many don't. Appimages don't integrate with your system at all. They also take up more space than any other packaging format.

Next comes AUR, it 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 applications and libraries packaged by individuals: they are generally unofficial and not supported by the distribution or the original developer.

Its main advantage is that it contains practically everything. The AUR does not host packages, but rather package builds, i.e. scripts that create the package.

This means that the installation may take a little longer and that you are completely entrusting the security of your system to an individual unless you read the packaging scripts yourself.

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