我似乎在我的一台台式电脑上安装了 Arch Linux 时做出了一个愚蠢的举动:我升级了 pacman(使用pacman -S pacman
),但没有升级其他任何东西。现在 pacman 将无法运行,因为它与 GLIBC 版本不同步。
我不确定解决此问题的最佳方法是什么,因为我需要回滚 pacman (加上其他几个依赖包),但我无法使用 pacman 来执行此操作,因为它不起作用。我的 pacman 缓存中有以前版本的软件包,并且机器上至少有一个备份替代根分区,所以也许有某种方法可以使用 chroot 来修复?
谁能建议解决此问题的最佳方法是什么?
答案1
请注意,在 Arch Linux 上,不支持部分升级;您应该立即升级整个系统 ( pacman -Syu
)。将安装以下版本
pacman -S package
package
当前位于您的同步数据库中,可能会重新安装已安装的版本。
pacman -Sy
接下来将更新同步数据库,然后安装最新版本pacman -S package
package
及其依赖项,可能会破坏依赖于后者旧版本的其他已安装软件包。
正如上面链接的 wiki 页面中所述,pacman -Syuw
紧随其后也不是解决方案。pacman -S package
要修复它,请执行以下操作:
pacman-static
使用 wget下载二进制文件wget
https://pkgbuild.com/~morganamilo/pacman-static/x86_64/bin/
chmod +x ./pacman-static
sudo ./pacman-static -Syu
- 清除所有出现的
pacman
from/usr/local/
查找它们whereis pacman