What?! No! How could this have been Linux's "killer feature"?
Am I taking crazy pills? It really matters to you that you can use a single command to upgrade your system?
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
What?! No! How could this have been Linux's "killer feature"?
Am I taking crazy pills? It really matters to you that you can use a single command to upgrade your system?
I can still do that, because I understood that problem when it arose.
Your mileage may vary, but it's still possible to install some distros without those nonsensical containerised "package managers", or to at least remove them after installation. It unfortunately takes an increasing amount of effort, especially in distros that are actively trying to push their flavour of containerised package manager. (Totally not looking at Ubuntu and Snap)
What is working in our favour here is the fragmentation, which will prevent, or at least slow down a too widespread adoption of those systems.
Flatpak and Snap certainly go in the wrong direction, instead of being an upgrade and replacement for existing package managers, they are a crooked sidegrade, that solves some problems, while creating multiple new ones that used to be solved by older package managers. Flatpak making Gnome and KDE the only dependencies to exist is also pretty messed up.
I don't mind AppImages in this, as they never set up to be a new package manager format, but instead are just a way to bundle executables and dependencies into a single file for easier redistribution. You certainly don't want to use that for all your packages, but as a quick&dirty workaround to get some semblance of cross-distribution packaging, with close to zero impact on the user, it's quite good. It's also one of the few formats that gives the user full control over up- and downgrades, as it's all just simple files you can run and archive as you wish, it's not a service that forces you to always use the latest thing.
So yeah, Linux packaging is still a mess and it will probably take another decade or two before the dust has settled. Though I can't shake the feeling that we have reached peak-Linux quite some years ago and it's all downhill from here. Free Software principles aren't exactly high priority for any company doing development in this space, and Free Software principles by itself aren't even enough in a modern SAAS world to begin with.
Somebody needs to write the book on what it means to be Free Software in the modern world, especially when it comes to online-services, distribution and reproducibility, aspects that have been largely ignored so far.
The solution is using a distro that has support for containers (flatpaks preferably) but doesn't force them on you, so far I haven't found a single use case in which they're truly needed on desktop so apt update still does everything for me.
There's some software that I compile myself (emulators), it cannot be upgraded with a packet manager but that has always been the case.
I use Linux MX but there are other distros with the same approach. It also makes it really easy to see if you're installing them because flatpak is a separated repository from non-container apps (I think it's also updated by the package manager but I haven't tried so far).
Check out Nix, which goes in the opposite direction. There isn't really a distinction between the system and applications.
you could use topgrade to update, and it will generally update with every package manager available.
On Mint everything updates automatically for me, Flatpaks and all.
On Arch Linux I've migrated away from Flatpaks, so I only use AUR and official repos.
Oh boy my updates speed increased like 3 to 5 times. Flatpak is slow as fuck.
Also my ISP is slow as fuck.
This is why I really like KDE Plasma's discover. It's got integrations with apt, snap, Flatpack, and rpm, and that's only the ones I've tried so far.
I don't really use discover itself to manage my packages, cause for some reason I prefer to do it with the cli tools, but it is a great update notifier.
Except it doesn't always work. I've seen it stuck and loading updates forever a few times, while a simple flatpak update command did the job with zero issues.
This is one of the reasons i don't use flatpaks, snaps etc. I get everything either from the official repos or from the aur. Except balena etcher as it is the only thing i was unable to install via my aur helper and i couldn't be bothered to look into why as balena is not that important to me.
It is the ONLY package that isn't updated with my update command as i installed it via appimage
flatpaks are all updated at once, just like distro packages, so yeah you might need to commands, but that's still very different to having each application update itself (and the security hell implied by that)
Also I think pkcon can manage your updates across various backends (unless you are on Arch, where I think there are both technical & ideological objections to having a simple tool that just works)
I use fedora as well and I just update through the GUI. It's more stable that way and waiting until I turn off my computer for them to apply is not a big deal.