今天查看feedly,突然看到arch关于更新的通知,不得不惊叹,arch的激进主义!
原文,
翻译如下:
在您下次更新时,你将得到如下的错误信息:
error: failed to commit transaction (conflicting files)
filesystem: /bin exists in filesystem
这次更新把所有二进制文件都转移至统一的目录/usr/bin。移除这个 二进制文件的存放位置的差别对arch系统没有太大影响,但是却简化了开发团队的包维护工作。你可以参考这篇文章来得到这次变化的进一步解释。
按照以下说明,进行安全更新:
- 整理/bin /sbin /usr/bin目录下的所有非官方源安装包,把它们放进/usr/bin目录下。按照以下方法可以得到需要整理的非官方源的安装包清单:
$ pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm -
也可以使用如下方法检查识别非官方源的安装包:
$ paclist
确保任何一个在IgnorePkg或IgnoreGroup中的安装包没有相关的文件放置在/bin、/sbin或/usr/bin目录下。如果需要,整理修复这些软件包
如果您有一些不被任何安装包拥有的文件放置在/bin /sbin /usr/bin目录下,您需要移除他们。使用如下方法得到这类文件清单:
$ find /bin /sbin /usr/sbin -exec pacman -Qo – { } + >/dev/null如果您使用了autofs,确保所有分区被挂载,因为在稍后的更新中它们可能不会自动挂载。
升级系统
在执行更新之前,你可能需要确保你有一个备用的具有root权限的终端,比如在这些情况下:用于不常见的系统修复,尤其是通过ssh进行远程升级。可以如下做:
#pacman -Syu –ignore filesystem,bash
#pacman -S bash
#pacman -Su