Pacman -Syu无法使文件系统中的/ bin存在


14

pacman -Syu从假期归来后尝试升级Arch Linux,现在出现了这个错误,我无法完全理解:

(133/133) checking for file conflicts              [######################] 100%
error: failed to commit transaction (conflicting files)
filesystem: /bin exists in filesystem
filesystem: /sbin exists in filesystem
filesystem: /usr/sbin exists in filesystem
Errors occurred, no packages were upgraded.

你有什么想法吗?arch linux的安装是相当新的,因此一段时间以来我没想到会有任何严重的升级问题。

Answers:


20

二进制文件已移至/ usr / bin

根据新闻文章,您需要分两个阶段进行升级。首先从非官方仓库中删除或更新任何软件包,然后通过三个不同的步骤来更新系统:

pacman -Syu --ignore filesystem,bash
pacman -S bash
pacman -Su

如果遇到任何困难,拱板上的螺丝会很

为了避免将来发生这种情况,您应该从“新闻”页面订阅ML或RSS feed,以便在需要用户干预的任何重大更改时获得预先警告。


2
这两个命令也可能很有用:grep '^\(bin\|sbin\|usr/sbin\)' /var/lib/pacman/local/*/files | cut -d ":" -f 1 | uniq | cut -d "/" -f 6列出所有包含/ bin,/ sbin或/ usr / sbin中文件的软件包,并find /bin /sbin /usr/sbin -exec pacman -Qo -- {} + >/dev/null列出这些目录中不属于任何软件包的所有文件。
Torben

@jasonwryan您能否阐明为什么指定filesystem,bash而不是仅仅指定filesystem?我遇到了这个问题,并通过忽略文件系统解决了它,因为那是错误消息中唯一提到的内容,并且运行良好。
Matijs 2013年

这些是开发人员的指示。另外,如果您b0rk重击动作,那么您将无法启动(或进行任何其他操作)...
jasonwryan 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.