连接网络

有线连接

有线自动连接,不用过多操作

也可以用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/mirrorlist

reflector: 自动配置镜像源的工具

-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 typegpt 即可

分区最终创建两个就行

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-progs

pacstrap: 把软件安装到指定的目录下

-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/fstab

change root 进入系统

arch-chroot /mnt

设置时区

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

或者使用如下命令设置

timedatectl set-timezone Asia/Shanghai

同步硬件时钟

hwclock --systohc

本地化设置

/etc/locale.gen 如下的内容注释放开

  1. en_US.UTF-8 UTF-8

  2. 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-utils

os-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 cmatrix

cmatrix 是一个代码雨

安装完成后输入

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