Pacman -Syu 失败`/bin 存在于文件系统`

wir*_*bel 16 arch-linux pacman

pacman -Syu从假期回来后,我试图升级我的 arch linux,现在我遇到了这个我无法理解的错误:

(133/133) checking for file conflicts              [######################] 100%
error: failed to commit transaction (conflicting files)
filesystem: /bin exists in filesystem
filesystem: /sbin exists in filesystem
filesystem: /usr/sbin exists in filesystem
Errors occurred, no packages were upgraded.
Run Code Online (Sandbox Code Playgroud)

你知道这里有什么问题吗?arch linux 安装很新,所以我没想到有一段时间会出现任何严重的升级问题......

jas*_*yan 21

二进制文件已移至 /usr/bin

根据新闻文章,您需要分两个阶段进行升级。首先从非官方存储库中删除或更新任何软件包,然后通过三个不同的步骤更新您的系统:

pacman -Syu --ignore filesystem,bash
pacman -S bash
pacman -Su
Run Code Online (Sandbox Code Playgroud)

如果您遇到任何困难,Arch 板上有一个很长的线程,可以进行修复。

为避免将来出现这种情况,您应该从新闻页面订阅 ML 或 RSS 提要,以便您提前收到需要用户干预的任何重大更改的警告。

  • 这两个命令也可能很有用: `grep '^\(bin\|sbin\|usr/sbin\)' /var/lib/pacman/local/*/files | cut -d ":" -f 1 | 唯一| cut -d "/" -f 6` 列出所有在 /bin、/sbin 或 /usr/sbin 中保存文件的包和 `find /bin /sbin /usr/sbin -exec pacman -Qo -- {} + >/ dev/null` 列出这些目录中不属于任何包的所有文件。 (2认同)