我正在运行完整的系统更新。所述更新突然失败,最后修改的包似乎是删除了glibc
.现在,什么都不起作用了。诸如此类的系统内置命令cd
仍然可以工作,但是在发出任何其他命令时,会导致以下形式的错误:
bash: /usr/bin/COMMAND: No such file or directory
有些命令会导致此错误:
bash: /usr/bin/COMMAND: /bin/bash: bad interpreter: No such file or directory
我不知道如何继续。我害怕关闭计算机、注销或关闭打开的终端。我正在使用 i3,用于切换工作区等的所有键绑定仍然正常工作,除了用于打开新终端等的绑定之外。
我有办法撤消此软件包删除吗?这就是导致这个问题的原因吗?
答案1
这是有记录的在 wiki 的 pacman 页面上:
如果 pacman 在删除软件包时因“数据库写入”错误而崩溃,并且此后重新安装或升级软件包失败,请执行以下操作:
- 使用 Arch 安装介质启动。最好使用最新的媒体,以便 pacman 版本匹配/比系统更新。
- 挂载系统的根文件系统,例如挂载
/dev/sdaX /mnt
为 root,并检查挂载是否有足够的空间df -h
- 还挂载 proc、sys 和 dev 文件系统:
mount -t proc proc /mnt/proc; mount --rbind /sys /mnt/sys; mount --rbind /dev /mnt/dev
- 如果系统使用默认数据库和目录位置,您现在可以更新系统的 pacman 数据库并通过
pacman --sysroot /mnt -Syyu
root 身份进行升级。- 升级后,仔细检查未升级但仍然损坏的软件包的一种方法是:
find /mnt/usr/lib -size 0
- 然后通过 重新安装任何仍然损坏的软件包
pacman --sysroot /mnt -S package
。