Can confirm, doing a rollback then upgrade again did the trick for me just now. No reported errors and no pending updates.
Are you able to do further deployments? For example can you layer a package and restart without doing anything out of the ordinary and have it work correctly?
@fastoslinux 's workaround using grub2-mkconfig put my system back on track. Thanks.
grub2-mkconfig Did the job as well. I thought I messed up laptop installation x)
I did an rpm-ostree update today, and everything worked fine – no need for sudo grub2-mkconfig. The new GRUB entry booted with no issue.
Another possible solution is
sudo ostree admin finalize-staged as noted https://discussion.fedoraproject.org/t/update-again-and-again/41526
Well, I’m back 4 days later with the issue still happening. Every time I want to do a follow up
sudo rpm-ostree upgrade I’m presented with the original problem and have to rollback, reboot, and then upgrade again. That seemingly takes, but then I try to perform the upgrade again, and I get the failed to finalize previous deployment.
I’ll try the
sudo ostree admin finalize-staged after performing the upgrade.
So, now I have tried to run these commands:
sudo rpm-ostree upgrade # I don't know if you NEED sudo sudo ostree admin finalize-staged sudo grub2-mkconfig
Rebooted, and everything seems to be going well. I read about these in this thread, and another here, then over at these two GitHub issues for rpm-ostree/3925 and fedora-silverblue/322. I also found a blog someone wrote which talks about how they fixed this as well, here. Whether or not these actually fix the issue is something I don’t know, but they make it so the updates successfully take.
I generally try to not layer on more packages than I need for Fedora Silverblue. Everything else is done through the Toolbox or Flatpaks.
Yes, but the idea is to test if layering a package works or not, regardless of if you regularly do it. If layering (and unlayering) a package does not work without workarounds then the core issue is not actually solved.
I tested this by layering in a package – I used
hugo – and it worked as expected.
So for me, this issue appears to be resolved.
I didn’t need
hugo layered (I run it both in a Toolbox and as a local binary), so I rolled back, which also worked.
I have the same problem with silverblue 36. I am trying to install the tkinter package using rpm-ostree, and when I run rpm-ostree status no extra packages are listed.
I have tried the various ‘fixes’, including grub2-mkconfig, and ostree admin finalize-staged, but no change. I can install tkinter into a toolbox, but not into my rpm-ostree install. I have tried installing a few gtk apps, but no luck.
rpm-ostree update seems to work.
I have tried a rollback and then an update, but I am still unable to install any packages successfully.
I had to manually edit /etc/grub2.cfg and update the kernelopts variable, and also to manually edit the link in /sysroot/ostree/boot.0/fedora/[branch_id?]
before I could get to see the installed gtk app in the os. But I still wasn’t able to install python3-tkinter package. It installs, runs scripts etc, but I can’t find the package in the site-packages directory.
It shows in /sysroot/ostree/repo/refs/heads/rpmostree/pkg/python3-tkinter
but I don’t know enough about ostree to understand if there is a command that can show me whether it is installed or not, and I now have the error:
State: idle Warning: failed to finalize previous deployment
running ostree admin finalize-staged worked to remove the warning, but python3-tkinter was still not installed.
edit… Ok, I finally got it installed by installing the python3-tkinter package and running
ostree admin finalize-staged and
grub2-mkconfig before rebooting.
does grub2-mkconfig do anything without the -o flag? I thought it just outputs the new config to stdout?
Please see this …
I fixed it following this suggestion:
rpm-ostree update sudo grub2-mkconfig