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
Since they’re using Fedora apt isn’t going to do anything, they would need to run
sudo dnf upgrade -y && flatpak update
Nice. Your excellent suggestion probably belongs in a meta-package somewhere so that users get it for free when appropriate.
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
Im pretty sure there is a store, if I remember I think its called appimage pool.
Nice.
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.
Exactly. I dont have flatpak or snap integration installed so packages are packages. I think it was Ubuntu being delivered with snap as part of the OS. As well as CLI ads.
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
You have to check your distros info, but from popular Linux podcasts they were claiming certain distros used the apt get but once the package manager saw what you want it would throw in a snap or flatpak of the same. Not all distros. I think Ubuntu was one.
Yes. Some packages are just meta packages for their snap versions.
deleted by creator
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
The package manager won’t update anything installed from source.
emerge lols
Portage: Am I a joke to you?
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.
I dont understand how that comment spreads fud. If you think theyre wrong just say it
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.
The individual pop up for upgrades on windows is probably the single biggest bother… (except the Microsoft bloatware/spyware of course)
deleted by creator
I’d like to add that it’s even better than that!
You can install apt, flathub and snap (if you want to install it) packages from the same installer, complete with full package info, screenshots and reviews!
You can even compare them by switching quickly via the drop-down!The updater also checks all three, allowing you to scrutinise every part you want, or just updating it all with one button!
The installer and updater are actually better than using the command line, in my opinion, and I am by no means a stranger to the command line!
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.
I would really love gnome software to add update on background feature and set update interval (update only once a month, hold update indefinitely etc.)
But fedora software center behavior is the most intuitive and easy compare to other popular desktop OS/distros: Mac, Windows, or Ubuntu.
It does background updates for flatpak. For system, just move to Silverblue.
I think it only downloads the update but you still need to click install to install it. I am looking for Google Play / Windows Store behavior, where the store juat keep my app up-to-date in the background, maybe push a notification after update is done or something.
I understand this behavior is not for everyone, but I think it should be a toggle at least.
It does the update here, on Fedora
I love and use Fedora but I still think Mints update manager is the best GUI implementation I ever used for updating, it has all the essentials, is easy to use and looks nice.
I have never used mint, so I dont know.
One of the thing that drived me from Ubuntu to Fedora is that Ubuntu has 3 different UI for system, apt, and snap/flatpak update. It feels really segmented.
I personally prefer Gnome experience more than any other DE (including windows and macOS). But mint only include Gnome version on Ubuntu LTS, so it is a bit dated. But no doubt that mint is extremely user friendly.
I prefer vanilla Gnome on Fedora too but Mint dose some things really well. Their update manager is nice but that’s a Debian tool, their file manager (Nemo) on the other hand is something I still use, I just prefer it to Nautilus.
I like that the Mint UI show you that you are in sudo in a graphical app. It is really neat.
IIRC, if you do a file operation in Nemo that require sudo, then the file manager can directly ask you the password and lift itself to sudo, without needing to go into terminal. It is also pretty convenient.
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’ve used Linux since the 90s and I’ve never installed a flat pack or snap or whatever. They’re not required.
This. And it usually is open source, if you don’t want to install a flatpak or docker image, you can always compile it yourself, and if you feel generous, you package it up as an .rpm, .dep, or whatever your distro of choice wants and create a download for it. I also have not (yet) encountered a project i wanted to install that didn’t either provide packages or at the very least detailed instructions if I want to just install that locally.
I mean yeah. I mean wtf.
I mean, if I install something compiling from source, I would not expect anyone else to manage it, right? I mean why would anyone expect that flatpak snap etc. all get managed automatically, they even forget how they installed something, it is so ridiculous.
Do you really mean that?
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.
alias upgrade=“sudo pacman -Syu && yay -Syu && sudo flatpak upgrade”
What you suggest works for Arch distros only of course. Actually, yay -Syu will do the pacman stuff for you first anyway so you can skip that.
If you are using EndevourOS, check out eos-update. I just discovered it. It is basically the same thing but it will automatically handle keyring updates and db.lck issues if you have ever run into those. Basically, it is what yay should be.
Another EndevourOS gem is eos-shifttime. It will set your system to whatever pacman would have done on a specific date. You can use it to roll-back to a specific date. Or, if it has been forever since you upgraded, it lets you upgrade more incrementally than catching up all at once. Pretty cool. I guess you could also mimic the Manjaro experience by always upgrading to whatever was in the Arch repositories 3 weeks ago.
Of course those commands only work for arch-based distros, but it is completely possible to adapt them to fedora or debian-based distros
&& snap refresh
I think a lot of people just won’t endorse snap as long as it’s backend is proprietary
snaps are terribly, terribly slow, especially if you still have a mechanical drive.
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).
IMHO the killer feature of linux is that you aren’t getting shit straight into your mouth every day by some corporation that decices to squeeze more cash money out of you.
And as others have pointed out most gui applications update all sources automatically.
IBM salivating in the corner
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.Right? Like, c’mon OP, this is a really silly mountain to make out of the tiniest molehill.
Every problem can be solved by adding another layer of abstraction.
Ah, I see you have experience in our codebase
#! /bin/sh #update_everything_in_one_command.sh set -e apt update apt upgrade -y flatpak update -y
$ sudo update_everything_in_one_command
Tada!
echo -e "\nalias upgrade='sudo update_everything_in_one_command.sh'" >> ~/.bashrc
This dude, this dude procreate.
This dude… this dude fucks
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
And I would die of old age waiting for the compile to finish.
Swap is not “disk RAM”. It’s used for storing pages that go unused for extended periods of time. It’s an optimization system designed to be used during normal system operations.
Technically it could solve some mild out-of-memory situations if given enough time but in practice the disk access is so slow compared to RAM that for all intents and purposes your system appears to freeze so you get bored eventually and reboot it. An attempt to compile a large application under these circumstances would last a very long time indeed.
If anything, you should disable swap in such a situation. Without swap the compile process would crash instantly when growing out of memory, with swap your system freezes.
Swap space is also used for storing a compressed dump of RAM during hybernation but that’s a special case.
Yeah, I know how swap works. I’m lazy and it would accomplish the task if needed, I’ve done it many times before in similar situations especially on low RAM Gentoo machines.
Agreed, it’s slow as fuck. It also gets the job done without going outside the package manager.
There are lots of options. You can also setup a swap file in memory that uses compression. Since swap tends to compress really well, you can allocate more memory than you have RAM and still not use slower swap on a HDD or SSD.
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?
deleted by creator
Amen!
Wow, that’s exactly what I have been missing in my life. Amen, brother!
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
nix overall is a much better solution to this problem.