I’ve been using Linux for the better part of 4 years so I’m not new to it, but I’ve always learned stuff on an as-needed basis. Today I ran into an issue that I want to prevent in the future since I had a mini heart attack thinking about how my last backup on this system was… Never since I’m an idiot who forgot to set it up like I have on my laptop. Here are my steps:
- Ran
sudo pacman -Syu; sudo pacman -Syy
like I do every few days - packages updated
- restarted computer
- can only boot into emergency mode
The journal was really long so I moved past it and went to the pacman logs, linux had updated from 6.4.3.1-1 to 6.4.3.1-2. Nothing else was important enough to cause the system to only boot into emergency (gcc, vbox, some libs) so I did a quick pacman -U to the cached 6.4.3.1-1 version for both Linux and Linux headers and rebooted - hurrah it was fixed! But I have no idea why it happened, or how to prevent it.
Has anyone else ran into this issue when updating? Any advice for preventing future crashes or issues like this so I don’t fear updating?
Edit: Thanks to everyone for your advice! I ended up following multiple bits of advice. I reinstalled arch to get btrfs as the filesystem (didn’t have anything important other than some docked-compose files and books yet) and grabbed the linux-lts kernal as a backup as well. I haven’t configured snapper yet, but it’s on my list of things to do.
The only difference between those two versions of
linux
is that the new one was built with a newer version of gcc. That doesn’t really narrow the problem down, though. As far as I’m aware, emergency mode is caused by either a kernel panic or a failure to mount a needed filesystem. I’m leaning towards a corrupted kernel, since it doesn’t sound like you changed your fstab or had any problem mounting/
. I would runfsck -f
on your boot partition, then try to re-download and reinstall the new package.If that doesn’t work, then you can add
IgnorePkg = linux linux-headers
topacman.conf
so you can update without installing the broken package, until you resolve the underlying issue. Or your can install a different kernel altogether.As for preventing problems in the future, there’s only so much you can do. Check archlinux.org before updating to see if anything requires manual intervention, and pay close attention while running pacman in case something goes wrong. You already seem to know the most important part, which is to keep a set of packages that are certain to work, so you can easily downgrade if a crash does happen.
informant
in the AUR can also be used to halt updates and automatically show you messages from the site. Then you can just run the update again and it will go through.