在您下一次更新之时,您将会得到如下类似的信息:
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
公告