pacman 更新完后笔记本死机了, 放到笔记本没电,再重启后 /boot 下的内核镜像 vmlinuz-linux 和 initramfs-linux.img都没了,
进 iso 重新生成后,进系统桌面环境后,pacman 已经寄了,
sudo pacman -Syu
错误:未能同步所有数据库(无法锁定数据库)
还有没有救的必要,
还是该直接备份数据,重装系统
备注:根目录和 /home 用的 btrfs, 有使用 timeshift 备份 /,/boot 用的 ext4
这不是 pacman 寄了,这是上次 pacman 运行的时候被中断,留下了没有清理的锁文件,确保没有 pacman 进程在运行的时候可以手动删掉它。
对于这种更新系统中途断电的情况,只要文件系统没炸,通用的解决方法就是找 /var/log/pacman.log 日志文件去看上次更新了哪些软件包,然后把这些包名放在一行命令 sudo pacman -Syu pak-a pak-b pak-c ... 后面运行,注意是一行命令,为的是在一次事务中完成更新,从而修复上次中断的事务。如果你不放心,怕日志文件不完整,也可以直接 sudo pacman -Syu $(pacman -Qq) 重新安装所有包
意外中断过,用sudo rm /var/lib/pacman/db.lck删掉锁文件。然后sudo pacman -Qkk检查包的完整性,重装有问题的包。
其实没啥用,这个日志大概率不完整,甚至什么都没能写入。
记得之前群里遇到几个这样修好了(
群里我好像没看到滚系统的时候供电中断的?
我猜可能是在编译dkms之类的东西消耗了大量电力,于是在滚包过程中刚好没电的概率就增加了。
/var/log/pacman.log 里确实没有更新的日记,我删了锁文件,然后直接 sudo pacman -Syu $(pacman -Qq) 重新安装了所有包,我之后再看看能否继续正常使用