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?
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.
I actually like Flatpaks... I use dpkg/apt-get for system packages that cannot be installed in userspace, and flatpaks for desktop apps / games. Many distro's have unified ways to update them anyway (at least VanillaOS has)
To still sorta replicate that, I just set up a script at /usr/local/bin/update
for it:
#!/usr/bin/env bash
sudo emaint sync -a &&
sudo emerge -utDU @world &&
sudo emerge -c;
flatpak --user update;
doom upgrade &&
doom sync &&
doom purge
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).
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.
On Mint everything updates automatically for me, Flatpaks and all.
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.
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
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.
No need to overcomplicate things, just write a small shell script or even just an alias. I use this daily:
alias get-rekt="sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && flatpak update -y && flatpak remove --unused --delete-data -y"
adjust accordingly for Fedora and/or snaps. Obviously doesn't work for appimages or manually compiled stuff which should be a last resort if there's no other sensible way to install stuff.
edit: voyager shat the bed with the code block but you get the point