Contents

好久没更新archlinux,今天更新,发现由于archlinux系统根目录结构的改变,导致好多人遇到问题,不错,笔者必然也遇到了。由于有前人的探索,再加上查阅archlinux官网论坛,得以顺利解决问题。
运行pacman -Syu时会出现

1
2
3
error: failed to commit transaction (conflicting files)
glibc: /lib exists in filesystem
Errors occurred, no packages were upgraded.

由于这次是glibc的升级,绝对不可以用--force,而之前是filesysterm的升级,必须用--force
那么接下来该怎么办呢?
查阅了archlinux论坛地址:https://bbs.archlinux.org/viewforum.php?id=44,并参考了这篇文章
发现这个帖子,其中提到这两篇文章:updating-arch-linux-from-a-core-installDeveloperWiki:usrlib,总结以下命令:

1
2
3
4
5
6
7
8
9
10
shell > pacman -Sy
shell > rm -rf /var/run /var/lock && pacman -Sf filesystem
shell > pacman -S tzdata
shell > pacman -U http://pkgbuild.com/~allan/glibc-2.16.0-1-i686.pkg.tar.xz #32位的用这个包(和下面的一条命令二选一)
shell > pacman -U http://pkgbuild.com/~allan/glibc-2.16.0-1-x86_64.pkg.tar.xz #64位的用这个包 具体的包名称可以打开http://pkgbuild.com/~allan/看一下
shell > rm /etc/profile.d/locale.sh
shell > pacman -Su --ignore glibc #因为pacman也升级了,新版本开启了软件包签名验证,故还需要运行下面2条命令
shell > pacman-key --init #该命令运行后不要什么都不做,随机敲键盘或者切换到其它终端(Alt+F2)运行些命令或做些其它操作
shell > pacman-key --populate archlinux
shell > pacman -Su #再更新被忽略的glibc

执行完上述命令后,系统顺利更新好了,但是依然出现下述问题:

1
2
3
error: failed to commit transaction (conflicting files)
glibc: /lib exists in filesystem
Errors occurred, no packages were upgraded.

我就去论坛中寻找,果不其然也有类似于我的情况,原帖在此

1
2
3
shell > pacman -R broadcom-wl
shell > pacman -Su
shell > pacman -S broadcom-wl #如果需要的话,再次安装即可

至此,升级结束。

Contents