How do you guys get software that is not in your distribution’s repositories?
deb
If I could, I’d compile all my software from source. Unfortunately, it seems a lot of open source developers don’t like writing software in C, which means the burden of sorting through dependancy-hell has been deferred to my shoulders instead.
I understand appimages. I use them exclusively. Can someone explain what flatpak and SNAP are and how they work? I have autism so please be as clear and concise as possible?
The easiest way to think of it is flatpaks are AppImages with a repository and snaps are flatpaks but bad.
That has benefits and detriments. Appimages contain everything they need to run, flatpak’s mostly do, but can also use runtimes that are shared between flatpaks.
All flatpaks are sandboxed, which tends to make them more secure. AppImages can be sandboxed, but many aren’t.
Flatpaks tend to integrate with the host system better, you can (kinda) theme them, their updates are handled via the flatpak repo, and they register apps with the system.
AppImages are infinitely more portable. Everything’s in one file, so you can pretty much just copy that to any system and you have the app.
That was a fantastic explination, but you forgot to explain SNAP. Oh snap, you forgot SNAP. Intrusive though won. So what is SNAP, how does it work, and why is it bad?
Yeah, sorry couldn’t resist.
snaps are very similar to flatpaks and, honestly, is technically better in a lot of ways.
Snap can be used for basically an entire system, while flatpak is limited to graphical apps. (Ubuntu core is built basically entirely off snaps.)
Snap is controlled by canonical, and the backend for the snap repo is entirely closed source. I’ve heard snaps are also easier for developers to work with, but I haven’t experienced that side of them.
Snaps automatically update by default where flatpaks don’t.
Snaps also get treated as loopback devices when they’re installed, which bloats a lot of utilities. (And they keep a few old versions around which makes it even worse). For example, you could run lsblk
and if you’re using snaps like 90% of it will be snaps you’ve installed instead of actual devices.
Flatpaks are also noticeably faster to start up, which for desktop apps matters, but wouldn’t really matter for a server that’s aiming for a lot of uptime.
The loopback device issue is the main reason I don’t use snaps. I also like flatpak being completely open, but realistically that doesn’t matter for much. There used to be an open snap store, but that shut down because nobody used it.
Install from source if there isn’t a repo for the software.
it’s called snap cos thats what the community will do to your bones if you use it. apparently