this post was submitted on 17 Sep 2023
290 points (81.5% liked)

Linux

48220 readers
723 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
 

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?

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 201 points 1 year ago (11 children)

Alias update="sudo apt full-upgrade && flatpak update"

Fixed it for you

[–] [email protected] 30 points 1 year ago

Nice. Your excellent suggestion probably belongs in a meta-package somewhere so that users get it for free when appropriate.

[–] [email protected] 30 points 1 year ago

Since they’re using Fedora apt isn’t going to do anything, they would need to run sudo dnf upgrade -y && flatpak update

load more comments (9 replies)
[–] [email protected] 114 points 1 year ago (7 children)

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.

[–] [email protected] 27 points 1 year ago (8 children)

Except doesn't ubumtu now force a snap on you even if you try installing a package app?

[–] [email protected] 78 points 1 year ago (1 children)

The solution is to use any of the other hundreds of readily available distributions.

load more comments (1 replies)
load more comments (7 replies)
[–] [email protected] 14 points 1 year ago (4 children)

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.

[–] [email protected] 18 points 1 year ago* (last edited 1 year ago)

If you use the Fedora software manager it updates everything at once? It even updates BIOS firmware.

load more comments (3 replies)
load more comments (5 replies)
[–] [email protected] 64 points 1 year ago (3 children)

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.

[–] [email protected] 22 points 1 year ago (1 children)

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.

load more comments (1 replies)
load more comments (2 replies)
[–] [email protected] 54 points 1 year ago (9 children)

If you use a graphical tool like gnome software, it will update everything with one click on a button

[–] [email protected] 22 points 1 year ago (2 children)

And sometimes it will even work!

load more comments (2 replies)
load more comments (8 replies)
[–] [email protected] 45 points 1 year ago (3 children)

Don't generalize whatever distro you're running as "Linux", especially when we're talking package management.

load more comments (3 replies)
[–] [email protected] 40 points 1 year ago (3 children)

I’ve used Linux since the 90s and I’ve never installed a flat pack or snap or whatever. They’re not required.

load more comments (3 replies)
[–] [email protected] 39 points 1 year ago (2 children)

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?

load more comments (2 replies)
[–] [email protected] 38 points 1 year ago* (last edited 1 year ago)

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.

[–] [email protected] 38 points 1 year ago (1 children)

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.

load more comments (1 replies)
[–] [email protected] 35 points 1 year ago (5 children)

alias upgrade="sudo pacman -Syu && yay -Syu && sudo flatpak upgrade"

load more comments (5 replies)
[–] [email protected] 34 points 1 year ago (3 children)

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.

load more comments (3 replies)
[–] [email protected] 33 points 1 year ago (3 children)
#! /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!

load more comments (3 replies)
[–] [email protected] 32 points 1 year ago (1 children)

Every problem can be solved by adding another layer of abstraction.

load more comments (1 replies)
[–] [email protected] 31 points 1 year ago (5 children)

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.

load more comments (5 replies)
[–] [email protected] 29 points 1 year ago

You're using Linux. It took me about an hour to create a script that will upgrade all packages, Snaps, and flatpaks, complete with flavor text. The fact that I could do that, with total control over how and when to run those updates, is still a killer feature to me.

[–] [email protected] 27 points 1 year ago (5 children)

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.

[–] [email protected] 18 points 1 year ago (4 children)

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?

load more comments (4 replies)
load more comments (4 replies)
[–] [email protected] 26 points 1 year ago* (last edited 1 year ago) (2 children)

Silverblue here with automatic updates enabled, I do not care anymore, it just works.

load more comments (2 replies)
[–] [email protected] 25 points 1 year ago (5 children)

GUI interfaces like discover or gnome software will update all

load more comments (5 replies)
[–] [email protected] 25 points 1 year ago (1 children)

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.

If this actually were Linux's killer feature, then Linux would have had a much higher market share by now.

Make no mistake, this is my favourite feature of Linux as well, and I have never used a snap/flatpack/appimage in my entire life. But it doesn't have the kind of broader public appeal that you seem to be suggesting.

load more comments (1 replies)
[–] [email protected] 24 points 1 year ago (2 children)

Honestly, at this point I'd like to get rid of all this sandboxing stuff altogether.

[–] [email protected] 21 points 1 year ago (1 children)

Come join the dark side, we have all the modern features without any containerisation whatsoever:

https://nixos.org/

load more comments (1 replies)
load more comments (1 replies)
[–] [email protected] 22 points 1 year ago (2 children)

You can just use Topgrade and it'll update your entire system, including everything from your oh-my-$shell, pip, flatpak, snap etc

load more comments (2 replies)
[–] [email protected] 21 points 1 year ago (1 children)

alright where's that XCKD, imma make another package distribution method to 'unify all the methods'

[–] [email protected] 16 points 1 year ago

I think you mean this one?

https://xkcd.com/927/

[–] [email protected] 20 points 1 year ago* (last edited 1 year ago) (1 children)

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
load more comments (1 replies)
[–] [email protected] 19 points 1 year ago (1 children)
load more comments (1 replies)
[–] [email protected] 19 points 1 year ago (1 children)

#nano /etc/systemd/system/flatpak-update.service

[Unit]
Description=Update Flatpak
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/bin/flatpak update --noninteractive --assumeyes

[Install]
WantedBy=multi-user.target

#nano /etc/systemd/system/flatpak-update.timer

[Unit]
Description=Update Flatpak

[Timer]
OnBootSec=2m
OnActiveSec=2m
OnUnitInactiveSec=24h
OnUnitActiveSec=24h
AccuracySec=1h
RandomizedDelaySec=10m

[Install]
WantedBy=timers.target

#systemctl daemon-reload

#systemctl enable --now flatpak-update.timer

load more comments (1 replies)
[–] [email protected] 18 points 1 year ago

The GUIs do that in a even easier way for new users and experienced people can always just add a simple bash alias, a universal command never existed anyway because we have various different package managers on different distros so I don't see any lost feature whatsoever tbh

[–] [email protected] 17 points 1 year ago

I don't use flatpak. But if your distro does, I imagine it should be pretty easy for them to provide a higher level program that updates both types of packages at once. I think this isn't a big problem.

[–] [email protected] 16 points 1 year ago (3 children)

arch repos + aur got you covered

load more comments (3 replies)
[–] [email protected] 16 points 1 year ago* (last edited 1 year ago) (3 children)

We can no longer do that thanks to Flatpaks and Snaps as well as AppImages.

I heard about these things only on the internet. None of this exists on my system. So I'd answer 'no' to your question.

A unified, reliable CLI solution to make sure EVERYTHING is up to date?

It's called yay.

load more comments (3 replies)
[–] [email protected] 16 points 1 year ago

Your single command is just an "&&" away

[–] [email protected] 15 points 1 year ago

no.
it's open source.

[–] [email protected] 15 points 1 year ago

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.

[–] [email protected] 14 points 1 year ago (6 children)

Yes we did. I miss the old system.

Also I don't like my laptop rebooting in my backpack to install updates, after I've tried to shut it down.

load more comments (6 replies)
[–] [email protected] 14 points 1 year ago (1 children)

Nowadays I don't even bother with upgrades anymore. Snaps and Flatpaks auto updates automatically, and for system updates Ubuntu notifies once a week.

For me the experience nowadays is better than before, where app updates are tied to system updates, meaning that older bases (like Ubuntu LTS) got behind on some softwares.

load more comments (1 replies)
load more comments
view more: next ›