在您下次更新期间,您将收到类似这样的错误消息
error: failed to commit transaction (conflicting files)
filesystem: /bin exists in filesystem
本次更新将所有二进制文件合并到一个统一的 /usr/bin 目录中。此步骤移除了 Arch 系统中一直没有意义的区别,并简化了开发团队的软件包维护工作。请参阅这篇文章,了解有关此更改背后原因的更多解释。
以下说明将确保安全更新
1) 修复任何在 /bin、/sbin 或 /usr/sbin 中包含文件的非官方软件包,将这些文件放入 /usr/bin。可以使用以下命令生成不在仓库中且需要修复的软件包列表
$ pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm -
同时检查从非官方仓库安装的软件包,使用
$ paclist <repo> | awk ' { print $1 } ' | pacman -Ql - | grep ' /s\?bin/\| /usr/sbin/'
2) 确保 IgnorePkg 或 IgnoreGroup 中的任何软件包在 /bin、/sbin 或 /usr/sbin 中没有文件。如有必要,请修复它们。
3) 如果您在 /bin、/sbin 或 /usr/sbin 中有任何不属于任何软件包的文件,您需要移动它们。使用以下命令查找列表
$ find /bin /sbin /usr/sbin -exec pacman -Qo -- {} + >/dev/null
4) 如果使用 autofs,请确保所有分区都已挂载。它们可能不会在本次更新稍后需要时自动挂载。
5) 更新您的系统。
在执行此更新之前,您可能需要确保您已打开第二个具有 root 权限的终端,以应对不太可能发生的紧急情况,特别是如果通过 ssh 进行更新。
# pacman -Syu --ignore filesystem,bash
# pacman -S bash
# pacman -Su