The system booted normally after the energy was cut, but if I try to run a dnf update again, I get this error:
Last metadata expiration check: 0:51:09 ago on Fri 26 Jan 2024 05:02:36 PM -03.
Dependencies resolved.
Problem: The operation would result in removing the following protected packages: systemd, systemd-udev
================================================================================
Package Arch Version Repo Size
================================================================================
Upgrading:
ImageMagick x86_64 1:7.1.1.26-2.fc39 updates 81 k
ImageMagick-c++ x86_64 1:7.1.1.26-2.fc39 updates 201 k
at-spi2-atk i686 2.50.1-1.fc39 updates 92 k
at-spi2-core i686 2.50.1-1.fc39 updates 378 k
atk i686 2.50.1-1.fc39 updates 82 k
bluez-libs i686 5.72-1.fc39 updates 88 k
chkconfig x86_64 1.26-1.fc39 updates 176 k
crun x86_64 1.13-1.fc39 updates 218 k
darktable x86_64 4.6.0-1.fc39 updates 7.2 M
device-mapper-persistent-data x86_64 1.0.9-1.fc39 updates 1.0 M
eog x86_64 45.2-1.fc39 updates 1.6 M
epiphany-runtime x86_64 1:45.2-1.fc39 updates 853 k
fluidsynth-libs x86_64 2.3.4-2.fc39 updates 235 k
folks x86_64 1:0.15.7-1.fc39 updates 588 k
gnome-maps x86_64 45.3-1.fc39 updates 1.0 M
gtk3 i686 3.24.41-1.fc39 updates 5.8 M
gtk3-devel x86_64 3.24.41-1.fc39 updates 4.3 M
gvfs-afc x86_64 1.52.2-1.fc39 updates 57 k
gvfs-afp x86_64 1.52.2-1.fc39 updates 67 k
gvfs-archive x86_64 1.52.2-1.fc39 updates 23 k
gvfs-fuse x86_64 1.52.2-1.fc39 updates 29 k
gvfs-goa x86_64 1.52.2-1.fc39 updates 67 k
gvfs-gphoto2 x86_64 1.52.2-1.fc39 updates 61 k
gvfs-mtp x86_64 1.52.2-1.fc39 updates 61 k
iwlegacy-firmware noarch 20240115-2.fc39 updates 146 k
iwlwifi-dvm-firmware noarch 20240115-2.fc39 updates 1.8 M
iwlwifi-mvm-firmware noarch 20240115-2.fc39 updates 50 M
kde-settings noarch 39.1-1.fc39 updates 40 k
krb5-libs i686 1.21.2-3.fc39 updates 809 k
libblockdev-lvm-dbus x86_64 3.1.0-1.fc39 updates 48 k
libblockdev-plugins-all x86_64 3.1.0-1.fc39 updates 10 k
libdecor i686 0.2.2-1.fc39 updates 60 k
libdrm i686 2.4.120-1.fc39 updates 172 k
libertas-firmware noarch 20240115-2.fc39 updates 1.3 M
libmwaw x86_64 0.3.22-1.fc39 updates 2.6 M
libpeas x86_64 2.0.1-1.fc39 updates 117 k
librbd1 x86_64 2:18.2.1-4.fc39 updates 3.5 M
libva i686 2.20.0-2.fc39 updates 113 k
libwpg x86_64 0.3.4-1.fc39 updates 74 k
libwps x86_64 0.4.14-1.fc39 updates 879 k
libxmlb x86_64 0.3.15-1.fc39 updates 115 k
lutris x86_64 0.5.16-2.fc39 updates 1.9 M
papirus-icon-theme noarch 20231201-2.fc39 updates 39 M
perl-common-sense x86_64 3.7.5-15.fc39 updates 29 k
publicsuffix-list-dafsa noarch 20240107-1.fc39 updates 58 k
python3-audit x86_64 3.1.2-6.fc39 updates 87 k
python3-beautifulsoup4 noarch 4.12.3-1.fc39 updates 320 k
python3-blockdev x86_64 3.1.0-1.fc39 updates 37 k
python3-fonttools x86_64 4.43.1-1.fc39 updates 2.9 M
python3-jinja2 noarch 3.1.3-1.fc39 updates 507 k
python3-pyatspi noarch 2.46.1-1.fc39 updates 112 k
python3-pyrate-limiter noarch 3.2.0-1.fc39 updates 65 k
qadwaitadecorations-qt6 x86_64 0.1.3-5.fc39 updates 65 k
qt5-srpm-macros noarch 5.15.12-1.fc39 updates 8.4 k
readline i686 8.2-6.fc39 updates 218 k
sos noarch 4.6.1-1.fc39 updates 1.2 M
syncthing x86_64 1.27.2-1.fc39 updates 8.8 M
systemd-boot-unsigned x86_64 254.8-2.fc39 updates 98 k
systemd-libs i686 254.8-2.fc39 updates 727 k
vim-filesystem noarch 2:9.1.031-1.fc39 updates 17 k
wine x86_64 9.0-1.fc39 updates 10 k
wine-alsa i686 9.0-1.fc39 updates 86 k
wine-core i686 9.0-1.fc39 updates 88 M
wine-opencl i686 9.0-1.fc39 updates 72 k
wine-pulseaudio i686 9.0-1.fc39 updates 62 k
wine-twain i686 9.0-1.fc39 updates 136 k
zenity x86_64 4.0.1-1.fc39 updates 3.2 M
Transaction Summary
================================================================================
Upgrade 67 Packages
Total size: 233 M
Is this ok [y/N]: y
Downloading Packages:
[SKIPPED] ImageMagick-7.1.1.26-2.fc39.x86_64.rpm: Already downloaded
[SKIPPED] ImageMagick-c++-7.1.1.26-2.fc39.x86_64.rpm: Already downloaded
[SKIPPED] at-spi2-atk-2.50.1-1.fc39.i686.rpm: Already downloaded
[SKIPPED] at-spi2-core-2.50.1-1.fc39.i686.rpm: Already downloaded
[SKIPPED] atk-2.50.1-1.fc39.i686.rpm: Already downloaded
[SKIPPED] bluez-libs-5.72-1.fc39.i686.rpm: Already downloaded
[SKIPPED] chkconfig-1.26-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] crun-1.13-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] darktable-4.6.0-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] device-mapper-persistent-data-1.0.9-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] eog-45.2-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] epiphany-runtime-45.2-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] fluidsynth-libs-2.3.4-2.fc39.x86_64.rpm: Already downloaded
[SKIPPED] folks-0.15.7-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] gnome-maps-45.3-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] gtk3-3.24.41-1.fc39.i686.rpm: Already downloaded
[SKIPPED] gtk3-devel-3.24.41-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] gvfs-afc-1.52.2-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] gvfs-afp-1.52.2-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] gvfs-archive-1.52.2-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] gvfs-fuse-1.52.2-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] gvfs-goa-1.52.2-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] gvfs-gphoto2-1.52.2-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] gvfs-mtp-1.52.2-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] iwlegacy-firmware-20240115-2.fc39.noarch.rpm: Already downloaded
[SKIPPED] iwlwifi-dvm-firmware-20240115-2.fc39.noarch.rpm: Already downloaded
[SKIPPED] iwlwifi-mvm-firmware-20240115-2.fc39.noarch.rpm: Already downloaded
[SKIPPED] kde-settings-39.1-1.fc39.noarch.rpm: Already downloaded
[SKIPPED] krb5-libs-1.21.2-3.fc39.i686.rpm: Already downloaded
[SKIPPED] libblockdev-lvm-dbus-3.1.0-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] libblockdev-plugins-all-3.1.0-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] libdecor-0.2.2-1.fc39.i686.rpm: Already downloaded
[SKIPPED] libdrm-2.4.120-1.fc39.i686.rpm: Already downloaded
[SKIPPED] libertas-firmware-20240115-2.fc39.noarch.rpm: Already downloaded
[SKIPPED] libmwaw-0.3.22-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] libpeas-2.0.1-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] librbd1-18.2.1-4.fc39.x86_64.rpm: Already downloaded
[SKIPPED] libva-2.20.0-2.fc39.i686.rpm: Already downloaded
[SKIPPED] libwpg-0.3.4-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] libwps-0.4.14-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] libxmlb-0.3.15-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] lutris-0.5.16-2.fc39.x86_64.rpm: Already downloaded
[SKIPPED] papirus-icon-theme-20231201-2.fc39.noarch.rpm: Already downloaded
[SKIPPED] perl-common-sense-3.7.5-15.fc39.x86_64.rpm: Already downloaded
[SKIPPED] publicsuffix-list-dafsa-20240107-1.fc39.noarch.rpm: Already downloaded
[SKIPPED] python3-audit-3.1.2-6.fc39.x86_64.rpm: Already downloaded
[SKIPPED] python3-beautifulsoup4-4.12.3-1.fc39.noarch.rpm: Already downloaded
[SKIPPED] python3-blockdev-3.1.0-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] python3-fonttools-4.43.1-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] python3-jinja2-3.1.3-1.fc39.noarch.rpm: Already downloaded
[SKIPPED] python3-pyatspi-2.46.1-1.fc39.noarch.rpm: Already downloaded
[SKIPPED] python3-pyrate-limiter-3.2.0-1.fc39.noarch.rpm: Already downloaded
[SKIPPED] qadwaitadecorations-qt6-0.1.3-5.fc39.x86_64.rpm: Already downloaded
[SKIPPED] qt5-srpm-macros-5.15.12-1.fc39.noarch.rpm: Already downloaded
[SKIPPED] readline-8.2-6.fc39.i686.rpm: Already downloaded
[SKIPPED] sos-4.6.1-1.fc39.noarch.rpm: Already downloaded
[SKIPPED] syncthing-1.27.2-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] systemd-boot-unsigned-254.8-2.fc39.x86_64.rpm: Already downloaded
[SKIPPED] systemd-libs-254.8-2.fc39.i686.rpm: Already downloaded
[SKIPPED] vim-filesystem-9.1.031-1.fc39.noarch.rpm: Already downloaded
[SKIPPED] wine-9.0-1.fc39.x86_64.rpm: Already downloaded
[SKIPPED] wine-alsa-9.0-1.fc39.i686.rpm: Already downloaded
[SKIPPED] wine-core-9.0-1.fc39.i686.rpm: Already downloaded
[SKIPPED] wine-opencl-9.0-1.fc39.i686.rpm: Already downloaded
[SKIPPED] wine-pulseaudio-9.0-1.fc39.i686.rpm: Already downloaded
[SKIPPED] wine-twain-9.0-1.fc39.i686.rpm: Already downloaded
[SKIPPED] zenity-4.0.1-1.fc39.x86_64.rpm: Already downloaded
Running transaction check
Transaction check succeeded.
Running transaction test
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction test error:
file /usr/share/doc/at-spi2-core/NEWS from install of at-spi2-core-2.50.1-1.fc39.i686 conflicts with file from package at-spi2-core-2.50.0-1.fc39.x86_64
file /usr/share/doc/gtk3/NEWS from install of gtk3-3.24.41-1.fc39.i686 conflicts with file from package gtk3-3.24.39-1.fc39.x86_64
file /usr/share/gtk-3.0/emoji/de.gresource from install of gtk3-3.24.41-1.fc39.i686 conflicts with file from package gtk3-3.24.39-1.fc39.x86_64
file /usr/share/gtk-3.0/emoji/es.gresource from install of gtk3-3.24.41-1.fc39.i686 conflicts with file from package gtk3-3.24.39-1.fc39.x86_64
file /usr/share/gtk-3.0/emoji/fr.gresource from install of gtk3-3.24.41-1.fc39.i686 conflicts with file from package gtk3-3.24.39-1.fc39.x86_64
file /usr/share/gtk-3.0/emoji/zh.gresource from install of gtk3-3.24.41-1.fc39.i686 conflicts with file from package gtk3-3.24.39-1.fc39.x86_64
file /usr/share/locale/he/LC_MESSAGES/gtk30.mo from install of gtk3-3.24.41-1.fc39.i686 conflicts with file from package gtk3-3.24.39-1.fc39.x86_64
file /usr/share/man/man1/broadwayd.1.gz from install of gtk3-3.24.41-1.fc39.i686 conflicts with file from package gtk3-3.24.39-1.fc39.x86_64
file /usr/share/man/man1/gtk-launch.1.gz from install of gtk3-3.24.41-1.fc39.i686 conflicts with file from package gtk3-3.24.39-1.fc39.x86_64
file /usr/share/man/man1/gtk-query-immodules-3.0.1.gz from install of gtk3-3.24.41-1.fc39.i686 conflicts with file from package gtk3-3.24.39-1.fc39.x86_64
file /usr/share/doc/wine-core/AUTHORS from install of wine-core-9.0-1.fc39.i686 conflicts with file from package wine-core-8.19-1.fc39.x86_64
file /usr/share/doc/wine-core/LICENSE from install of wine-core-9.0-1.fc39.i686 conflicts with file from package wine-core-8.19-1.fc39.x86_64
file /usr/share/doc/wine-core/VERSION from install of wine-core-9.0-1.fc39.i686 conflicts with file from package wine-core-8.19-1.fc39.x86_64
file /usr/share/man/man5/k5identity.5.gz from install of krb5-libs-1.21.2-3.fc39.i686 conflicts with file from package krb5-libs-1.21.2-2.fc39.x86_64
file /usr/share/man/man5/k5login.5.gz from install of krb5-libs-1.21.2-3.fc39.i686 conflicts with file from package krb5-libs-1.21.2-2.fc39.x86_64
file /usr/share/man/man5/krb5.conf.5.gz from install of krb5-libs-1.21.2-3.fc39.i686 conflicts with file from package krb5-libs-1.21.2-2.fc39.x86_64
The error mentions using "dnf clean packages", but it only downloads the packages again, and the same error happens. I tried searching for a solution, and found people recommending running "dnf upgrade --allowerasing --best " and "dnf distro-sync", but both these commands result in an error saying that the operation would lead to systemd and systemd-udev being removed.
Did someone experience similar issues? How did you solve it?
EDIT: I ran "dnf reinstall" on the conflicting packages, and it seemed to work for most of them, except for at-spi2-core. However, I noticed that the conflict was between the i686 and the x86_64 package, so I removed wine along with all i686 packages and tried again. It worked, and I managed to complete the upgrade, but I would still get the following error when running "dnf update":
Last metadata expiration check: 1:20:21 ago on Fri 26 Jan 2024 05:02:36 PM -03.
Dependencies resolved.
Problem: The operation would result in removing the following protected packages: systemd, systemd-udev
Nothing to do.
Complete!
So I did a dnf reinstall systemd systemd-udev and it finally solved the issue.
Thanks for the interest in helping. I will leave the post here in case someone else has a similar problem and google for it.
This is honestly why anyone and everyone should invest in at least a small UPS that can keep your PC powered for at least five minutes so in this kind of scenario you can cancel the update, shut down safely, and resume when the power is back.
Or use a system that has rollbacks so you can use the last known good configuration
Btrfs snapshots + Timeshift that is configured to run pre-update is great for this, though I cannot remember if Fedora's layout is compatible with Timeshift's expected configuration.
OP, If you really want to go 100% with this, something like NixOS (which is definitely an extreme investment) or an Atomic distro like Fedora Silverblue works very well for this.
As you mentioned, with Fedora the best alternatives are immutable spins. Updating means downloading a new base image, applying overlays and additional installations to it and on the next reboot you start from that image. You can configure it to keep as many previous versions as you need and boot into those directly on startup. Since you never change your current image once it's built, you can't break a known good system. You can only ever break your next version and in that case, just boot the previous.
I've created an Ansible playbook that configures a vanilla Kinoite the way I want it. No need to back up the system if I can recreate it with less than a megabyte of text files. Secrets are in my password vault, personal files are in my personal cloud and get synced to and from the laptop continuously. I would never go back to backing up system files as opposed to recreating it with a playbook. That seems so wasteful in hindsight.