在您下次更新时,您将看到类似以下的错误消息:
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