271
submitted 9 months ago* (last edited 9 months ago) by [email protected] to c/[email protected]

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?

(page 2) 50 comments
sorted by: hot top controversial new old
[-] [email protected] 13 points 9 months ago

Nixos got this and then some

load more comments (1 replies)
[-] [email protected] 13 points 9 months ago

just stick to your distro packages man

[-] [email protected] 12 points 9 months ago

Your single command is just an "&&" away

[-] [email protected] 12 points 9 months ago

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.

load more comments (2 replies)
[-] [email protected] 11 points 9 months ago

Meanwhile Arch users are just using the AUR for everything.

I don't use Arch btw, but I'm thinking I should.

[-] [email protected] 6 points 9 months ago

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.

[-] [email protected] 11 points 9 months ago

Dunno about you, when I click Update in Discover, all my stuff updates

load more comments (3 replies)
[-] [email protected] 11 points 9 months ago

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.

load more comments (2 replies)
[-] [email protected] 11 points 9 months ago

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.

[-] [email protected] 10 points 9 months ago

Just don't use Ubuntu and don't use flatpacks

load more comments (2 replies)
[-] [email protected] 10 points 9 months ago

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

[-] [email protected] 9 points 9 months ago

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?

[-] [email protected] 9 points 9 months ago* (last edited 9 months ago)

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'

load more comments (1 replies)
[-] [email protected] 8 points 9 months ago

You can just alias the update commands and have it as a a single command...

[-] [email protected] 8 points 9 months ago* (last edited 9 months ago)

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.

[-] [email protected] 8 points 9 months ago* (last edited 9 months ago)

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.

load more comments (1 replies)
[-] [email protected] 8 points 9 months ago

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.

[-] [email protected] 8 points 9 months ago

Debian, no flatpaks, snaps or appimages.

load more comments (1 replies)
[-] [email protected] 7 points 9 months ago

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
[-] [email protected] 7 points 9 months ago* (last edited 9 months ago)

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.

load more comments (2 replies)
[-] [email protected] 7 points 9 months ago

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.

[-] [email protected] 7 points 9 months ago

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?

load more comments (2 replies)
[-] [email protected] 7 points 9 months ago

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.

[-] [email protected] 6 points 9 months ago

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.

[-] [email protected] 6 points 9 months ago* (last edited 9 months ago)

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).

load more comments (1 replies)
[-] [email protected] 6 points 9 months ago* (last edited 9 months ago)

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.

[-] [email protected] 6 points 9 months ago

I can still do that, because I understood that problem when it arose.

load more comments
view more: ‹ prev next ›
this post was submitted on 17 Sep 2023
271 points (82.5% liked)

Linux

45417 readers
2011 users here now

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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS