Nixos got this and then some
just stick to your distro packages man
Your single command is just an "&&" away
This is why I prefer native packages over Flatpak, AppImage, Snap, etc. I want my entire system managed under one roof. On Arch, that roof is pacman. I'd rather get stuff not in Arch repos from AUR so they stay under pacman's roof. I do like having the option to use Flatpak for stuff that isn't in my distro's repos (or third party ones like AUR), and on some distros with more limited selection it is very nice to have, though I'd still prefer native. The only places I really use Flatpak are on the Steam Deck (as SteamOS doesn't allow the use of pacman, and if you force it you break things) and on postmarketOS because the Alpine repos lack a lot of stuff I want on my phone.
Meanwhile Arch users are just using the AUR for everything.
I don't use Arch btw, but I'm thinking I should.
Honestly, I use Arch (btw) but after living on Fedora for a while, when I returned I started using podman over AUR for some stuff. If a package is going to pull a bunch of weird dependencies, or I want to easily migrate it later, it's just so much easier to keep it containerized.
Dunno about you, when I click Update in Discover, all my stuff updates
Never used Flatpak or Snap in nearly 30 years of using Linux. I might one day but not yet.
I don't use Fedora these days but your package manager will probably have some hooks. Add one to update your Flatpaks when it has finished its main job.
You can definitely make an alias for this if all you want is a single command.
PS. I don't think what you describe is a killer feature.
If your problem is Flatpaks, Snaps and AppImages, just remember that manually installed software can't be updated with the same command either, and installing software manually is fortunately not a new thing.
Here's the solution, though: don't use flatpaks, snaps appimages, instead rely on your outdated distro packages only.
Personally I only use appimages, because I don't want the resource overhead of the other 2
This sucks, but on the flip side, before Flatpak and others, if the software wasn't in the repo then we're SOL and can't install it. Asking all developers everywhere to maintain a version of their software for every single package manager and ensure support for every distro is a bit unattainable. If Linux settled on one package manager or one distro then this would be solved, but such a statement is antithetical to the abundance of choice that Linux boasts.
Would you rather not be able to update an app or not be able to install an app?
For arch Linux, there's Topgrade. All there, in just one command. All. There. Official repos, AUR, even firmware upgrades.
Here's my alias to update the whole system. It includes fetching the fastest mirrors, topgrade, and cleaning the update's packages cache. Tailor it to your own needs.
alias update='sudo fetchmirrors -q -s 5 -v -c PT && yes | topgrade -c -y --no-retry --disable gem --disable vim --disable emacs --disable gem --disable sdkman --disable rustup --disable cargo --disable remotes && sudo paccache -rk 0'
You can just alias the update commands and have it as a a single command...
Arch-based distro here, a lot of shit from AUR and such and it autoupdates from my package manager/aur helper.
The 2 or 3 flatpaks I installed I have to manually update... But to be honest I'm fairly sure that there's some config or change I could make to yay
that would make it update flatpaks too. And even if not... Well. I could do what the (as of now) top comment said and make a lil' script. Though running two commands is really not a huge sacrifice :P
Also back when I used Debian, apt had some hook in it that would update Flatpaks there too.
No Appimages for me though. Don't care for the entire format.
Anyhow to me the killer feature of Linux was never the package manager so much as it was how much liberty it gives me to customize everything. Flatpaks and such are just another aspect of that.
I update all of my flatpaks, ~~snaps~~, and dnfs(?) with the click of a button in GNOME Software.
Edit: apparently I stopped using snaps at some point. Still, GNOME Software does both my flatpaks and my regular stuff.
The killer feature is getting applications from a central repo, not so much that there was only one repo. Unlike windows where you have each application self updating or not updating at all and forcing you to have to go to several webpages to update things. Having to update two different repos IMO is not a huge problem, you just need to be aware of it and there are frontends to these systems that can update both at once. The only exception to that I think are AppImages - but those you don't really need to use on most distros.
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
No. (Or maybe yes. See Edit)
Ultimately, you are the one that decided to install things outside of your distro's package manager. If you don't like what happens as a result... then don't do that.
You are completely able to use the built-in package manager to achieve what we had "a few years ago". If you want something that isn't available in the package manager you can do what we did "a few years ago" and install it separately yourself (from source, flatpaks, snaps, appimage). Or you could become a package maintainer for that package and get it added as a package for your distro. It's completely up to you and in no way different frmo what it was a few years ago.
Edit: after finding out from @[email protected] that Fedora does in fact officially support Flatpak, I do indeed think that they could do better in how they support that.
Just create a script that calls all the update commands. That's how computers work. Your apt/dnf/whatever command also calls many other commands to do its job.
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?
AppImages are horribly bloated, I personally would never use them on my machines. Snaps I'm also still biased against because Canonical's shady practices. So for me it's still just pacman -Syu && flatpak update.
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).
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 can still do that, because I understood that problem when it arose.
Linux
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.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0