System update failed (Legion Go)
Ran the system update utility that's pinned to the favorites in the application launcher. After typing in my system password, I'm met with the following message.
System update failed:
0: Command failed: '/usr/bin/sudo /usr/bin/dnf upgrade -y
1: '/usr/bin/sudo' failed: exit status 1
Location:
src/steps/os/linux.rs:259
24 Replies
please show the actual output instead of the last 3 lines
but this is most likely just a distrobox failing to update and you can either ignore it or delete the distrobox container and remake it
but cant tell without you actually showing the ouput (we dont need the whole thing just need whatever last section its updating)
I'll send it over in a minute, sorry about that
np it will help to see what section of the updater fails is all 😄
Sending in a TXT file because there appears to be a lot of package errors
show
rpm-ostree status
State: idle
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:stable
Digest: sha256:702c8397e1215800c5a589728ddc4e30822a07328f004dff3ead71b5960e400f
Version: 41.20250106.3 (2025-01-07T04:25:40Z)
LayeredPackages: binutils-devel glew-devel mono-complete SDL2-devel
ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:stable
Digest: sha256:4c144142a41b10a88f2a16425d2656fd0adccbb95a00c1dbc57cffcb2ae9d596
Version: 41.20250101 (2025-01-01T10:53:33Z)
LayeredPackages: binutils-devel glew-devel mono-complete SDL2-devel
That was after a reboot, went straight into desktop mode and ran that command
there is your issue
you layered development tools
rpm-ostree reset
Installing and Managing Applications - Bazzite Documentation
Bazzite is a custom image built upon Fedora Atomic Desktops that brings the best of Linux gaming to all of your devices.
What exactly does that mean? I'm not very familiar with immutable distros (I'm not even sure I'm using the correct term there)
ok so you probably just tried
dnf install
some packages, this instead triggers rpm-ostree install
which layers the package ontop of your installed image, this is meant to be used as a last resort as it can lead to issues when updating and slows down updates a lot, and sometimes just wont work because of depending on versions of packages which we custom build (so the versions do not match what they expect)
for more info look at the link i gave
our recommendation is to avoid using rpm-ostree to install packages as much as possible
instead use flatpak, brew and distrobox containers (boxbuddy is the gui for distrobox if you prefer that)Aha right, that makes a lot of sense. I can vaguely remember doing that when I didn't have access to any other Linux PC and attempted to use my Legion Go to build a few packages. I suppose using rpm-ostree to install said development packages caught up to me finally
yep
I'll have to look into that, I've never really used anything like distrobox, most of the time I don't even use flatpaks. I have maybe a total of 3 installed on my main PC
its easy enough to remove all layers with that reset command though
for development you just make the container, open the shell for the container (our terminal integrates with distrobox containers), just install development tools like normal, compile
boxbuddy also has options to install deb/rpm packages in supported containers too or just open a terminal from there instead
Okay, that actually sounds pretty cool
you can also make distrobox manifests to easily rebuild development containers too
And just to clarify, this reset command won't remove any of my ROMs/Non-Steam games right?
nope just removes layered packagess
GitHub
distrobox/docs/usage/distrobox-assemble.md at main · 89luca89/distr...
Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available...
Okay excellent thank you so much for the help, I'll look into those links you sent for Distrobox and package management on Bazzite
layering has to be done for things that need deep host system access like VPN clients
but most things will work fine inside a distrobox container 🙂
Noted. Thanks again!