ArchLinux安装详解
连接网络
有线连接
有线自动连接,不用过多操作
也可以用usb分享手机的网络也算是有线连接的一种
无线连接
需要电脑硬件具备无线网卡
使用
iwd 工具提供的命令来连接无线网络
输入 iwctl 命令打开联网工具

输入 device list 列出设备,一般都是 wlan0

使用 station <device> scan 来扫描网络
station wlan0 scan使用 station <device> get-networks 列出所有的可用网络
station wlan0 get-networks使用 station <devicec> connect <WiFI> 来连接无线网络
station wlan0 connect xxxx输入WiFi密码之后完成连接
输入 exit 即可退出该工具
验证网络
首先查看 ip a 命令网卡下是否已经有IP地址
如果有了,则输入以下命令查看网络是否通常
ping 3次baidu.com 看网络是否可以上网
ping -c 3 baidu.com同步时间
有些软件安装时要验证时间,因此在正式开始安装前,需要确保时间已经同步
使用 timedatectl 命令来查看时间同步服务(NTP service)是否已经开启

如果没有开启,通过以下命令开启
timedatectl set-ntp true安装之前的配置
配置软件源
使用以下命令配置软件源
reflector -a 12 -c cn -f 10 --sort score --v --save /etc/pacman.d/mirrorlistreflector: 自动配置镜像源的工具
-a 12: 最近12小时更新过的源
-c cn: 指定所在的国家或者地区cn是中国
-f 10: 挑出最快的十个
--sort score: 按照下载时间和速度的综合评分进行排序
--v: 让过程显示出来,显示过程日志
--save /etc/pacman.d/mirrorlist: 保存源到本地
安装秘钥
更新数据库并安装秘钥
pacman -Sy archlinux-keyring硬盘分区
查看当前的分区情况
lsblk -pf-p: 显示完整设备名
-f: 显示更多信息

在里面找到自己要使用的硬盘
分区
使用 cfdisk 磁盘名称 进行分区
如果是一块没有使用过的新盘,会让选择一个 label type 选 gpt 即可

分区最终创建两个就行
EFI: 100MB
其他:Linux filesystem

原先 Linux 配置的引导都在 /boot 的目录下,因为启动和内核文件都在 /boot 下存放,需要更大的空间,1G/2G
但是archlinux是滚动更新的linux系统,因此使用 btrfs 的文件系统是更好的选择
btrfs的文件系统相较于ext4文件系统多了快照的功能,但是快照只能恢复 / 分区中的内容,因此将 efi 从 /boot 中进行剥离,让之与内核文件隔离,能被 btrfs 快照功能所控制到
EFI引导,常用的目录有 /boot, /boot/efi 以及/efi 三个
这次安装ESP将被安置到 /efi 下,只做引导部分,因此 100MB 的空间足以
不配置swap 分区是因为,swap 有两种方式
1:使用swap分区
2:把内存的一部分来当做交换空间,采用内存压缩技术
这次安装使用第二种,因此不需要swap分区
格式化分区
把ESP格式化为FAT32
mkfs.fat -F 32 /dev/nvme0n1p1把根分区格式化为 btrfs
mkfs.btrfs /dev/nvme0n1p2如果磁盘比较大等待时间可能比较长一点
创建子卷
子卷是 btrfs 的另一个特点
作用之一是设置快照的范围,如果不创建子卷,那么快照的时候就会吧系统数据和用户数据一起存档(某天你只想要恢复系统数据,却连带着花了一晚上才写完的word文件一起回档了,一晚上功夫白费)
为了避免这种情况发生需要创建两个同级的子卷,把系统数据和用户数据分开
挂载磁盘
mount -t btrfs /dev/nvme0n1p2 /mnt-t btrfs: 指定文件系统是 btrfs
使用 btrfs工具 创建 root 子卷
btrfs subvolume create /mnt/@创建 home子卷
btrfs subvolume create /mnt/@home卸载 /mnt 的挂载
umount /mnt挂载子卷及EFI
挂载 root子卷
mount -t btrfs -o subvol=/@,compress=zstd /dev/nvme0n1p2 /mnt挂载 home子卷
mount --mkdir -t btrfs -o subvol=/@home,compress=zstd /dev/nvme0n1p2 /mnt/home挂载 efi
mount --mkdir /dev/nvme0n1p1 /mnt/efi安装系统
安装系统及内核
pacstrap -K /mnt base base-devel linux-zen linux-firmware btrfs-progspacstrap: 把软件安装到指定的目录下
-K: 复制秘钥
/mnt: 要安装的系统的根
base: 基础包
base-devel: 在编译AUR助手和软件时会用到
linux(-zen): 主线内核, 带 -zen 是特调内核
linux0firmware: 是基本的固件
btrfs-progs: 是btrfs管理工具
安装其他工具
pacstrap /mnt networkmanager vim sudo amd-ucode如果是intel的cpu,把 amd-ucode 改成 intel-code
生成 fstab
genfstab -U /mnt > /mnt/etc/fstabchange root 进入系统
arch-chroot /mnt设置时区
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime或者使用如下命令设置
timedatectl set-timezone Asia/Shanghai同步硬件时钟
hwclock --systohc本地化设置
将 /etc/locale.gen 如下的内容注释放开
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
创建 /etc/locale.conf 文件并写入如下内容:
LANG=en_US.UTF8设置hostname
编辑 /etc/hostname 文件,在里面随便写入自己喜欢的主机名, 只能包含小写字母,数字0-9以及短横-
设置 root 密码
passwd root安装 Bootloader 引导加载程序
pacman -S grub efibootmgr安装引导
grub-install --target=x86_64-efi --efi-directory=/efi --boot-directory=/efi --bootloader-id=eris因为大部分软件会默认grub的安装位置在boot目录下,因此创建一个软连接,兼容下
n生成grub的配置文件
grub-mkconfig -o /boot/grub/grub.cfg配置双系统(如有需要)
安装软件包
pacman -S os-prober exfat-utilsos-prober: 用来搜索其他的系统
exfat-utils: 能够找到Windows的EFI
分区
修改grub源文件
vim /etc/default/grub跳转到文件最后一行将 GRUB_DISABLE_OS_PROBER=false 的注释放开

打开grub的记忆功能,记住选择的是哪一项,放开这行注释 GRUB_SAVEDEFAULT=true

跳转到文件开头,将 GRUB_DEFAULT 改为 saved

修改grub源文件
vim /etc/default/grub将 GRUB_CMDLINE_LINUX_DEFAULT 的内容修改为 loglevel=5

再次生成一下grub
grub-mkconfig -o /boot/grub/grub.cfg配置内存压缩及交换空间
zram可以提升系统的运行速度,增加可用内存
pcman -S zram-generator编辑配置文件
vim /etc/systemed/zram-generator.conf写入以下内容
[zram0]
zram-size = ram
compression-algorithm = zstd修改grub源文件
vim /etc/default/grub在 loglevel=5 后边加入 zswap.enabled=0

修改了grub源文件,要重新生成grub配置
grub-mkconfig -o /boot/grub/grub.cfg完成安装
输入exit退出arch-chroot
然后输入reboot重启系统
进入系统
使用root账户进入系统
配置网络
打开网络服务
systemctl enable --now NetworkManager通过 nmtui 通过TUI连接网络
安装国际惯例装X
pacman -Syyu fastfetch cmatrixcmatrix 是一个代码雨
安装完成后输入
fastfetch
尽情享用arch吧!!!
初步配置
配置默认编辑器为 VIM
vim /etc/environment增加如下内容:
EDITOR=vim增加完毕后用 exit 退出当前用户,然后再次使用root进入
创建普通用户
useradd -mG wheel user设置普通用户密码
passwd user设置普通用户sudo权限
visudo开启32位源,桌面端必须
vim /etc/pacman.conf取消如下两行注释

在文件末尾增加如下两行内容,开启ARU助手
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
更新秘钥
pacman -Sy archlinuxcn-keyring安装AUR助手
警告⚠️:不要安装AUR上来源不明或无人使用的包
pacman -S yay paru配置快照
pacman -S snapper snap-pac btrfs-assistant grub-btrfs inotify-tools开启快照服务
systemctl enable --now grub-btrfsd配置完成后重启电脑
创建快照配置
snapper -c root create-config /
snapper -c home create-config /home创建第一次的系统快照
snapper -c root create --description "first root snap"更新grub配置,以生效
grub-mkconfig -o /boot/grub/grub.cfg提升稳定性
安装lts内核
后续如果出现问题可临时切换到lts内核排除下是否位内核问题
pacman -S linux-lts更新grub配置以生效
grub-mkconfig -o /boot/grub/grub.cfg