1.同步源数据库
pacman -Sy
2.更新tzdata
pacman -S tzdata
之后会提示:
The following packages should be upgradeed first :
pacman
Do you want to cancel the current operation
and upgrade these packages now? [Y/n]
此处一定要选择n
3.更新pacman
pacman -S pacman
//更新pacman前必须先更新tzdata,否则会出现下面的提示:
error:failed to commit transaction (conflicting files)
glibc:/usr/bin/tzselect exists in filesystem
glibc:/usr/sbin/zdump exists in filesystem
glibc:/usr/sbin/zic exists in filesystem
Errors occurred,no packages were upgraded.
4.设置pacman密钥
pacman-key --init
//该过程需要较长的时间,执行该命令后可直接执行下面的步骤
这一步时可能长时间不出结果,可以按住<Ctrl>+<Alt>+<F2>切换到另一个tty中,随便输入几个字符,越多越好。
其实 key 的产生是根据系统的熵来计算的,即系统的混乱程度,大量的I/O操作会提高系统的熵。这样就可以计算出key了。
5.更新文件系统
pacman -S filesystem --force
原文链接如下:
https://www.archlinux.org/news/filesystem-upgrade-manual-intervention-required/
6.删除/etc/profile.d/locale.sh文件
rm -f /etc/profile.d/locale.sh
原文链接如下:
https://www.archlinux.org/news/initscripts-update-manual-intervention-required/
7.更新ArchLinux
pacman -Syu
//使用pacman -Syu命令前,必须先执行第4、5步,否则会出现下面的提示:
error:failed to commit transaction (conflicting files)
filesystem:/etc/mtab exists in filesystem
initscripts:/etc/profile.d/locale.sh exists in filesystem
Errors occurred,no packages were upgraded.