How to recover after power failure during update?

As it happens, my pc shut down during an update.

I first tried some combination of https://wiki.archlinux.org/title/Pacman#Fixing_an_unbootable_system_caused_by_an_interrupted_upgrade, https://wiki.archlinux.org/title/Pacman#pacman_crashes_during_an_upgrade and some advice from arch forums, but I didn’t really know what I was doing at first, I might not have mounted everything properly, maybe it caused more harm than good?

Anyway, now I’m at the stage where even pacman from live iso without chroot reports crashes when trying to reinstall some packages:

[liveuser@eos-2026.01.12 ~]$ mount | grep /mnt
/dev/nvme0n1p2 on /mnt type ext4 (rw,relatime)
/dev/nvme0n1p1 on /mnt/efi type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
proc on /mnt/proc type proc (rw,relatime)
sys on /mnt/sys type sysfs (rw,nosuid,nodev,noexec,relatime)
efivarfs on /mnt/sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
securityfs on /mnt/sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
cgroup2 on /mnt/sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot,memory_hugetlb_accounting)
none on /mnt/sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
bpf on /mnt/sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
debugfs on /mnt/sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
tracefs on /mnt/sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
configfs on /mnt/sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
fusectl on /mnt/sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
dev on /mnt/dev type devtmpfs (rw,nosuid,relatime,size=15869972k,nr_inodes=3967493,mode=755,inode64)
tmpfs on /mnt/dev/shm type tmpfs (rw,nosuid,nodev,inode64,usrquota)
devpts on /mnt/dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=600,ptmxmode=000)
hugetlbfs on /mnt/dev/hugepages type hugetlbfs (rw,nosuid,nodev,relatime,pagesize=2M)
mqueue on /mnt/dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
sys on /mnt/sys type sysfs (ro,nosuid,nodev,noexec,relatime)
[liveuser@eos-2026.01.12 ~]$
[liveuser@eos-2026.01.12 ~]$ sudo pacman --root=/mnt --cachedir=/mnt/var/cache/pacman/pkg -S glibc
warning: glibc-2.43+r5+g856c426a7534-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Package (1)  Old Version              New Version              Net Change

core/glibc   2.43+r5+g856c426a7534-1  2.43+r5+g856c426a7534-1    0.00 MiB

Total Installed Size:  48.91 MiB
Net Upgrade Size:       0.00 MiB

:: Proceed with installation? [Y/n] 
(1/1) checking keys in keyring                                                                                                                [---------------------------------------------------------------------------------------] 100%
(1/1) checking package integrity                                                                                                              [---------------------------------------------------------------------------------------] 100%
(1/1) loading package files                                                                                                                   [---------------------------------------------------------------------------------------] 100%
(1/1) checking for file conflicts                                                                                                             [---------------------------------------------------------------------------------------] 100%
:: Processing package changes...
(1/1) reinstalling glibc                                                                                                                      [---------------------------------------------------------------------------------------] 100%
Generating locales...
  ja_JP.UTF-8... done
  zh_CN.UTF-8... done
  en_US.UTF-8... done
  pl_PL.UTF-8... done
Generation complete.
/tmp/alpm_or0moA/.INSTALL: line 1: 30095 Segmentation fault         (core dumped) ldconfig -r .
error: command terminated by signal 11: Segmentation fault
:: Running post-transaction hooks...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Checking which packages need to be rebuilt
foreign patool
foreign python-fvs
foreign python-pathvalidate
foreign python-setuptools-reproducible
foreign vkbasalt-cli
(3/3) Updating the info directory file...
[liveuser@eos-2026.01.12 ~]$

How can I do anything about that? Is this https://wiki.archlinux.org/title/Pacman#By_manually_extracting my only option now? Also, isn’t pacman --root supposed to use tools from outside of the --root?

Well, based on strace ldconfig in chroot it seemed that a specific library (owned by onnxruntime-cuda) caused these problems, once I uninstalled it, everything seems to work fine, and I have my system back :grinning_face: All it took was posting this post plus a couple of hours of trying.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.