A few years ago we were able to upgrade everything (OS and Apps) using a single command. I remember this was something we boasted about when talking to Windows and Mac fans. It was such an amazing feature. Something that users of proprietary systems hadn’t even heard about. We had this on desktops before things like Apple’s App Store and Play Store were a thing.
We can no longer do that thanks to Flatpaks and Snaps as well as AppImages.
Recently i upgraded my Fedora system. I few days later i found out i was runnig some older apps since they were Flatpaks (i had completely forgotten how I installed bitwarden for instance.)
Do you miss the old system too?
Is it possible to bring back that experience? A unified, reliable CLI solution to make sure EVERYTHING is up to date?
Alias update=“sudo apt full-upgrade && flatpak update”
Fixed it for you
Nice. Your excellent suggestion probably belongs in a meta-package somewhere so that users get it for free when appropriate.
Since they’re using Fedora apt isn’t going to do anything, they would need to run
sudo dnf upgrade -y && flatpak update
appimages though?
They don’t update, they are standalone files
Appimages for in-dev programs usually have an auto-updater that runs when you run the program, too, which is accetapble by my factual and perfect standards. It would be nice if someone put together an appimage store to manage these, I guess.
Why not create a plug in to the AppStore of whatever your using
This is obviously what I was referring to, but yeah…
Thats it … Thats how i do it in every distro inluding nix-env and i’m eine
No need to overengeneer
If you’re an Obtainium/install from GitHub fan, then don’t forget
gam update
.
There has always been the option of installing software from source. The package manager won’t update anything installed from source.
You don’t have to use Flatpak, Snap or AppImage if you don’t want to. If you use the package manager to install everything, it will update everything.
Except doesn’t ubumtu now force a snap on you even if you try installing a package app?
The solution is to use any of the other hundreds of readily available distributions.
Yes. Some packages are just meta packages for their snap versions.
I’m confused by this. If I run apt install, am I getting stuff from flatpak?
Yes and no, you’re getting stuff form Snap, not flatpak
Even when I’m running apt directly? That seems insane.
deleted by creator
The package manager won’t update anything installed from source.
emerge lols
If I use ubuntu I’m somehow forced to use them.
Even on Fedora the average user is presented with many flatpak results when they use the GUI software manager. Not everyone is technically adept enough to check the origin of the app. So it’s kind of being forced on users.
If you use the Fedora software manager it updates everything at once? It even updates BIOS firmware.
If I use ubuntu I’m somehow forced to use them.
Yes, that’s why I stopped using it years ago (among other reasons).
Users are not out of options, they don’t need to check the origin of the apps themselves, it’s enough to ask other users what distros don’t do the things they don’t like and use those.
so ditch this nonsense and use a better distro?
You can use bauh. it is a graphical app manager which can Install and update appimage, deb, flatpak, snap and web apps. https://github.com/vinifmor/bauh
deleted by creator
You are just spreading FUD for the sake of it.
Snaps are updated automatically: https://askubuntu.com/questions/1262058/what-are-the-snap-equivalent-of-apt-get-update-and-apt-get-upgrade/1262059#1262059
Flatpak updates are usually integrated as hooks of the package manager (Archlinux handles this for you automatically, and I’m sure other distros do as well).
And on top of that, there’s also packagekit to handle all of this automatically.
In Mint you can install flatpaks from the software manager and those get updated by the update manager. So it’s all still one click.
Same on Fedora. It’ll even do firmware too.
We’re nowhere near the absolute shitshow that is updating the system and and programs on windows.
deleted by creator
If you use a graphical tool like gnome software, it will update everything with one click on a button
And sometimes it will even work!
Oh really. I should probably try that again sometime. Usually I just choose not to roll the dice on gnome, and update through the terminal instead.
Well I did say sometimes.
Well, doesn’t that depend on your package manager? With pacman I can add a custom hook after install to update all flatpaks. I’m sure it could also be done for all snaps and AppImages if I would use any of those.
Isn’t there a similar hooking mechanism in apt or yum?
Even if there are workarounds the old approach was superior.
For the average user, software updates should be seamless and require no interaction whatsoever. Fedora Silverblue does this fairly well, whether they are flatpak or system updates.
Flatpaks offer many benefits that, in my opinion, offset their potential inconveniences.
Don’t generalize whatever distro you’re running as “Linux”, especially when we’re talking package management.
Isn’t this the case with all major distros at least?
As far as I know, Ubuntu is unique in its insistence on snaps. I can’t really speak for any others but my system runs fine entirely on native or locally compiled packages known to my package manager.
Nope the major distros use about 3 different package management systems.
I can’t really relate? At least on my desktop. The software manager integrates with Flatpaks and upgrades them at the same time.
For most apps I’m going to prefer the usual way of doing things. But there are some apps that I actually kinda prefer as Flatpaks. Like Calibre I’m happy to install as a Flatpak. The updates are faster and it doesn’t add a whole host of dependencies that only it uses to my system.
There was a time when using the update button of Software Center was exactly equal to running “sup apt dist-upgrade”. Everything was simple and straightforward.
And broke all the time, and was a nightmare for devs to create and maintain packages for multiple distros, and was hard to find packages outside the official repos, and could create a package version hell, and had only a very rudimentary permission system.
Change is sometimes not a bad thing, you know?!
Everything was simple and straightforward except for updating an app after new release before the distro maintainers updated it in repos (which often took months).
Depends. Unless you’re on Ubuntu or Elementary, Flatpak and Snap are optional. When I’m on Arch, btw, I don’t bother with any of those and just use the AUR with a helper like yay.
But I find the convenience of Flathub too good to pass up on other distros. I have been using Linux long enough to remember when the only options if your distro didn’t ship something were to compile from source or to use a sketchy installer script, because Flatpak didn’t exist. And as others mentioned, if you’re using a full desktop environment, it likely can update everything at once via the GUI.
I don’t bother with any of those and just use the AUR with a helper like yay.
Normally I do that too but recently wanted to install an app from AUR that ran out of memory during compile on 4 GB of RAM. So being able to use an appimage or flatpak was still useful.
You could have just added a swap file
alias update='sudo pacman -Syu && flatpak update'
or just use one of the trillion GUI app stores like pamac, discover, or gnome’s thing whatever they call it.Honestly, at this point I’d like to get rid of all this sandboxing stuff altogether.
Come join the dark side, we have all the modern features without any containerisation whatsoever:
Unless if you do want containers :)
I think it’s a great and necessary security feature. The fact that we haven’t had proper sandboxing until very recently seems strange now.
What I think the biggest problem with the traditional package managers is that (1) they don’t isolate packages from each other (when you install a program files are placed in many random places, like /usr/bin, /usr/lib etc) and (2) you can’t have multiple versions of the same package installed at the same time.
This creates a lot of work for package maintainers who need to constantly keep packages up to date as dependencies are updated.
Also, because of this, every distro is essentially an insane dependency tree where changing even one small core package could break everything.
Because of this, backwards compatibility on Linux is terrible. If you need to run an older application which depends on older packages, your only choice is to download an older distro.
This is what snap and flatpak try to solve. I think they are not great solutions, because they ended up being an extra package manager next to the traditional package managers. Until we see a distro that uses flatpak or something similar exclusively, the problem is not solved.
What I think the biggest problem with the traditional package managers is that (1) they don’t isolate packages from each other (when you install a program files are placed in many random places, like /usr/bin, /usr/lib etc) and (2) you can’t have multiple versions of the same package installed at the same time.
Would you like to know about our Lord And Savior NixOS?
I think I’ll look into NixOS once I’m done with the heavy games I’m playing. EndeavourOS is great, but I’m tired of files being hidden and programs therefore not removed correctly.
deleted by creator
nix overall is a much better solution to this problem.
when you install a program files are placed in many random places, like /usr/bin, /usr/lib
That’s because back in the day those had some good logic. On mainframe systems you had to be able to split files by how crucial they are too keeping the system alive, so you’d mount something like /bin locally but you could mount /usr/bin remotely and still keep the machine running if the connection was lost. And so on and so forth.
Nowadays we really should revise the Filesystem Hierarchy Standard but it’s required by the UNIX compatibility and it’s baked into so many things that you wouldn’t believe.
I remember back in the 2000s the were distros like GoboLinux that tried to reorganize the files with criteria relevant to a modern machine but it didn’t catch on in the Linux world. However Apple did it for Mac OS.
Gobo Linux is still there https://gobolinux.org/
The primary init manager for Linux is removing support for separating them later this year
https://lists.freedesktop.org/archives/systemd-devel/2022-September/048352.html
I just wrote a script to do all my updates in one go:
sudo dnf upgrade -y --refresh sudo dnf check sudo dnf autoremove flatpak update -y --force-remove flatpak remove --unused --delete-data -y pip-review --user --auto --continue-on-fail cargo install-update -a sudo fwupdmgr get-devices sudo fwupdmgr refresh --force sudo fwupdmgr get-updates sudo fwupdmgr update
This is a great idea! Thanks for sharing it.
Silverblue here with automatic updates enabled, I do not care anymore, it just works.
This, super love that distro !!! Perfect for users that don’t have a lot of needs.
Personally, I never got used to the container workflow :(
Yes! The automatic updates are great for me and my family’s machines. System and Flatpak upgrades are done automatically, I never ever think of them.
Universal Blue has it too. They also have the “just” wrapper for not just system and flatpak, but containers as well.
no.
it’s open source.Well, one way to address this would be to have a little hook that triggers when you do a full system upgrade, and it updates your flatpaks.
also flatpaks are still centralized thanks to flatpak itself, same for snaps, nix, cargo and similar package managers. It’s not like you have to update every single app by yourself, like for AppImages and apps on windows or macos for example.