Archlinux 2022 安装配置(一)

本安装指南假设你至少知道在 Linux 如何执行命令以及一些基础的电脑知识。
搭配官方 Wiki https://wiki.archlinux.org/title/Installation_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

准备工作

你需要一台支持 UEFI 引导的 64 位(x86-64)的电脑,最好拥有有线网络连接,务必不要使用蓝牙鼠标。
如果你的电脑不支持 UEFI,那么以下某些步骤可能不适合你

下载系统,前往 https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/ 下载 ArchLinux 的镜像文件

准备一个 U 盘,U 盘容量大于镜像文件大小即可,用于制作安装盘。

使用 Rufus 制作启动盘
注意:制作过程将清空 U 盘数据,制作之前务必做好数据备份。

版本区别

archlinux 的 iso 镜像文件自 2020.06.01 开始改了很多东西,大概就这几个方面:

  1. archiso 默认的 shell 是 zsh ,不再是 bash 了。
  2. archlinux 摒弃了之前的 wifi-menu ,改为使用 iwd 来管理网络。
  3. 对于镜像源的管理,采用 reflector 进行管理,终于不用去手动更改镜像源的位置了,使用 reflector 一条命令就搞定了。

安装 ArchLinux

将 U 盘 插入主机 进入 UEFI 选择 U 盘启动进入 Archlinux 安装界面
PS:如果你的电脑启用了 UEFI 安全启动,必须关闭安全启动才可以成功启动。
image
image
执行检测当前引导模式是否是 UEFI

1
ls /sys/firmware/efi/efivars

如果没有列出文件,表示当前没有以 UEFI 模式启动,检查你的电脑是否支持以及 BIOS 设置 。
image

连接网络

判断无线网卡是否被锁

1
2
3
4
5
# rfkill list
--------------
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: yes

如果出现以上内容,可以调节网卡开关打开它。如果没有开关,那就使用以下命令:

1
# rfkill unblock wifi

使用 Iwctl 连接 WIFI

1
2
3
4
5
6
7
8
$ iwctl
[iwd]# help // 可以查 看帮助
[iwd]# device list //列出你的无线设备名称,一般以wlan0命名
[iwd]# station <device> scan // 扫描当前环境下的网络
[iwd]# station <device> get-networks // 会显示你扫描到的所有网络
[iwd]# station <device> connect <network name>
password:输入密码
[iwd]# exit //退出当前模式,回到安装模式

测试网络是否连通:

1
ping baidu.com

更新为国内镜像源

1
reflector --country China --age 72 --sort rate --protocol https --save /etc/pacman.d/mirrorlist

已将最新的镜像源更新为国内的,保存在 /etc/pacman.d/mirrorlist 目录下

更新系统时间

1
2
3
timedatectl set-ntp true
# 确保设置成功
timedatectl status

系统分区

分区挂载点建议大小
EFI Sytem/mnt/efi>512M
Linux Swap[swap]16G
Linux Root(/)/mnt90G
Linux Home/mnt/home剩余的全部空间

检查硬盘

1
lsblk

[图片]

建立分区

1
cfdisk /dev/nvme0n1

image

格式化分区

按照上面的步骤建立好分区之后,我们需要将每个分区用对应的文件系统进行格式化。
image

image

对于 root 分区、home 分区等直接使用 ext4 文件系统进行格式化:

1
2
mkfs.ext4 /dev/nvme0n1p3
mkfs.ext4 /dev/nvme0n1p4

格式化 EFI 系统分区:

1
mkfs.fat -F32 /dev/nvme0n1p1

image

格式化 Swap

1
2
mkswap /dev/nvme0n1p2
swapon /dev/nvme0n1p2

挂载分区

首先挂载 root 分区:

1
mount /dev/nvme0n1p3 /mnt

对于其他分区(swap 分区除外,不需要),需要自己手动创建挂载点:

1
2
3
4
mkdir /mnt/efi
mount /dev/nvme0n1p1 /mnt/efi
mkdir /mnt/home
mount /dev/nvme0n1p4 /mnt/home

安装必须软件包

1
pacstrap /mnt base linux linux-firmware vim

生成 fstab 文件

1
genfstab -U /mnt >> /mnt/etc/fstab

检查生成的 fstab 文件

1
cat /mnt/etc/fstab

如图说明一切正确
image

配置新系统

1
arch-chroot /mnt

设置时区

1
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

然后运行 hwclock 以生成 /etc/adjtime:

1
hwclock --systohc

本地化

本地化的程序与库若要本地化文本,都依赖 Locale,后者明确规定地域、货币、时区日期的格式、> 字符排列方式和其他本地化标准等等。

  1. 在下面两个文件设置:locale.gen 与 locale.conf。
    首先编辑 /etc/locale.gen 文件,然后将需要的地区的注释移除,

    1
    vim etc/locale.gen

    en_US UTF-8zh_CN UTF-8 都取消注释。

  2. 创建并写入 /etc/locale.conf 文件
    创建 locale.conf 文件并编辑 LANG 这一变量(将系统 locale 设置为 en_US.UTF-8,系统的 Log 就会用英文显示,这样更容易问题的判断和处理。):

这里最好不要设置为中文 locale,会导致 TTY 乱码

1
2
echo LANG=en_US.UTF-8 > /etc/locale.conf
cat /etc/locale.conf
  1. 执行命令生成 locale。
    1
    locale-gen

主机名

  1. 创建 hostname 文件:
    1
    2
    3
    echo likfees > /etc/hostname
    cat /etc/hostname

  2. 添加对应的信息到 hosts (5):
    1
    vim /etc/hosts
    如果系统有常设的 IP 地址,请使用这个常设的 IP 地址而不是 127.0.1.1。
    1
    2
    3
    127.0.0.1	localhost
    ::1 localhost
    127.0.1.1 likfees.localdomain likfees # 主机名.本地域名 主机名

Root 密码

1
passwd

安装及配置引导程序

安装基本包

警告: 这是安装的最后但也至关重要的一步,请按上述指引正确安装好引导加载程序后再重新启动。否则将无法正常进入系统。

如果你不知道这些包的作用,请务必确保输入的指令与下面的一致

1
2
[修改有待观察是否需要那么多包,可能是多系统才需要]
pacman -S grub efibootmgr networkmanager sudo base-devel

检查完毕回车,需要选择直接回车就好,等待安装结束

配置 Grub

因为我的 EFI 分区在 /efi 目录下,所以上述命令的 –efi-directory 参数就设置为 /efi

1
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=ArchLinux

生成 grub 配置文件

1
grub-mkconfig -o /boot/grub/grub.cfg

安装微码

如果你是 Intel 的 CPU,需要安装 intel 的微码文件

1
pacman -S intel-ucode

如果是 amd

1
pacman -S amd-ucode

启用 NetworkManager

1
systemctl enable NetworkManager

重启系统

1
2
3
4
5
exit

umount -a

reboot

启动时请拔出 u 盘

新建用户

1
2
3
useradd -m -G wheel likfees

passwd likfees

设置权限

1
2
3
4
5
6
7
vim /etc/sudoers

# 取消这行注释
%wheel ALL=(ALL) ALL

# 在 root ALL=(ALL) ALL 下面添加
用户名 ALL=(ALL) ALL

切换用户

1
su 用户名

添加 archlinuxcn 源

1
2
3
4
5
6
7
8
9
sudo vim /etc/pacman.conf
# 取消注释
[multilib]
Include = /etc/pacman.d/mirrorlist

# 添加以下内容
[archlinuxcn]
SigLevel = Never
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

导入 GPG key

1
2
sudo pacman -Syy
sudo pacman -S archlinuxcn-keyring

解决关机慢或等待 1 分 30 秒问题

1. 打开需要编辑的文件

1
sudo vim /etc/systemd/system.conf

去除文件中默认的注释,修改为:

1
2
3
DefaultTimeoutStartSec=5s
DefaultTimeoutStopSec=5s
DefaultRestartSec=100ms
  1. 使配置文件生效
    1
    sudo systemctl daemon-reload

蓝牙 bluez

https://github.com/bluez
https://wiki.archlinux.org/index.php/Bluetooth_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

安装软件包

1
sudo pacman -S bluez bluez-utils bluedevil

PS:如果你打开 APP 蓝牙会断开的话请检查 blue 版本是否是 5.62
image

如果是 5.62 则需要安装编译安装 git 上最新的版本即可解决

1
yay -S bluez-git