![如何修复 pacman 与 glibc 不同步的问题?](https://linux22.com/image/228801/%E5%A6%82%E4%BD%95%E4%BF%AE%E5%A4%8D%20pacman%20%E4%B8%8E%20glibc%20%E4%B8%8D%E5%90%8C%E6%AD%A5%E7%9A%84%E9%97%AE%E9%A2%98%EF%BC%9F.png)
我似乎在我的一台台式电脑上安装了 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