本教程最后更新时间2022年4月22日
Warning
本文仅为 Arch Linux 的第三方安装教程,不代表 Arch Linux 官方,因此跟Arch Linux Wiki中的Installation guide有所差异,但这也意味着本教程的内容将会更为全面
Arch Linux 的特点是Rolling Update(滚动更新),是指软件开发中经常性将更新发送到软件的概念
也就是说,Arch Linux 的软件库是经常性更新的,你也需要经常更新软件源,操作方法很简单,只要
sudo pacman -Syu
即可;如果不经常更新,则可能导致滚动更新后无法正常使用系统如果你并不想
或者说懒经常更新软件源,我建议你使用linux-lts
内核
准备操作
首先你需要确保你的网络畅通(放心,这不需要你准备梯子,Arch Linux是有中国镜像源的),Arch Linux是在线安装
下载LiveCD
Arch Linux有多个镜像源,在Arch Linux Downloads中往下滑就可以找到
我个人使用的是清华大学开源软件镜像站,你也可以用北京外国语大学开源软件镜像站,又或者中国科学技术大学开源软件镜像
这里以清华大学开源软件镜像站为例
首先前往清华大学开源软件镜像站中下载ISO
下载完成之后备用
刻录到U盘
你可以使用以下几种方式来将Arch Linux镜像刻录到U盘中
刻录到U盘会导致数据丢失,请在操作之前备份好你的U盘数据
推荐使用Ventoy,因为Ventoy只需要一次安装到U盘之后就不再需要刻录的操作,还可以跟资料共存
名称 | 使用方式 | 备注 |
---|---|---|
Ventoy | 将Ventoy安装到U盘后直接把ISO文件复制到U盘中即可 | 一次安装,一盘多用 |
Rufus | 选择ISO文件然后选择U盘直接刻录即可 | 注意选择引导方式 |
balenaEtcher | 选择ISO文件然后选择U盘点击Flash开始刻录 | 最简单的方法 |
确定分区(必要)
在纯文字的环境中你可能很难分辨分区,如果操作失误(删错分区)则删库跑路
所以我建议你事先在Windows环境中确定要安装的系统分区,以确保不会出现失误导致的数据灰飞烟灭
引导设置(UEFI用户)
进入BIOS中,如果你是有UEFI的电脑那么你应该能看到带有CSM字样的选项,将他Disable掉
还有一些电脑带有Secure Boot(安全启动),找到Secure Boot的字样Disable即可
重启开始安装
确保您的U盘已经写入了镜像、分区已经确定好没问题之后
万事具备,只欠东风
重启进入LiveCD
LiveCD
确保网络畅通
前面提到,Arch Linux是在线安装方式,所以你必须要确保LiveCD中的系统已经连接到了网络
有线网络
如果你是有线网络,大概率不需要担心网络问题,因为LiveCD已经通过DHCP服务自动联网
不过发现网络出现玄学问题,你可以执行systemctl restart dhcpcd
来重启DHCP服务让Live CD重新获取IP
WiFi连接
LiveCD中自带连接WiFi的工具,你可以一步一步让Live CD连接到WiFi
[archlinux@archlinux ~]$ iwctl # 进入 iwd 的交互提示符
[iwd]# device list # 列出所有 WiFi 设备
[iwd]# station <device> scan # 扫描 WiFi 网络
[iwd]# station <device> connect <ssid> # 连接到 WiFi 网络
(以上文段来自Chi_Tang的博客)
测试网络
最简单的办法就是用Ping
ping -c 3 archlinux.org
没有报错则网络连接正常
更改系统时间(可选,但还是建议执行)
timedatectl set-ntp true
分区
先通过lsblk
或fdisk -l
的方式确定硬盘,出现/dev/某某某
的就是这个硬盘的设备名,记住硬盘的设备名,等会要用到
分区的工具
LiveCD中有parted
、fdisk
、cfdisk
等工具,前两个比较麻烦,cfdisk
拥有半图形界面,更适合小白使用
首先我们要打开cfdisk
设sdX为你的硬盘号
cfdisk /dev/sdX # 后面这个就是硬盘设备名
然后就会出现一个界面,这里以一个中文化的界面作为对照
分区格式
用户资料分区是可选的,可以将用户资料存放在系统盘中
MBR(传统引导)推荐分区格式:
用途 | 文件系统 | 分区推荐大小 | 挂载点 | 文章中的分区号 |
---|---|---|---|---|
系统分区 | ext4 | 50GiB | / | /dev/sda2 |
用户资料分区(可选) | ext4 | 50GiB | /home | (本文章中没有设置用户资料分区) |
GPT(UEFI引导)推荐分区格式:
如果你之前已经在硬盘中另外装了其他使用UEFI引导的系统(比如Windows)请务必不要把引导分区删掉重建,否则会导致原来的系统无法进入!
用途 | 文件系统 | 分区推荐大小 | 挂载点 | 文章中的分区号 |
---|---|---|---|---|
引导分区 | FAT32 | 300MiB | /boot | /dev/sda1 |
系统分区 | ext4 | 50GiB | / | /dev/sda2 |
用户资料分区(可选) | ext4 | 50GiB | /home | (本文章中没有设置用户资料分区) |
格式化分区
如果你之前已经在硬盘中另外装了其他使用UEFI引导的系统(比如Windows)请务必不要把引导分区格式化,否则会导致原来的系统无法进入!
设引导分区为 /dev/sda1,系统分区为 /dev/sda2
mkfs.ext4 /dev/sda2 # 格式化 /dev/sda2 为 ext4 文件系统(系统分区或用户资料分区)
mkfs.vfat /dev/sda1 # 格式化 /dev/sda1 为 FAT32 文件系统(引导分区)
挂载分区
GPT
设引导分区为 /dev/sda1,系统分区为 /dev/sda2,用户资料分区为/dev/sda3
mount /dev/sda2 /mnt # 挂载系统分区到 /mnt( / 分区)
mkdir /mnt/boot /mnt/home # 新建 /mnt/boot 文件夹和 /mnt/home 文件夹
mount /dev/sda1 /mnt/boot # 挂载引导分区到 /mnt/boot
mount /dev/sda3 /mnt/home # 挂载用户资料分区到 /mnt/home ( /home 分区,在有用户资料分区的情况下才执行)
MBR
mount /dev/sda1 /mnt # 挂载系统分区到 /mnt( / 分区)
mkdir /mnt/home # 创建 /mnt/home 文件夹
mount /dev/sda2 /mnt/home # 挂载用户资料分区到 /mnt/home( /home 分区,在有用户资料分区的情况下才执行)
(以上文段参考了Chi_Tang的博客并进行修改)
更换软件源
接下来我们需要更新一下镜像源以加快我们的下载速度
nano /etc/pacman.d/mirrorlist # 新建软件源列表
在软件源列表中第一行写入Server = 地址
即可,这里给大家列几个镜像源
在上面选择一个镜像源,假如我要用清华的,那就Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
当然如果速度还是上不去可以尝试删除其他镜像源
保存并退出即可
安装本体到硬盘
内核的选择
下面为Arch Linux官方源中可选的部分内核,可以根据你自己的需求选择
内核 | 特点 |
---|---|
linux |
官方的默认内核 |
linux-lts |
官方的长期支持内核,版本较低,但相对不容易滚挂 |
linux-zen |
社区制作的更适合日常使用的内核 |
(以上表格来自Chi_Tang的博客)
安装命令
pacstrap /mnt base base-devel linux-firmware <linux-kernel> <linux-kernel>-headers grub vim networkmanager iwd os-prober efibootmgr
将 <linux-kernel>
替换为你所选定的内核
生成分区表
genfstab -U /mnt > /mnt/etc/fstab
可以自己检查一下 /mnt/etc/fstab
以确保信息正确无误
切换到安装好的系统
接下来我们要通过chroot切换到我们安装好的系统的终端进行初步的系统设置
arch-chroot /mnt
要退出返回LiveCD就直接输入
exit
即可
设置时区
ln -sf /usr/share/zoneinfo/<Region>/<City> /etc/localtime
hwclock --systohc
<Region>
和<City>
分别是你所在的地区和城市,例如上海时间Asia/Shanghai
设置网络
计算机名
vim /etc/hostname
在文件中写入你的计算机名,例如 my-pc-1s-archlinux
保存并退出
hosts 文件
vim /etc/hosts
在文件中写入下面的内容
127.0.0.1 localhost
::1 localhost
127.0.1.1 <hostname>.localdomain <hostname>
将 <hostname>
替换为你的计算机名,保存并退出
配置本地化
locale.gen
vim /etc/locale.gen
在文件中找到 en_US.UTF-8 UTF-8
及 zh_CN.UTF-8 UTF-8
,删除前面的 #
以取消注释
同样地,在这里也可以设置其他语言的的 locale
,例如 ja_JP.UTF-8 UTF-8
locale-gen # 生成本地化文件
locale.conf
vim /etc/locale.conf
在文件中加入 LANG=en_US.UTF-8
,保存并退出
请不要在这里设置任何其他的语言,否则可能会导致终端乱码
安装引导
如果你需要GRUB能引导到其他系统(例如Windows)我们要先开启GRUB使用os-prober才可以让GRUB引导到其他系统
vim /etc/default/grub
在结尾或者其他位置中添加GRUB_DISABLE_OS_PROBER="false"
保存并退出即可
UEFI + GPT
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub # 在 /boot 中安装GRUB引导
grub-mkconfig -o /boot/grub/grub.cfg # 生成 GRUB 配置
Legacy + MBR
设sdX为你的硬盘号
grub-install --target=i386-pc /dev/sdX # 在 /dev/sdX 安装引导,不要加分区号
grub-mkconfig -o /boot/grub/grub.cfg # 生成 GRUB 配置
重启前的准备
passwd root # 设置root的密码
systemctl enable NetworkManager # 让NetworkManager开机启动,注意大小写
重启
到这里,我们的LiveCD的安装步骤就完成了,曙光就在眼前了!接下来我们进入系统进行初步设定
系统初步配置
创建新用户
很多软件是不能直接使用root用户的,而且直接使用root用户是很危险的,比如运行一个rm -rf /*
都不带sudo
的
useradd -m -G wheel 用户名
passwd 用户名
将新建的用户设置权限
在终端中运行
EDITOR=vim visudo
在这个配置文件中找到%wheel ALL=(ALL:ALL) ALL
,如果前面带个#
号就给它删掉,保存并退出
设置SWAP(交换文件)
sudo dd if=/dev/zero of=/swapfile bs=1M count=<size> # 在 size 处填写需要的 swap 空间大小(单位 MiB)
sudo mkswap /swapfile
sudo chmod 600 /swapfile
sudo swapon /swapfile
使用vim编辑/etc/fstab
,在末尾中加入
/swapfile none swap defaults 0 0 # 注意空格
设置pacman.conf
sudo vim /etc/pacman.conf
pacman美化
这一步是可选的,只是为了让你的pacman更好看
把Color
前面的#
去掉,让pacman能显示出颜色(能帮助你更好地判断内容)
把 VerbosePkgLists
前面的#
去掉,让 pacman 以表格显示更详细的信息
额外软件源
multilib
multilib
软件源中包含一些 32 位的依赖包
滑到文件后面,找到
#[multilib]
#Include = /etc/pacman.d/mirrorlist
去掉这两行前面的 #
以启用 multilib
软件源
Arch Linux CN
Arch Linux CN
源中包含许多在国内使用 Linux 常用的软件包,而且软件包下载速度比较快
在文件最后面添加下面这两行
[archlinuxcn]
Server = https://mirrors.bfsu.edu.cn/archlinuxcn/$arch
保存并退出后更新软件源
sudo pacman -Sy
安装 archlinuxcn-keyring
sudo pacman -S archlinuxcn-keyring
AUR
AUR源包含着很多有用的个人开发者软件,所以安装AUR工具可以让我们从AUR源中获取很多个人开发者的优秀软件
sudo pacman -S yay
安装中文
安装Fcitx5输入法
sudo pacman -S fcitx5-im # Fcitx5本体组
sudo pacman -S fcitx5-chinese-addons # 中文输入引擎
sudo pacman -S fcitx5-pinyin-zhwiki # 中文维基百科词库
yay -S fcitx5-pinyin-moegirl # 萌娘百科词库(二刺螈词库)
因为萌娘百科词库本体在Github,所以你可能需要开梯子才能访问
设置环境变量
vim ~/.xprofile
添加下面这几行:
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
export GTK_IM_MODULE=fcitx # 带有fcitx字样的是为了能让Fcitx5输入法能正常使用
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export SDL_IM_MODULE=fcitx
Fcitx5输入法需要进入图形界面的“设置”中才能进一步地设置Fcitx5
安装字体
安装下面几个字体以让中文能正常显示
sudo pacman -S wqy-microhei # 文泉驿
sudo pacman -S adobe-source-sans-fonts # 思源黑体
图形界面
显卡驱动
部分显卡驱动需要启用mutilib源(问题不大,我们前面已经启用了)
还有一些带有AUR的就是来自AUR的软件包,前面我们已经安装了yay所以问题不大
以下资料整理来自Chi_Tang的博客
Intel 显卡
sudo pacman -S xf86-video-intel # 驱动本体
sudo pacman -S mesa # OpenGL 支持
sudo pacman -S lib32-mesa # 32 位 OpenGL 支持
sudo pacman -S vulkan-intel # Vulkan 支持
paru -S intel-opencl # OpenCL 支持
NVIDIA 显卡
专有驱动
本体:
GeForce 930(NV110 及更新) | GeForce 630-920(NVE0) | GeForce 400/500/600(NVCx & NVDx) | GeForce 8/9(NV5x, NV8x, NV9x, NVAx) 不推荐安装专有驱动 | GeForce 7 及以下 | |
---|---|---|---|---|---|
linux | nvidia | nvidia-470xx-dkmsAUR | nvidia-390xx-dkmsAUR | nvidia-340xx-dkmsAUR | 不支持 |
linux-lts | nvidia-lts | nvidia-470xx-dkmsAUR | nvidia-390xx-dkmsAUR | nvidia-340xx-dkmsAUR | 不支持 |
其他 | nvidia-dkms | nvidia-470xx-dkmsAUR | nvidia-390xx-dkmsAUR | nvidia-340xx-dkmsAUR | 不支持 |
sudo pacman -S <driver> # 驱动本体
sudo pacman -S <driver>-utils # OpenGL 支持
sudo pacman -S lib32-<driver>-utils # 32 位 OpenGL 支持
sudo pacman -S opencl-nvidia # OpenCL 支持
开源驱动
sudo pacman -S xf86-video-nouveau # 驱动本体
sudo pacman -S mesa # OpenGL 支持
sudo pacman -S lib32-mesa # 32 位 OpenGL 支持
AMD / ATI 显卡
开源驱动
架构 | 驱动 | OpenGL | 32 位 OpenGL | Vulkan | 32 位 Vulkan |
---|---|---|---|---|---|
RDNA, RDNA 2, GCN 1, GCN 2, GCN 3, GCN 4, GCN 5 | xf86-video-amdgpu | mesa | lib32-mesa | amdvlk | lib32-amdvlk |
GCN 1, GCN 2, TeraScale 或更老 | xf86-video-ati | mesa | lib32-mesa | vulkan-radeon | lib32-vulkan-radeon |
sudo pacman -S opencl-mesa # OpenCL 支持
闭源驱动
AMD 闭源驱动仅支持 RDNA
, RDNA 2
, GCN 3
, GCN 4
, GCN 5
架构的显卡
sudo pacman -S xf86-video-amdgpu # 驱动本体
paru -S amdgpu-pro-libgl # OpenGL 支持
paru -S opencl-amd # OpenCL 支持
paru -S vulkan-amdgpu-pro # Vulkan 支持
其他显卡
sudo pacman -S xorg-drivers
sudo pacman -S mesa # OpenGL 支持
sudo pacman -S lib32-mesa # 32 位 OpenGL 支持
sudo pacman -S pocl # OpenCL 支持
图形桌面
常见的图形桌面有以下几种
名称 | 官方预览图 |
---|---|
KDE Plasma | ![]() |
GNOME | ![]() |
Xfce 4 | ![]() |
还有一种就是深度的DDE(深度桌面环境),我不推荐你使用,深度的桌面环境在其他系统会有很多的Bug
我推荐你使用KDE Plasma,比较简洁美观
KDE Plasma
sudo pacman -S plasma kde-applications
kde-applications
是可选的,其中包含 KDE 的其他应用
GNOME
sudo pacman -S gnome gnome-extra
gnome-extra
是可选的,其中包含 GNOME 的其他应用
XFCE
sudo pacman -S xfce4 xfce4-goodies
xfce4-goodies
是可选的,其中包含 XFCE 的其他应用
图形登陆管理器
图形登录管理器用于更方便地启动桌面环境及登录账户
SDDM
推荐与 KDE Plasma 配合使用
sudo pacman -S sddm
sudo systemctl enable sddm
GDM
推荐与 GNOME 配合使用
sudo pacman -S gdm
sudo systemctl enable gdm
LXDM
sudo pacman -S lxdm
sudo systemctl enable lxdm
LightDM
sudo pacman -S lightdm
sudo systemctl enable lightdm
常用软件和工具
下面给大家讲几个常用的软件和工具
这里注意一下,带有**AUR的就是来自AUR源**的软件,如果你先前没有安装yay请翻回目录中安装
通讯软件
名称 | 包名 | 备注 |
---|---|---|
TIM(From Spark Store)AUR | aur/com.qq.tim.spark | 来自Spark的基于Deepin Wine5 下运行的TIM,较为稳定 |
微信AUR | aur/com.tencent.weixin | 微信官方原生Linux桌面版 |
Telegram | telegram-desktop | Telegram官方客户端 |
另外QQ还有个第三方开发者基于Electron开发的IcaliguaAUR,目前功能已经较为完善,现在已经可以在AUR源中安装
yay -S icaligua
疑难解答
更新pacman源的时候出现error setting certificate verify locations
输入以下命令解决
trust extract-compat
(来自Reddit r/Proxmox)
在我发现Waline这个东西的时候,试了一下,发现这是个好东西,所以我就没有用Valine了