did you read the arch news?
if you didn’t read the news before upgrading, you might have missed an important notification
in some cases, the news will include instructions for required manual intervention
can you figure out which package is the issue?
check the output of journalctl -b -p err
only (b)oot entries, only (p)riority (err)or
take a picture of this information and use the log entries to attempt to troubleshoot
if you are able to determine which package is the issue then:
if you trust it, you can use the downgrade package from the aur to rollback the package
downgrade makes it easy to see what your previous version of the package was
if you want the manual way, you can read about it here on the arch wiki
it’s a little more involved, but you don’t need to trust anything third-party
you don’t know and just need your computer to (hopefully) work right now?
you will want to run su to switch to the root user to run these commands
back up your mirrorlist first:
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
figure out the date of your last non-breaking upgrade: run cat /var/log/pacman.log
the package upgrade entries shown first (at the bottom) are likely your breaking upgrade
scroll up to find the date of the upgrade before that one
point mirrorlist to the date of your last non-breaking upgrade in the archive to rollback to:
replace the * in the following command with the desired date in the form 2025/12/31
echo 'Server=https://archive.archlinux.org/repos/*/$repo/os/$arch' > /etc/pacman.d/mirrorlist
i like to save an extra copy in case i need to rollback again while troubleshooting later
hit the up-arrow to access the last command and add ‘.20251231’ (but your date) to the end
so the filename should be ‘mirrorlist.yourdate’you can confirm that all three versions exist by running
tree /etc/pacman.d/ -L 1
you should seemirrorlist,mirrorlist.(yourdate), andmirrorlist.bak(and maybe more)
tree shows a tree directory and -L 1 means only the highest level files at the path given
do a full system upgrade:
double ‘y’ refreshes your package database, double ‘u’ allows pacman to downgrade packages
pacman -Syyuu
reset your mirrorlist (keeping the backup, just in case):
cp /etc/pacman.d/mirrorlist.bak /etc/pacman.d/mirrorlist
if you want to not keep the backup you can just use mv instead of cp
what’s next?
you can hope that a fix is made shortly and just attempt an upgrade again in a day or two
or you can make an effort to troubleshoot the issue using the picture you took at the start
if you didn’t take the picture, you can likely run the same command to see the logs again now
:) troubleshooting is less stressful once you know you can revert to a working system whenever