Snaps, Flatpaks and AppImages Do Very Different Things! (Each Has Its Purpose)
HTML-код
- Опубликовано: 11 сен 2024
- Linux users love to debate the merits or lack thereof regarding Snaps, Flatpaks and AppImages. One of the things that really bothers me is that so many Linux users don't understand that Snaps, Flatpaks and AppImages DO NOT do the same things. They are very different and thus, each has its reason to exist.
WANT TO SUPPORT THE CHANNEL?
💰 Patreon: / distrotube
💳 Paypal: www.youtube.co...
🛍️ Amazon: amzn.to/2RotFFi
👕 Teespring: teespring.com/...
DONATE CRYPTO:
💰 Bitcoin: 1Mp6ebz5bNcjNFW7XWHVht36SkiLoxPKoX
🐶 Dogecoin: D5fpRD1JRoBFPDXSBocRTp8W9uKzfwLFAu
📕 LBC: bMfA2c3zmcLxPCpyPcrykLvMhZ7A5mQuhJ
DT ON THE WEB:
🕸️ Website: distrotube.com/
📁 GitLab: gitlab.com/dwt1
🗨️ Mastodon: fosstodon.org/...
👫 Reddit: / distrotube
📽️ LBRY/Odysee: odysee.com/@Di...
FREE AND OPEN SOURCE SOFTWARE THAT I USE:
🌐 Brave Browser - brave.com/dis872
📽️ Open Broadcaster Software: obsproject.com/
🎬 Kdenlive: kdenlive.org
🎨 GIMP: www.gimp.org/
🎵 Tenacity: github.com/ten...
💻 VirtualBox: www.virtualbox...
🗒️ Doom Emacs: github.com/hli...
Your support is very much appreciated. Thanks, guys!
Interesting. I already understood the different use cases for AppImage packages, but never realized that Snaps were geared toward the server. That actually makes a lot of sense. Thanks DT.
Well, trying to be geared towards all kinds of Linux platforms desktop, server iot... and not JUST desktop, witch is the case with the other 2
Yea snaps are general pavkage manager which is what makes them not great at anytbing and thats not a bad thing
@@bigpod snap do manage failed upgrade. It is designed to be able to upgrade software, and not needed to rebooting.
It is also designed to manage errors like write protected file system or running out of space when upgrading, and still have a working system. That is, it is transactional package managers. Either you get a successful upgrade, or nothing happened. That is, the system never ends upp in a state between before and after successful upgrade.
That is the nice thing about snap.
Other then that, my preference is native packaged formats, as I don't run IoT or our other stuff like that, which need transactional package managers.
@@AndersJackson while this transactional function can be built in flatpak (maybe Canonical want to contribute) the problem that people have with snaps is that they push it hard for ubuntu desktop not server which the majority of complainer are (desktop users) ah your firefox takes more time to launch now well of course silly that's on purpose we replaced the native package which still exist with the snap one and it make it hard for you to go back
that just sound like google or microsoft with fewer steps how is that a better user experience or a good pr for Canonical or Snaps?
Then they can push snap on the server versions of Ubuntu, keep that crap off of the desktop versions!
The backend for snaps is entirely proprietary and canonical is currently engaging in anti-competiitve practices vs flatpaks. I don't care who you are, there is no reason to ever defend either of these behaviors.
Sorry I know this comment is from a year ago, but could you explain more on how canonical with snaps are engaging in anti-competitive practices?
@@anoobplays386 closed source backend of the snap store because their launchpad failed
He got paid by Canonical. Distrotube is a sellout
@@anoobplays386 The big one is that snap only supports a single store, the Snap Store hosted by Canonical, there are no other stake holders. Contributing to snap also requires signing a Canonical CLA, which many FOSS developers don't like as CLAs let projects re-license the project to become proprietary or different licenses. Snap also relies on AppArmor for confinement, so they don't work as well on Fedora and soon Tumbleweed as they're moving to SELinux.
@@lightyear3429 "paid by canonical" y'all have no brain.
flatpaks can be installed in user space without any aditional permissions
correct. he was wrong to say flat pack requires sudo to install
So you're saying that they are insecure then?
@@terrydaktyllus1320 how would that make them insecure?
@@johnq4951 I don't know, I don't use them, I don't need to use them. I am asking him to explain why believes the lack of additional permissions is a good thing as someone who works in cyber-security on Linux servers.
Perhaps if you stopped question the person asking the question and sat patiently to see if they answer, you too might learn something.
You have two ears and one mouth for a reason.
@@terrydaktyllus1320 He never said it was a good thing. He only corrected Derek in saying you need root permissions. You do not need root permissions to install as a user. If you think installing an application as a user is less secure then a system install then you can explain(or not I don't care).
3:45 Flatpaks don't need root permission
snaps really makes sense when you look it from server perspective. the argument about snaps having slow startup time? for a server that you wouldn't turn off for a long time it's a very minuscule annoyance compared to when it happen on desktop. if that doesn't tell you where Canonical focus lies on, I don't know what will
You're missing something very important. Ubuntu is pushing snaps on a desktop distro. Even when people enter a command to install it as one thing in terminal, Ubuntu is ignoring that and installing something else. You completely ignored this fact though. Curious.
I would still argue that canonical should drop Snaps for Flatpak, but only for desktop applications. In my opinion that would be a win-win situation because they can fully focus on making snap the best it can be on the server and rely on existing community efforts around flatpak in the desktop application space.
The main reason they don't do that is probably because they want to earn revenue from companies selling their proprietary applications via the snap store.
On the server side it's going to be interesting to see what will happen, but Canonical might be fighting a loosing battle with Snap because OCI has basically won and that is what everybody supports. There are definitely issues with OCI containers in that they are kind of a mismatch with a classic server setup with systemd for example, but that gap is also getting closed with things like podman's quadlet etc.
this would increase the maintainence burden, which canonical is aiming to reduce ;)
Thank you so much. I've been telling that to people for years. But nobody is listening. And honestly if Flatpak doesn't drastically change direction and starts supporting server use cases then the only packaging format that can actually replace everything else is and will be Snaps.
And I hate when people start hating on Snaps and like telling Canonical to divest from that tech instead of using all of that negative energy to actually do something good and yell at the Canonical as loudly as possible to open source the backend and actually make snaps more distributed and completely foss.
Stop hating, start thinking. They are endusers not server users and for endusers the FOSS idea is more important than the fact it is good for server usage. Time to treat valid criticism like an adult and not like 7 year old who calls you a meany because you don't like his teddybear.
@@worldhello1234 then think again. Linux is mostly used for servers and IoT. Flatpak doesn't support primary linux use case.
As an individual, I prefer using Firejail as a sandboxing tool and manually packaging applications that are not readily available. I do not find any practical application for using flatpaks, snaps, or AppImages in my personal usage. However, this is simply a matter of personal preference. It is one of the reasons why I have a fondness for Linux, as it affords me the flexibility to make such choices.
Package AppImageLauncher in rpm
ya I generally have no problem with the distro packaging anywhere. I'm not terribly fond of deb because I had problems before, but being able to handle a tar.gz is an important skill. I want gui apps to help me build... standardize any system's process. It shouldn't be mind-numbing, just moving files and adding configs, but it is :/
Always bringing reason-ability to the FOSS and open source movement. Thank you Derek! I was slow to warm up to snaps, but they totally remove any argument for most window users not to try and switch to Linux. While also being incredibly practical. You can keep things neat and tidy to specific programs without having the clog the system with many settings. The settings are all in the snap!
One has to give huge credits to Canonical for what it does for the Linux community.
@@ArniesTech I had my doubts, but with skepticism you get the assurance of certainty by giving it time with the community.
@@ArniesTech I give credit to Canonical for what they do for people that use Ubuntu - but they do nothing for me as a Gentoo user of 20 years.
Linux is about choice and if Canonical do for you what Gentoo does for me then we're both happy - but please don't pretend it's a "Linux community" thing, it's just a proportion of it. Linux would still exist if Canonical did not.
I’m new to Linux and this was so insightful. All I saw online was “avoid snaps” and “canonical is evil” …but this was an actual balanced and informative take. Thank you and subscribed!
Here is the AUR land we take your snaps, flatpacks, or whatever, unpack them, and re-package them as a native pacman package. And this is beautiful. Everything is a native package, and everything integrates well with the system. And almost everything is in the AUR. I don't have to worry about what is where, If it's not on the AUR it will be in a few hours once I finish making the PKGBUILD for it ;)
Enjoy your malware
As much as I love the AUR, I feel ten times safer by using sandboxed applications with Flatpack.
i have never encountered malware from the aur. dont know anyone who has. has anyone? perhaps. ive never heard of it though
@@bigmikeobama5314 ruclips.net/video/qvM-nSYA6HI/видео.html
That's just one example. there might be worse stuff out there, stuff that hasn't been discovered yet, etc.
@queerdo Are you "hard of thinking"? He described in very clear terms what he was talking about, I suggest you read his comments a few more times if it takes that for it to sink in. I am not going to explain it to you, you will have to do some work yourself.
Great video DT! Going to point to this URL in some of our docs. I love AppImages because they make it easy for the few people we have who don't have Internet to switch to Linux. I can download the programs they need and give it to them on a flash drive. Glad to see the coverage of updates in this discussion. We use a few snaps in our image. While there are things I don't love about snaps, they definitely have their uses. Heck, the odd program I'll compile if I really want it. Thanks again for the great video.
Very well explained DT. I like the way you explained the three package formats by way of comparison.
It really brought the concept behind the creation of them into focus for me. Great video as always.
I will say that when it comes to flatpaks, I guess it all depends on the distro you are using. Linux mint for example has turned flatpaks 100% rootless right out from a fresh install. Tightly integrated with the software manager center and update manager all without having to touch a single command. You could even backup the whole entire flatpak framework to restore for just in case without having to redownload all those apps again.
I wish nixpkgs had a nice user facing gui frontend. It's a fantastic, sandboxed packaging system that has made my dev job much much easier and cleaner
Soydev.
Snowflake OS actually has a GUI package manager for Nix that they've been working on.
Nix package manager is only part of the whole Nix experience and Nix pushes reproducibility of packages and Development build aystem first and package containment is also possibility with sandbox possible using Nix language itself or with docker.
NIX is so much more than what snaps, flatpak, and appimage were created for; but can replicate what they do thanks to its functional language.
Not really in the same category
"We just need to calm down a bit" is a universal truth, whether it's about packaging formats, distros, game consoles, politics, or anything else.
You do what you like but I don't instructions from strangers on the Internet and I enjoy discussions on these topics. If you do not then don't read them, but it's extremely self-entitled of you trying to impose your "editorial standards" on everyone else.
This is a public messaging system and only RUclips gets to enforce their standards here, not you.
I personally am a big fan of flatpaks. recently distro hopped to fedora and the native firefox had codec issues for twitch and whatnot.
i just removed that and installed the flatpak version and boom, everything is working again! Since they bundled everything in the sandbox,
I didn't have to worry about any missing dependency at all.
Antifa scum.
Have you wondered WHY the 'native firefox' in Fedora had 'codec issues' while the flatpak doesn't?
@@apo.7898 i think my installation was missing some but i used flatpak mostly so it was not an issue for me to move to flatpak version from the default installation of rpm firefox.
@@apo.7898 I do know why, but I don't give a shit. Most users don't.
The problem with snaps is they flat out not work for desktop but they want you to use them for desktop. So until they fix that, snap is simply worse
they have no purpose existing because everybody understandably just uses docker images, so snaps aren't even good for the server either.
I love appimages and use them extensively. But the theme thing is really a hassle. The program naming thing is the main reason I avoid flatpaks
A bash script with awk/cut/sed with a for loop that iterates the contents of ~/.local/share/flatpak/exports/bin, removes the first and second fields from the names and save them in an alias should be all that is needed to not have to run the huge names in the terminal, but I don't have a problem with this, flatpak for GUI, snap for command line
Flatpaks require extensive code changes for Java applications because of the mandatory sandboxing. The Flatpak 'portals' work for C or C++ code, but require using a Java Native Interface for programs written in Java. As a Java developer, I will do an AppImage installer (if I can figure out how to do it), or perhaps even a Snap package installer, but not a Flatpak.
I've never seen a snap to be run on server and I would never put any production package on my server through snap. Not that I hate snap, I quite dont care, but autoupdates and not to be able to host your own source repo is quite a deal breaker. Last thing I want is to have a production package update breaking a service on a whole fleet of machines, possibly on hundreds or thousands of servers serving huge number of customers. Similar reason, why Debian is golden standart for production servers
Removing snap from my desktop ubuntu installation has cut my OS boot time in half. I only had the preinstalled snaps like firefox and have never installed a snap myself.
Snaps run a lot of stuff at boot, they are proprietary, they come preinstalled and they take over the package manager. Doing "apt install" will sometimes install the snap and purging snap from your system is a long and complicated process if you want to get rid of every trace of them.
Snaps also take more time to open, but thats just the least of my concerns with them. They might be okay for ubuntu server but dont force desktop ubuntu flavors into snap. It really sucks for desktop use and should not be a thing for those kinds of distros.
I tried out Ubuntu a few days ago and I was shocked on how fast snap was! Better than PoP OS for sure
Personally i'd love if if Canonical overnight decided that snaps were now only meant only for server and cli apps and they started pushing for and contributing to Flatpak for desktop apps but since this is not very likely i'm ok with it too.
I really want to like appimages despite how the maintainer just keeps dropping the ball time after time again.
I've been using Mint for years, and every app I'd ever want is in the Repository either natively or as Flatpak.
I tried Debian this weekend on a spare machine with the plan to put all the apps on it that I use in Mint and then alternate between the two systems each couple of days to see which I like better.
It went mostly okay, with the exception that I had to use the terminal to install Flatpak support.
Once I got Debian to offer Flatpaks in the Software Manager, I got all the same apps on Debtian that I have on Mint (Eclipse, Steam, Minecraft, and a few others).
A total n00b might have had problems getting all his favorite apps on Debian, and gave up and stayed on Mint, but both systems are comparable now except for the look of the graphics.
That's all 🙂
What makes these kinds of debates doubly pointless is that you are perfectly free to remove snaps and install flatpaks, no matter your distribution.
I didn't have any problems with any of the three until Ubuntu somehow decided to ship with Firefox as a snap. And guess what? The suggested method for installing Gnome extensions doesn't work with this snap package.
Fun fact: it was Mozilla's call to ship browser as a snap, not Canonicals.
So this specific situation is not their fault. :D
Great video. I don't think the debate witch one is best will ever go away. I'm on Arch and a lot of times the AUR will not build what I want and Spotify is a big one that's hard to get. I always have flatpaks installed on my system. I have wondered what the difference is between them all and you have answered that
Thanks for breaking this down DT! I didn't know the differences between them. I do like AppImage, but there are some funky things that I haven't figured out yet.
Your comments about Canonical / Ubuntu focusing on the server market... are kinda funny. Canonical originally decided to do Ubuntu for two reasons if I'm remembering correctly. 1) Mr. Shuttleworth really liked Debian and thought that its development cycle was too slow and wanted to improve it by providing something with a much more rapid development/release cycle. 2) Red Hat had recently announced they were dropping Red Hat Linux and focusing on their new product, Red Hat Enterprise Linux (and Fedora didn't exist yet) as they didn't believe there was a way to be successful with a desktop targeted Linux. Canonical was going to focus exclusively on the desktop in response to Red Hat pivoting to the server space. But obviously, times change, eh?
I stepped away from Linux for over a decade so I missed all of this. Thanks. Your "rigid" video explains why I stepped away - well that and I developed other Hobbies.
I use debian based distro, so almost all the packages are available. What's not installed can be found as deb. Whatever is not installed as deb can be built from source.
If I'd have use something other than these three, I'll build from the source or use AppImage.
As a heavy Ubuntu and Ubuntu-derived distro user, I use all three. Flatpaks have let me down far too many times with apps that I need for me to not use Snaps too. I have also used some great appimages, but there so far isn't much of a selection of them for the apps that I need.
So none of them meet your criteria for universal package management, which is precisely the problem that exists here - and, unfortunately, it's not a problem for the knowledgeable part of the Linux community that has just learned Linux properly, chosen a distro, stuck with it and understands how its native package manager works.
There is no substitute for just putting in the necessary time and effort properly - if some Linux users just sit there waiting for someone else to give them "easy Linux" without understanding that there's a different perception amongst those users what "easy Linux" actually is, then what you get is the "clown show" package manager war that is happening right now.
@@terrydaktyllus1320 It's good for the normie user and will probably lead to more people converting in the future. You have to dumb it down for most people. They don't want to know how stuff works under the hood. It's sad but it will never change.
@@joeschmoe3815 I don't care about other users, they can do what they want to just as much as I can do what I want to.
I want nothing "dumbed down", I want people learning how to use computers properly and how to protect themselves on the Internet.
It's the same reason that I don't want the driving test "dumbed down" because a lot of people in my country complain that it's too difficult.
The more "dumbed down" something is, the more idiots appear.
We all came into this world knowing nothing.
@@terrydaktyllus1320
That's the most ego-centric way of thinking imho. I'm sorry little Timmy, but the world doesn't bend to your will. We all have different sets of knowledge and you must respect those differences.
You might know computers very well, savvy even, but you might have zero idea about medicine, farm, business, etc. Those other guys who know them will explain it "dumbed down" so that you somewhat understand the gist of it. If they have the same mindset of yours they might see you as a big idiot for not knowing those topics that they thought everybody should have understood.
Try seeing in other people's perspective to exercise sympathy.
@@cmaxz817 "That's the most ego-centric way of thinking imho."
And that's the point I stopped reading because we're not here to discuss a topic you know nothing about - namely, me.
So run along now and take your "amateur Internet psychologist" skills with you - there will be no "psycho-analysing" me today for you, sonny.
Next time we meet, do try to keep up and stay on topic - I am here to talk about stuff I know a lot about, namely Linux and computers.
It's therefore important that you engage me in such topics from the outset, rather than your irrelevant "aerie-faerie" nonsense that probably just indicates how little you actually know about the core topics of Linux and computers anyway.
There's a piece of me psycho-analysing you that you can have for free too, you're welcome.
Discussion closed, mind how you go.
no matter what extra package system you use they should only be in addition to the distributions repository
Yes, but learning your distro's package manager properly is too difficult for "Linux babies" who just want to download their software from some potential malware site somewhere and double click on it to run it.
Do you really think these babies have enough computer knowledge to be able to detect malware sites from the real ones? At least if you go to your distro's package manager, it's protected with certificates and keys to make malware almost impossible.
I disagree with you. let the app devs carry about the app, the shipping, versioning, testing, etc. let the distro devs take care about the distro. microsoft doesn't maintain the apps, neither does apple or android. so, why should the distro mantainers and dev care about the apps?
this is wrong from the ground.
IMHO snaps has the best theme integration. Running Chromium as flatpak and setting theme from OS is a nightmare.
Yes this. Exactly this. I've been saying this for a while now. Thanks for explaining this in a video dt!
I would add they don't have to do the same thing, they serve different purposes, and that's ok ;)
Absolutely. They are tools in a tool box. Each being awesome for its purpose.
@@ArniesTech yupp, this is also why you can't really compare them xd
1:35 Snapaks are my favourite packaging format!
PyCharm flatpack is so sandboxed that you can't change the python version that comes installed with it. It comes with 3.10 and you can't use 3.12 that was installed on the system. That is really a show stopper for me. I was very happy with Suse micro-os with AEON desktop, but this problem with PyCharm forced me to change back to Ubuntu
Very informative, DT! About six months ago, I remember when people, especially on reddit, were up in arms about snaps and how snaps were horrible and bloated. I've used snaps before, and at the time they did seem sluggish but I think it was more of a hardware issue on my end because it sped up once I upgraded my hardware. I would ask for change or patience when it comes to discussing packages on the internet but meh it's just part of the community.
I think the fact that someone would listen to the self-entitled and spoiled brats on Reddit in the first place is the problem here.
@@terrydaktyllus1320 Hey sometimes they have good information hidden inside their points. Personally I’m there for the memes and learning more from the community about different things.
@@Fractal_32 I have to agree sometimes there is a helpful voice on Reddit, but a lot of times there's plenty of fantastic memes.
@@terrydaktyllus1320 Because YT comments are of a higher quality?
@@somegeezer4058 I don't answer the questions of strangers on the Internet. I will allow you to make your own assumptions based on the comment that I already provided - and please don't feel obliged to report those assumptions to me either.
Exactly!
Flatpak does not do server.
I use both desktop and server, so for me, the snap's automatic update saves me a lot of work and as it was first, I tend to be more familiar with snaps. It is true that flatpak path names are crazy so I tend to only use flatpak for gui application that I have no need ti interact with through the terminal.
But basically, who cares about packaging formats. Use what ever serves your needs.
I think what a lot of users don't get is snaps, appimages and flatpaks aren't really about what they can do for the end user. At least not primarily. They're about making life saner and more manageable for the folks distributing the software long term.
Incorrect, utter nonsense.
The developer writes the source code, tests it, documents it and explains any dependencies.
The distro owner takes the source code and packages it into the native package manager for their distribution.
Universal packages add a third party between developer and distro owner that now has to make a "universal" package format that runs on all distros. That adds more complexity and more risk to stability and security.
It's a very simple and obvious scenario to explain here, I really don't understand why you didn't work that out yourself - unless you're just a rampant fanboy that is just too lazy to pick a distro and learn its native package manager - like those of us who actually understand the inner workings of Linux do.
@@terrydaktyllus1320 If you understood the "inner workings of Linux" you'd know there's plenty of cases where the distro repository model falls flat on it's ass. Often it's more desirable to the developer or indeed to the publisher in cases of proprietary software, to have a single canonical point of distribution to their product not beholden to dealing with half a million different distros' release schedule or relying on them to waste effort repackaging for the umpteenth time in the first place. That's before we get to the long term support benefits a containerized format provides. If your distro properly supports flatpak or snaps I can reasonably expect the product will in fact just work the same across the board without worrying about what random ass distro is a meme at the moment.
@@tireseas " If you understood the "inner workings of Linux"
I started using Linux back in 1996 after working with UNIX for about 8 years. In 2003, Gentoo Linux became my main OS and I've used it for 20 years now.
At work, I build, support and harden Red Hat Linux servers in business telecoms environments, for the past 15 of those years I have been in a cyber-security role getting such systems through security checking into financial, government and military environments. I work alongside our developers in security checking and accreditation of their code. I also regularly write and present Linux training and knowledge transfers to my peers at work.
I don't owe you an explanation of my Linux credentials anyway but you can now appreciate why I didn't even read beyond that first line in your reply to me - so you wasted your time writing the rest of it.
The moral of the story is "assume" makes an ass out of "u" not "me".
@@Kaladii Sonny, if you're abnormal as a stalker of strangers on the Internet, then, yes, I am sure you have read a lot of this before.
But most people on here are normal, and I am sure they have other interests or hobbies other than stalking strangers - so many of them will be reading my comments for the first time.
By the same token, I think it's extremely self-entitled of a stalker like you expecting me to construct my comments in a public messaging forum to specifically meet your "editorial standards".
Sonny, I know this is going to be a difficult thing for you to read, given you grew up with parents that probably never said the word "no" to you enough when you were growing up, but I don't care what you may or may not have read before, and you have the choice of behaving like an adult, instead of a whiny baby, and just not reading anything I write.
Now run along, mind how you go and stay away from sharp scissors.
Oh, and find a good hobby or two.
Discussion closed.
@@tireseas Balena Etcher is a good example. They have an appimage that will run on most versions of Linux, and they distribute it from their own website.
You can install flatpaks in user space with the "--user" flag. I've even installed flatpaks on a Chromebook's Debian container.
For me is native packages for 99% of my software, or appimages if I want to lock a specific version of some program.
I just don't get the case of use flatpak and snaps solve. Sandboxing every application you run is a waste of resources.
If I want to run something I don't have access to the source code (like a windows videogame) I just log into another user and run it there. Which by the way is gonna run better, bypassing the compositor (gamescope).
Note: I should add, never run a appimage that has not been compiler by yourself.
Are you still maining Arch (or a variant, I cannot remember the name)? I remember in a video a while ago you mentioned you may switch to NixOS because of it's configurability. Have you pursued this further?
Thanks Derrick, this is fantastic coverage of the three forms of packages for linux users and I can't think of anything that was covered. They each have their pros and cons and you nailed them all, in my opinion. Of the three I have two really big likes for Appimages: 1) They are not installed to the computer in the traditional sense. They are kind of like a portable executable container, like often used on windows systems and I really like that. You'd think that Appimages would be inherently slow but they are not at all. 2) The history of appimages are really cool. They were born of one really smart man. Simon Peter, as you stated and I really like that visionary aspect of one programmer to contribute such great contribution to the linux world. But being an arch guy, I prefer pulling my software from the AUR and just doing a native installation. There isn't much that the AUR doesn't have, when I need it. Great video, my friend. Peace to all!
Thanks for your insightful review. It adds a depth of clarity regarding these three formats!
Summarizing: when running a server, use snap; when running a PC use flatpak... if you don't want install anything, appimage. If you don't want sandbox, use deb (or whatever your distro has).
11:30 That's exactly what I think when I see some linux users say "I will only use apps / games / any other software if it's available for linux". Seriously? How do you use a phone, routers, TVs, game consoles or any other electronic equipment that has proprietary software as the only option? Would you just not use them and go back to the stone age? That's the most stupid argument I see all the time from linux users
the idea of snap packages are pretty good, i hope canonical keep the research development of this, and this growing. :)
I've been watching you for a while. I never really knew the differences, very well explained DT.
Thanks for the overview, makes a little more sense now. I just got back into Linux a few months ago and i find it annoying having three different stores and sometimes it's just for one program.
This was a really good and informative video. I though I knew a lot about this topic, but apparently I was mistaken.
"Self-contained, program, ready to run": welcome to the macOS world 😁
TBH I use a capable PC and won't notice that slow startup of snap packages. I mean Windows wasn't any better right?
Linux community needs to calm down, everyone brings their talent and make a solid distro that is capable of doing everything. That's why people still revert back to windows and Mac
I don’t use snaps on Ubuntu. I always seem to have trouble with snap installed software not communicating with hardware or some other part of my network. I could probably fix every problem manually by researching what permissions to add and manually installing missing dependencies or I could just download the flatpak version and get back to work.
Great video bro!! I was a snap hater now I am a snap lover lol! Running Ubuntu and Fedora on my lab (3 Fedora -1 server and 2 37 - and 4 Ubuntu - 2 LTS servers and 2 desktops - and Blackbuntu on and additional pc for pentesting) and I love all of them! No hate just peace fellows!!!
There are two Derek's in your family? That must be confusing.
I have problems with both snap and flatpak but both are more or less nitpicks (snap being proprietary, flatpaks making accessing other drives outside of your main drive a bit of a pain due to sandboxing limitations), in the long run though each has their use, though my stance might come from being more of a arch distro user and thus having access to the AUR.
That being said, i love flatpaks for certain situations, namely programs i want sandboxed due to privacy concerns (looking at you discord), i'm aware sandboxing doesn't defend against everything but it's still better than nothing.
Snaps arent proprietaty only server side of the store is
Well if you like having that package maintainer has root on your system go ahead and use arch packages and aur i dont
@@bigpod what even is the problem of having packages be installed as root i never understood that its not like its running the program itself as root or any ultra custom scripts
@@dj-no postinstall can run any commands
I never like those universal packages. Like AppImages, Snaps and Flatpak. They mess up the theming on my system. I rather stick to the native packages like .deb and .rpm.
I am on Opensuse Tumbleweed and Sparky Linux Semi-rolling. Things are going well for me on those 2 distros. Those native packages works just fine for me.
Tumbleweed and Sparky are both underrated distros.
@@folksurvival That is why I am using it and promoting it. Even though it is underrated. It doesn't matter. What matters is that I am happy with what I am using. That what switching to Linux is all about. It is about being contented with what you use.
This. Thank you for such a sane video. Exactly my thoughts on all of these formats. I use them all.
Shall we gather for whiskey and cigars, tonight?
Never doubt it.
@@Skelterbane69 Never doubt it.
On Windows, what we do is package the EXE and also include all the needed DLLs.
Why don’t Linux programs do this?
I have not understood why something is call AppImage, flatpak, snap.
If you need sandboxing, that is something that should be implemented at the OS level.
Traditional packaging formats are similar to the DLL-EXE dynamic on windows. Such as each package (akin to a executible) requiring dependencies (like a dll)
you can do that on Linux too, with .so files (which are your DLLs) but that is complicated by every distro having a different libc version and not having the exact same filesystem layout and so on. Take into account that windows is built by a single entity (MS) while Linux is just a kernel that anyone can build and do whatever they want from there onwards
That's not an entirely valid comparison - even Windows replaces old versions of DLLs if a newly installed package contains new versions - that is NOT the same as "containerisation" within flatpak, snap, appimage and nix, which allow multiple library versions to exist on one system but for each one to be "assigned" to a particular application.
The fact is that Windows is so "broken by design" anyway that most improvements that Microsoft add to it are because of a completely paranoid philosophy of backing up every old file and every configuration change multiple times because it's so afraid of "sh*tting itself" constantly.
@@your-mom-irl I have noticed that on Linux, the OS or something does a version check.
If the Linux EXE is compiled with Qt version 5.1 and you try to run it on a system with Qt version 5.0, the OS refuses to run the Linux EXE.
This just means that the program is expecting a recent version of Qt and that the SO file should be packaged with the Linux EXE.
For the location of folders, if that is a problem, well, the Linux world has had +25 y to standardize. That is the problem that should be addressed.
So, the big boys like Canonical, Fedora, CentOS, openSUSE, Debian, Arch Linux should follow the same standard when it comes to folder locations.
@@terrydaktyllus1320 There are DLLs that comes from MS, such as the entire DirectX library, MFC runtime, VB runtime, zet or whatever runtime. but something like Qt does not come from MS. It is recommended by the guys at Qt to just include the Qt DLLs with your Windows EXE.
For the stuff that comes from MS, if you are a developer, you get the runtime installer from MS. When the user runs your setup program, you try to install those needed runtimes. Either it installs or Windows says that a newer version is already installed.
But, if you don’t supply a certain DLL or maybe you did not install a runtime, the OS will tell you that a certain DLL is missing. You get a messagebox This becomes annoying to the user.
Linux does a similar thing but it only informs the user from a console.
Both Windows and Linux have similar issues: certain programs need to supply the DLL or runtime or SO files.
I finnaly find a person who really understand things.
Thanks for sharing really good and qualityfull video.❤❤
DT won't install a package JUST BECAUSE its packaged as an exe
100% agree. I've used snap, flatpak, appimages, and native programs. If it has what I need, I'll use it.
If available, I install the OS native version, then if needed, I look for Flatpak or AppImage updated versions and install them. I have the best of both worlds...
The biggest advantage using this method is I don't crash my system anymore trying to install newer version not currently supported by the OS...
You can simply purge all snaps and replace them with fltapak alternatives, i did it on my Ubuntu 24.04 desktop installation without any issues.
I used to be anti snap/flatpaks/app image, but I've come around some. I still prefer distribution packaging, but I do make use of some flatpaks and app images
Flatpak doesn't need root either. Install to the userlevel, just like appimage.
Hello Derek, this video is very interesting. But one thing is confusing. You are saying that SNAP packages are designed for servers. However, if RedHat created FlatPaks, given that RedHat is dedicated to Enterprise and big corporations, which involve lots and lots of servers, why would they create FlatPaks if their servers can't use them? Does that suggest that their own RedHat servers would have to either stick with Canonical's SNAP packages or their own RPM native packages? Your video is informative as always but this is food for thought. I personally don't use Ubuntu specifically because it has Gnome but have kind of tried Debian with KDE and Kubuntu. My main OS has always been OpenSuSE with KDE for almost 2 decades and I am not really used to deb packages, but I suppose it's never too late to learn.
I have given up using Flatpacks. The download and install process is just so slow and tedious. Tried using them on lots of Linux distros but always encounter the same issue.
Flatpak has been working quite well (fast) for quite some time for me on Fedora.
maybe you should switch your flathub source provider. Pretty sure that's the reason for your slow download.
Great video man, very compact on the core explanaiton of each one
what do you think about nix?
Thank you for an excellent explanation that lays out all the facts!
In short:
- flatpaks for workstations
- snaps for servers
- appimages for former windoze users
I thought about doing most minimal install of a distro, learning Debian currently, and thereafter use these. By walling off the system from the applications, I can can update-upgrade separately thereby having a more stable system overall. My concern is performance. Steam for example. I've been messing with an old laptop currently and using it to learn and it seems native is the way to go. It would be limited in scope as far as usage is concern. Web browsing, email, media player basically. So shrinking the resource utilization to just those things, thereby opening up as much CPU grunt to that is the goal. Between Debian, Arch, Gentoo, or any based distro, which would allow me to get there the best?
Very useful video for someone like myself trying to get up to speed with Linux.
I'm curious if anyone thinks that Flatpaks will lose steam due to RedHat's recent actions.
I think "snap is for servers" is pointless since snap packages are mostly gui programs(flatpak/appimage can replace those). And for the all-in-one packages like nextcloud there is docker which is really superior. And don't get me wrong, use what you want/enjoy/like, it's totally up to you
Snaps can be anything tho
Thank you for this video. I never really understood what was the difference between these and why people were so conflicted on these
I was always angry about this whole mess around snaps. This packaging format is great for server purposes and the only one that works. Maybe its not ideal for desktop apps usage, but its not the case to call it s$it...
Life is too short and precious to spend being angry about computer software.
In the end, we only got a bigger fragmentation then before.
Interestingly enough the Immutable distros (OpenSUSE MicroOS Desktop, Fedora Silverblue) really push a preferred commitment to a particular pkg store, usually Flatpak as they are sandboxed. They highly discourage the use of other package centers to the point of possibly denying support if the package causes an issue.
I'm sorry, I missed the part where you recommend everyone use the nix package manager. Maybe you cut it off at the end by accident.
Yea Nix is pretty cool, but applications that require OpenGL or Vulkan are a pain to get running even with nixGL sometimes.
Nix gang rise up!
@@83RhalataShera Yeah, I was joking, although not really. Everything has its upsides and downsides. Nix is great though for most things but nothing is perfect except Kate Beckinsale.
Great video, DT! So tired of the hate for Snaps and AppImages, especially when Flatpaks have so many faults of their own.
Great explanation! I've heard a lot of opinions about this and in my first days of Linux I got very confused...
Nicely put, good job DT, you indeed made a good point here.
That being said there's one last argument that I want to make. Yes snaps are good for servers, but what are they doing on the desktop? They don't seem to be that suitable for that. Reddit reaction to it may indeed be too radical and rather tribal, but it's also because new Ubuntu releases requires some workarounds to install some native package version which are now snap by default (like firefox, or even other browsers, which work better as a native package, and support VAAPI, unlike the snap version). Some of their rant is for a reason. Canonical is a bit too hard on a desktop side of things here.
I think it's disingenuous minimise people's concerns with snaps.
The speed thing, admittedly I haven't tried in a while, was a very big issue on my older hardware and I don't think it's reasonable to expect people to have to upgrade their hardware just to get rid of start-up lag for packages. My experience has been slow and that's why I try to avoid snaps if I can.
The proprietary store is another massive issue for many people, and while "i" don't care (I use the Microsoft store lulz) it's a valid concern for FOSS people.
I also didn't see you mention that Canonical recently made its partnered (or official) distros not include flatpak by default on install and I think that's a dick move and shows the community why a single company can't be trusted to be the sole proprietor of software packages (not only that, what if the store shuts down). Flatpak and appimage doesn't have this problem.
Didn't you recently complain about people reusing your content? You made the exact same video as the Linux experience ^^
I haven't seen his video. I didn't record this video this morning. Heck, I didn't record it this week. I doubt Nick recorded his yesterday either. Most content creators record videos days or even weeks before publishing. Nick and I recording the same video topic is just coincidence. It happens. Had I saw him release his, I might have delayed the release of mine for a week or two, but I didn't catch it. Oh well.
Indeed.... Snaps, Flatpaks and AppImage I've got all in my system. I don't really care about what kind of installer as long as it work in my system I'll use it. Yes. I believe that people in this social medias should be kind and be open minded and not to be judgemental to others. Because each one of us has its purpose including this application installers. I better make this video also in my channel to spread the word about Linux in my end, maybe in the next few week. 🖖👽
I'm pretty sure I don't need root privileges to install flatpaks. I'm not going to go out of my way to install a flatpak just for the sake of checking this, but I'm convinced that of all of the times I've installed a flatpak, I never typed my root password once.
I don't like snap because I run Kubuntu.
I update the software and the OS via Discover and snap applications like Firefox and Chrome don't get updated.
Instead, once in a while a pop up comes out saying to refresh.
I have to open the terminal and run some obscure command.
The other problem was that once in a while, Brave would not launch from the quick Start menu. This is bc the update relocates the EXE file.
I got rid of Firefox snap and installed with some obscure command lines to have a normal install.
I did the same for Brave.
There is a lack of quality testing on Linux.
let's be real and honest. no average user (the ones who use the PC to be productive, or work, or whatever reason except those who are linux nerds) would mind and don't care how the app ships, as long as they can use it and install it in the most easy way possible.
have you ever heard an android, ios, windows, mac, chromeos, or whatever use say "hmmm, I don't like this app because it's an msi file instead of exe file"?!?! no! because all they care about is to have the app that pays the bill
I'm so glad you didn't refer to native packages as traditional packages as this term sometimes it means "thing of the past with no future" which is not true I this context.
Well they should have no future beyind composition of base os
I have a Nordpass account, and when I try to install it as a Flatpack it never works, it craches or just never load, other flatpack work perfectly, I have to install it as a snap, always, why would that be?
It's incredibly easy to see how people confuse them all given that, in a general sense, they all serve the same purpose of packaging applications.
But it is within that general sense that they each have their own use cases, and many people often forget or never learned this, and only contrast this with personal experience and use-case.
If you are installing terminal emulators and shells and filesystems via anything other than the native format, what the HECK are you doing!?
AppImage has to be the cleanest and easiest to use ( no install ).
I'm not aware of a Theme or other problems with it ( seems easy to fix ).
Supposedly flatpak can be installed on a per-user basis by a user but that's not how I do it so I'm not that familiar with it.
Best Explanation of these 3! Thank You!
It could not have been better explained :)