Screenshot doesn’t even show half.
This is an interesting way to show your fstab
😂
Ya, I think I goofed on my terminology XD
There are many reasons one could choose to hate Snap packages, and this not one of them. It’s like hating a webbrowser because it spawns 20 processes that (the horror) you would all see when you run
ps
. It’s just a part of how container technologies work.This is truly why I also hate snaps though. The
snapd
people and themount
people need to work out how to hide these by default.
Try it in enterprise where you have automated systems that deploy alert sensors and they instantly go off because each mount is 100% full.
Pretty much every alerting system I know also has a filter option to only apply automated discovery rules to certain filesystem types.
But yes, most don’t first squashfs or mounted read-only snapshots by default and it sucks.
I think Snap has the potential to be better than Flatpak. It’s a real sandbox instead of the half-assed shit Flatpak has going on. The problem I have with Snap is that Canonical keeps the Server closed-source. I don’t want a centralized app store where Canonical can just choose to remove apps they don’t like. So as long as the Server is closed-source, I will stay on Flatpak
How is Snap’s sandbox better than Flatpak’s?
Snaps can integrate with system like native packages, unlike Flatpaks that stay at user level like Appimages.
that’s really just two differences:
- weaker separation/sandboxing (process is granted permission to everything) (mostly bad with handy usecases)
- an alias feature for binaries contained in packages so you don’t have to run them by ID
Is Flatpak not a container system?
Kind of? Maybe?
It has similar goals to something like docker, but goes about it very differently, and it’s obviously meant for user-facing applications.
You wouldn’t use docker to install steam, but you can use flatpak.
I asked the question because of the label “half-assed” that the commenter above me put on Flatpak. I do not know much about snap, Flatpak and how they differ (other than the fact that both are used as containerisation technologies for desktop apps and the former is by Canonical), and why Flatpak is necessarily worse that snap (by what metric? System performance? Storage?)
They are referring to flatpaks level of security. It’s sandboxing leaves a lot to be desired, as I’ve understood it.
Well probably because you usually don’t want it so secure that it doesn’t function correctly anymore.
On snap I often need the --classic option to get sth running because it won’t run properly in a full ssndbox
@MigratingtoLemmy @I_like_cats I wondered about that, but to me it just feels like an isolated file system based app structure, kinda like the .app folders in Macs. Does that sound right?
And with permissions, you can stop the app from accessing anything outside of its specific little file system.
I see. Thanks!
That and these damn annoying loop devices.
Go restart your browser in the middle of the day because snap just updated it in the background.
I don’t know if sideloading snap apps is a thing, but it has been proven that creating a snap repo isn’t particularly difficult. Snap server being closed isn’t really an issue Imho.
You can create a snap store proxy, but that still has to register and pull from Canonical’s source.
Isn’t the issue that snap doesn’t even support third party repos to begin with? So you’d have to patch the client before you can even access any other servers. Unless they have fixed that in the meantime.
Why I hate snaps/flatpak:
- 1
- package/appimage ~80mb
- snap/flatpak >500mb
- 2
- p/a - app + dependencies
- s/f - app + minimal linux distribution
- 3
- p/a - can be easily run from terminal
- s/f - flatpak run com.very.easy.to.remember.and.type.name
snap/flatpak >500mb
Don’t know about Snap, but Flatpak download sizes decrease significantly after installing the main platform libraries, they can become really small; of course that’s pretty much fully negated if you’re installing Electron apps, but even then 500MB isn’t very accurate, more like 150MB on average
flatpak run com.very.easy.to.remember.and.type.name
Yes I hate it, what is even more annoying is that you can do
flatpak install someapp
and it will search matches on its own, it shows them to you to let you decide, but after that you can’t doflatpak run someapp
because it “doesn’t exist”Last one could easily be fixed tho
Hopefully it would be fixed upstream on the actual flatpak command, but do you know if there are wrappers for it already?
No. If I have to launch a flatpak through the terminal, I always just do
flatpak list
and copy the ID or whatever it’s called
There’s a nice program called flattool that solves the name issue
Is it this one?
It looks excellent,any idea why it’s not on Flathub yet?Never mind, I got it:This project is still in its early stages
Then you do a
flatpak list
and it abbreviates the shit out of the identifiers so you can’t use them either. Whoever designed that UX needs to lean back an contemplate life a bit.Well that comes down to your terminal size, you have to filter the columns if your screen is too small: docs
flatpak --columns="app" list
Sure, it’s possible. I can also use
flatpak list -d
to show everything. But the combination of these defaults is just fucked up UX (require the full id for certain operations, but don’t always show the full id by default).Yeah honestly they could have avoided putting Branch, Origin and Installation if there isn’t enough space available.
The CLI definitely needs some polishing, not to mentionflatpak update
breaking horrendously on scrollback
Snaps have a similar deduplication mechanism, and snaps allows calling apps from their names like you would do with regular packages.
I think the reason for the second one is that while snaps are also meant to be used in servers/cli flatpak is built only with desktop GUI apps in mind.
ln -s /var/lib/flatpak/exports/bin/org.mozilla.firefox ~/.local/bin/firefox
Yes, sizes might be inaccurate - it’s been about a year last time I tried snap or flatpak. All I remember is that snap installs around 300 mb gtk3 runtime and it’s often 2 or more of them, because different snaps might rely on different gtk versions + other dependencies.
And I remember that when snap and flatpak compared, allegedly flatpak requires more storage space.I am aware that runtime sizes doesn’t scale with number of packages past maybe 3-4, but I have only 4 appimages on my system right now and they take ~200 mb, it is absurd that I’d need 10 times more space allocated for the same (or worse) functionality.
Appimage literally requires more storage for the apps because it dublicates all dependencies so in terms of storage flatpak and dnaps win by FAR, there are valid reasons to criticize all three but your comment is a sad joke!
It does make sense why it works the way it works but I still don’t want it on my system
Well, that’s your choice, I like and use Flatpaks but noone has to do so!
Unless you trying to replace half your system with appimages, appimages take less space in practice .
Did you read my comment at all? Flatpak and Snap share dependencies while Appimage doublicates all of them so unless you have no big dependencies on your system (literally impossible with Linux systems) Flatpaks and Snaps become more efficient in terms of storage usage the more you use them because they share big parts while Appimage still dublicates every single dependency because it’s a single binarie with everything in it…
Flatpaks and Snaps become more efficient in terms of storage usage the more you use them…
I’m not disagreeing with that, but how many apps an average user requires that he can’t find in the distro’s repository? And how many snaps he should have installed, so it’d be more space-efficient than appimages, 10? 20? 30?
hint: for me - one is too many.
Flatpak and Snap share dependencies while Appimage doublicates all of them…
On the other hand, appimage only includes the libraries actually required by an app. Where Snap/Flatpack install big fat runtimes.
I’ve recently made a very simple gtk4 app and packaged it with all dependencies into a 10mb appimage you can just download and run. The very same app would rely on 250+ mb gtk4 runtime with snap.
And I could be fine with that; but no, it’s not that simple, you’ll have x3 gtk4 runtimes on your system. Because snap keeps 3 last versions of every snap pkg and it’s dependencies. I don’t know what flatpack installs, but it’s not efficient in that regard either.2-3 gigs of libraries a program might not even need. It’s just wasted space for an average linux user. And if I was fine with that, I would be using Windows right now.
snap/flatpak >500mb
And to make it worse, snap keeps copies of previous versions of all programs. Which can be good if you need to roll something back, but at least last time I used Ubuntu it didn’t provide any easy way to configure retention or clean up old snaps.
There is an Flatpack called FlatSweep on Flathub.
Runtimes are okay, the problem is there is no runtime package manager and often you have like 7 of them, which is horrible. But on modern hard drives also no problem.
Appimages cant be easily ran from terminal, you need to link then to your Path.
For Flatpak I made a tool that aliases their launch commands to be very easy.
Appimages cant be easily ran from terminal, you need to link them to your Path.
On many distros “~/.local/bin” is already in PATH, that’s where I put my appimages, then make them executable and it just works.
Your point 1 and 2 are the same
a - app + dependencies
Which will be duplicated for everything installed application, and redownloaded for every new version. Whereas flatpak and snappy shares the dependencies between applications.
s/f - flatpak run com.very.easy.to.remember.and.type.name
Snappy makes easily run command line shortcuts. Flatpak could use some improvements there though.
Yes… kinda!?
First point is space requirement, second one is a design issue. They are directly connected, I’m not arguing that.
- 1
On the plus side, snaps also crap your system log full of petty little AppArmor events. And when snap gets its permissions wrong, you can easily fix it with SnapSeal.
(If Flatpak would just fucking stop rewriting every file path as /var/run/1000/blah, it would be the unquestionably superior package tech)
Friction between Snap and AppArmor is to be expected. The corporate sponsor of Snap, Canonical, is well known for their icy relationship with the corporate sponsor of AppArmor, Canonical.
If you don’t want flatpaks to do that, you’ll have to give them permission to see the entire file system
As another commentor pointed out, you can just use flatseal to give the app full access to whatever dirs you need.
That’s why I moved to fedora recently…didn’t like to see 30 or so mounted filesystems every time I did an fdisk -l to mount some disk
Luckily Debian is upstream of Ubuntu.
Fedora is actually my main on my other machines. This is my server though. I’ve tried fedora server in the past, but it wasnt quite working for what I needed it for at the time. And now, I don’t have time to rebuild =\
Sure…I wouldnt choose fedora for a server…maybe RHEL…I chose debian for my home server…can’t go wrong with debian in the server 😅
Why would you server fedora when RHEL exists? Still, debian is prolly a better choice.
and why would you use rhel when you can have rocky :D
I’m not necessarily endorsing Fedora Server, but I’m running it on my Plex server since Fedora is the other distro officially supported by Plex (besides Ubuntu) and after I had some issues with Ubuntu Server + Plex I switched to it. Haven’t had any issues since.
@fernandu00 @terminhell I mean a simple grep to filter them out could have sufficed and then that could be aliased but yeah makes sense. Also zsys and their half assed ZFS integration made no sense.
You’re right… But I don’t have an ssd in my machine and didn’t want tons of mounted filesystems in my 10 year old machine…I’m far from an expert but seems to me that is simpler to have all my packages from dnf or apt …I’ve changed to fedora because dnf seemed better than apt resolving dependencies …not just because of the snap thing
In my case I hate that I’ll be watching a movie or tv show using Kodi on my HTPC and I’ll get a bunch of “drive removed” “drive added” notification popups and sounds when snap auto updates. I’ve looked around to see what might be updating and I swear it’s always something stupid like gnome-calculator. Like who TF cares…
Don’t use it - vote with your feet :)
Leave ubuntu behind. Their snap fixation is toxic.
Sigh, I was a sysadmin on my own system from 1999-2008 and on a busy server from 2008-2012… then essentially quit. Now with flatpak and snaps it seems I have no idea what I am doing.
Flatpaks aren’t very relevant for servers if I am not wrong but Canonical definitely tties to push Snaps for that usecase, I feel like other container technologies like Docker or Podman are a lot more relevant in that context and containerization in general is really nice especially for server use and not that hard to wrap your head around! ;)
Yeah, that’s really what I haven’t used that seems significant these days - Docker. I used to use VMs a fair bit including the premade ones from MS for IE testing, which I think (?) are the same concept.
Well not really, Docker dose run another Linux system but on your actual hardware so you don’t have the overhead of emulation, it’s really cool for a lot of things!
Huh, okay. I thought it was a quick way to set up a VM - that’s how much I don’t know! I should probably look into it, thanks.
Docker requires management and some setup. A server snap just works, it’s updated automatically and rolls back when necessary.
It’s just a breeze. I use it for nextcloud and I’m safe for years with no maintenance from my side at all.
I won’t use it myself because I don’t think it’s a good idea to give Canonical or any other company that much power and don’t think it’s centralized nature should be how such package systems work but I don’t think it’s a bad system at all! The sandboxing has it’s hurtles but it’s really good and I am a huge fan of proper sandboxing so if it works for you it’s certainly a good option!
Auto updates are not an option for anything mission critical. Every update must be tested in isolation first or you might fuck things up beyond repair.
Updates are atomic and if something goes wrong it rolls back automatically
Not everything that goes wrong might be counted as wrong by the developers. Automatic updates is a no-no.
Switching to Gentoo has been the best. If I don’t want something I just blacklist it in my make.conf. getting errors from an odd package? Blacklist. Don’t want systemd or gnome software? Blacklist. It’s great. My shit runs insanely fast and my system only breaks when I explicitly do something stupid, and it’s usually just one minor adjustment away from getting fixed.
I take the unconditional and mandatory creation of
~/snap
as a middle finger to all users. Fuck snapthats why i prefer/like flatpak
They also kill performance if you’re still using a hard drive as your system drive. I know we should all be using SSDs, it’s 2023, but sometimes it’s not always possible
Thankfully the OS/app drive is an SSD. The rest are spinners though. Just for low bandwidth storage.
Does it? I was a Ubuntu user for many years, until I made the switch to Debian 12 sometime ago. And Snaps never really slowed down things for me, despite using a 5400rpm HDD. Ubuntu on 5400rpm HDD, with its Snaps, is snappier than Windows 10 on SSD.