一、安装基本包
在Archlinux安装后,建议先安装基本包,如下:
sudo pacman -Syu
sudo pacman -S base-devel git
其中,pacman是Archlinux的包管理器,可通过pacman安装软件包和更新系统。base-devel包含开发基本包,包含gcc、make等,为了后面的编译和安装准备。
二、手动修改源
Archlinux官方是在全球各个地方布置了很多源。但是默认情况下,更新软件包时从托管在美国的服务器下载所需的软件包和元数据。因此,中国用户下载速度较慢。可以通过手动修改源列表来替代默认源,添加国内源加速更新。如下:
sudo nano /etc/pacman.d/mirrorlist
使用nano文本编辑器打开文件“/etc/pacman.d/mirrorlist”:
##
## Arch Linux repository mirrorlist
## Sorted by mirror score from mirror status page
## Generated on 2021-03-29
##
## China
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch
Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch
找到中国的镜像地址,将其添加到文件中,然后保存退出。从这些源下载软件包时,将下载速度提高到正常速度。
三、使用脚本自动修改源
手动修改源虽然简单,但如果修改的系统较多,则会变得非常繁琐。为了方便多台机器的管理,我们可以使用脚本自动化修改源,节约大量的时间和精力。如下:
wget https://raw.githubusercontent.com/yzaj/ArchLinux_Sources/master/change-mirrorlist.sh
sudo chmod +x change-mirrorlist.sh
sudo ./change-mirrorlist.sh tuna
以上脚本将使用tuna镜像站来更新源。在自动模式下,可以选择多个镜像站以备不时之需。
四、使用ArchlinuxCN源
ArchlinuxCN源是由中国Arch爱好者维护的国内源,添加了许多常用的软件包。您可以使用以下命令来安装ArchlinuxCN:
sudo pacman-key --recv-key EB9B1D8885A6405C
sudo pacman-key --lsign-key EB9B1D8885A6405C
sudo nano /etc/pacman.conf
在文件末尾添加以下内容:
[archlinuxcn]
#The Chinese Arch Linux communities packages
#Contributors: https://github.com/archlinuxcn/mirrorlist-repo/graphs/contributors
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
Server = https://cdn.repo.archlinuxcn.org/$arch
使用以下命令更新pacman:
sudo pacman -Syy archlinuxcn-keyring
现在就可以使用ArchlinuxCN提供的软件包了。
五、解决GPG密钥问题
偶尔您可能会在更新或安装软件包时遇到GPG密钥错误。可以使用以下命令解决此问题:
sudo rm -rf /etc/pacman.d/gnupg
sudo pacman-key --init
sudo pacman-key --populate archlinux
以上命令将删除与密钥相关的所有文件,并重新初始化和重新填充密钥列表。
六、总结
Archlinux是一个强大而灵活的Linux发行版。通过手动和自动修改源,您可以大大提高软件包和元数据的下载速度。此外,ArchlinuxCN源为您提供了更多的软件包以方便您使用,并通过上述命令解决了GPG密钥错误。