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?
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.
Would you like to know about our Lord And Savior NixOS?
nix-channel --update
&&nixos-rebuild switch --upgrade
#amen
deleted by creator
Amen!
Wow, that’s exactly what I have been missing in my life. Amen, brother!
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.