0%

激进的archlinux

今天查看feedly,突然看到arch关于更新的通知,不得不惊叹,arch的激进主义!

原文,
翻译如下:

在您下次更新时,你将得到如下的错误信息:

error: failed to commit transaction (conflicting files)
filesystem: /bin exists in filesystem

这次更新把所有二进制文件都转移至统一的目录/usr/bin。移除这个 二进制文件的存放位置的差别对arch系统没有太大影响,但是却简化了开发团队的包维护工作。你可以参考这篇文章来得到这次变化的进一步解释。

按照以下说明,进行安全更新:

  1. 整理/bin /sbin /usr/bin目录下的所有非官方源安装包,把它们放进/usr/bin目录下。按照以下方法可以得到需要整理的非官方源的安装包清单:
    $ pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm -

也可以使用如下方法检查识别非官方源的安装包:
$ paclist | awk ‘ { print $1 } ‘ | pacman -Ql - | grep ‘ /s?bin/| /usr/sbin/‘

  1. 确保任何一个在IgnorePkg或IgnoreGroup中的安装包没有相关的文件放置在/bin、/sbin或/usr/bin目录下。如果需要,整理修复这些软件包

  2. 如果您有一些不被任何安装包拥有的文件放置在/bin /sbin /usr/bin目录下,您需要移除他们。使用如下方法得到这类文件清单:
    $ find /bin /sbin /usr/sbin -exec pacman -Qo – { } + >/dev/null

  3. 如果您使用了autofs,确保所有分区被挂载,因为在稍后的更新中它们可能不会自动挂载。

  4. 升级系统

在执行更新之前,你可能需要确保你有一个备用的具有root权限的终端,比如在这些情况下:用于不常见的系统修复,尤其是通过ssh进行远程升级。可以如下做:
#pacman -Syu –ignore filesystem,bash
#pacman -S bash
#pacman -Su

坚持原创技术分享,您的支持将鼓励我继续创作!

Welcome to my other publishing channels