一、安装前的准备
1. 下载 ArchLinux 镜像
https://archlinux.org/download/
2. 确保网络环境
ping www.bilibili.com
3. 制作 U 盘启动盘
fdisk -l
dd bs=4M if=/path/of/some_os.iso of=/dev/sdx status=progress oflag=sync
二、archlinux 基础安装
1. 禁用 reflector 服务
systemctl stop reflector.service
systemctl status reflector.service
2. 再次确认是否为 UEFI 模式
ls /sys/firmware/efi/efivars
3. 连接网络
4. 测试网络连通性
ping www.bilibili.com
5. 更新系统时钟
timedatectl set-ntp true # 将系统时间与网络时间进行同步
timedatectl status # 检查服务状态
6. 更换国内软件仓库镜像源加快下载速度
vim /etc/pacman.d/mirrorlist
放在最上面的是会使用的软件仓库镜像源,推荐的镜像源如下:
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch # 中国科学技术大学开源镜像站
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch # 清华大学开源软件镜像站
Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch # 华为开源镜像站
Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch # 兰州大学开源
7. 分区和格式化(使用 Btrfs 文件系统)
- 查看分区
lsblk # 显示当前分区情况
- 格式化硬盘
parted /dev/nvme0n1 # 执行 parted,进行磁盘类型变更
(parted) mktable # 输入 mktable
New disk label type? gpt # 输入 gpt,将磁盘类型转换为 GPT 类型。如磁盘有数据会警告,输入 Yes 即可
(parted) quit # 退出 parted 命令行交互
- 重新分区
cfdisk /dev/nvme0n1 # 对安装 archlinux 的磁盘分区
## 分为 efi、swap、/
- 格式化 EFI 分区
mkfs.fat -F32 /dev/nvme0n1p1
- 格式化 Swap 分区
mkswap /dev/nvme0n1p2
- 格式化 Btrfs 分区
mkfs.btrfs -L archlinux /dev/nvme0n1p3 -f
- 创建 Btrfs 子卷
mount -t btrfs -o compress=zstd /dev/nvme0n1p3 /mnt
btrfs subvolume create /mnt/@ # 创建 / 目录子卷
btrfs subvolume create /mnt/@home # 创建 /home 目录子卷
btrfs subvolume list -p /mnt
umount /mnt
8. 挂载
- 挂载各分区
mount -t btrfs -o subvol=/@,compress=zstd /dev/nvme0n1p3 /mnt # 挂载 / 目录
mkdir /mnt/home # 创建 /home 目录
mount -t btrfs -o subvol=/@home,compress=zstd /dev/nvme0n1p3 /mnt/home # 挂载 /home 目录
mkdir -p /mnt/boot # 创建 /boot 目录
mount /dev/nvme0n1p1 /mnt/boot # 挂载 /boot 目录
swapon /dev/nvme0n1p2 # 挂载交换分区
- 查看挂载状态
df -h
free -h
9. 安装系统
- 安装基础系统
pacstrap /mnt base base-devel linux-zen linux-zen-headers linux-firmware btrfs-progs
# 如果使用btrfs文件系统,额外安装一个btrfs-progs包
- 安装必要软件
pacstrap /mnt networkmanager vim sudo zsh zsh-completions
10. 生成 fstab 文件
- fstab 用来定义磁盘分区。它是 Linux 系统中重要的文件之一。使用 genfstab 自动根据当前挂载情况生成并写入 fstab 文件:
genfstab -U /mnt > /mnt/etc/fstab
- 复查一下 /mnt/etc/fstab 确保没有错误:
cat /mnt/etc/fstab
11. change root
- 使用以下命令把系统环境切换到新系统下:
arch-chroot /mnt
12. 设置主机名与时区
- 设置主机名
vim /etc/hostname
填入以下内容:
myarch
- 设置 hosts 文件
vim /etc/hosts
填入以下内容:
127.0.0.1 localhost
::1 localhost
127.0.1.1 myarch.localdomain myarch
- 设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
13. 硬件时间设置
- 使用如下命令将系统时间同步到硬件时间:
hwclock --systohc
14. 设置 Locale
- 编辑 /etc/locale.gen,去掉 en_US.UTF-8 UTF-8 以及 zh_CN.UTF-8 UTF-8 行前的注释符号(#):
vim /etc/locale.gen
- 然后使用如下命令生成 locale:
locale-gen
- 向 /etc/locale.conf 输入内容:
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
15. 为 root 用户设置密码
- 设置 root 用户密码:
passwd root
16. 安装微码
- 通过以下命令安装对应芯片制造商的微码:
pacman -S intel-ucode # Intel
pacman -S amd-ucode # AMD
17. 安装引导程序
- 使用 systemd-boot 安装引导:
bootctl install
cat > /boot/loader/loader.conf << EOF
default arch.conf
timeout 3
console-mode max
editor no
EOF
ROOT_UUID=$(blkid -s UUID -o value /dev/nvme0n1p3)
cat > /boot/loader/entries/arch.conf << EOF
title Arch Linux
linux /vmlinuz-linux-zen
initrd /intel-ucode.img
initrd /initramfs-linux-zen.img
options root=UUID=${ROOT_UUID} rootflags=subvol=@ rw
EOF
cat > /boot/loader/entries/arch-fallback.conf << EOF
title Arch Linux (fallback initramfs)
linux /vmlinuz-linux-zen
initrd /intel-ucode.img
initrd /initramfs-linux-zen-fallback.img
options root=UUID=${ROOT_UUID} rootflags=subvol=@ rw
EOF
- 查看启动条目
bootctl list
- 配置 mkinitcpio
mkinitcpio -P
18. 完成安装
- 输入以下命令:
exit # 退回安装环境
umount -R /mnt # 卸载新分区
reboot # 重启
三、桌面环境与常用应用安装
0. 确保系统为最新
systemctl enable --now NetworkManager # 启动网卡
pacman -Syu # 升级系统中全部包
1. 配置 root 账户的默认编辑器
- 使用 vim 编辑 ~/.bash_profile 文件:
vim ~/.bash_profile
在适当位置加入以下内容:
export EDITOR='vim'
2. 准备非 root 用户
- 通过以下命令添加用户,比如新增加的用户叫 myusername:
useradd -m -G wheel -s /bin/bash myusername
- 通过以下命令根据提示设置新用户 myusername 的密码:
passwd myusername
- 使用 vim 编辑器通过 visudo 命令编辑 sudoers 文件:
EDITOR=vim visudo # 这里需要显式的指定编辑器,因为上面的环境变量还未生效
- 找到如下这样的一行,把前面的注释符号 # 去掉:
#%wheel ALL=(ALL:ALL) ALL
3. 开启 32 位支持库与 Arch Linux 中文社区仓库(archlinuxcn)
- 编辑 /etc/pacman.conf 文件:
vim /etc/pacman.conf
- 去掉 [multilib] 一节中两行的注释,来开启 32 位库支持
[multilib]
Include = /etc/pacman.d/mirrorlist
- 在文档结尾处加入下面的文字,来添加 archlinuxcn 源。推荐的镜像源(选一个即可)也一并列出:
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch # 中国科学技术大学开源镜像站
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch # 清华大学开源软件镜像站
Server = https://mirrors.hit.edu.cn/archlinuxcn/$arch # 哈尔滨工业大学开源镜像站
Server = https://repo.huaweicloud.com/archlinuxcn/$arch # 华为开源镜像站
- 通过以下命令刷新 pacman 数据库并更新:
pacman -Syyu
4. 安装 KDE Plasma 桌面环境
- 通过以下命令安装相关软件包:
pacman -S plasma-meta konsole dolphin # plasma-meta 元软件包、konsole 终端模拟器和 dolphin 文件管理器
- kde 默认安装的是xorg,如果想使用wayland的话安装以下包:
pacman -S plasma-workspace xdg-desktop-portal
# N卡用户需要额外安装egl-wayland,xdg-desktop-portal包是为了如obs此类工具录制屏幕使用
# xdg-desktop-portal包组提供了不同环境下使用的软件包
# 例如kde用户可选择xdg-desktop-portal-kde包
5. 配置并启动 greeter sddm
- 开启 sddm.service 守护进程:
systemctl enable sddm
- 重启电脑
reboot
6. 安装基础功能包
- 安装基础功能包
sudo pacman -S sof-firmware alsa-firmware alsa-ucm-conf # 声音固件
sudo pacman -S adobe-source-han-serif-cn-fonts wqy-zenhei # 安装几个开源中文字体。一般装上文泉驿就能解决大多 wine 应用中文方块的问题
sudo pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra # 安装谷歌开源字体及表情
sudo pacman -S ark # 压缩软件。在 dolphin 中可用右键解压压缩包
sudo pacman -S packagekit-qt6 packagekit appstream-qt appstream # 确保 Discover(软件中心)可用,需重启
sudo pacman -S gwenview # 图片查看器
- 安装 yay
sudo pacman-key --lsign-key "farseerfc@archlinux.org"
sudo pacman -S archlinuxcn-keyring # cn 源中的签名(archlinuxcn-keyring 在 archlinuxcn)
sudo pacman -S yay # yay 命令可以让用户安装 AUR 中的软件(yay 在 archlinuxcn)
7. 检查家目录
- 检查家目录下的各个常见目录是否已经创建,若没有则需通过以下命令手动创建:
cd ~
ls -hl
8. 配置非 root 账户的默认编辑器
- 使用 vim 编辑 ~/.bashrc 文件:
vim ~/.bashrc
- 在适当位置加入以下内容:
export EDITOR='vim'
9. 设置系统为中文
- 打开 System Settings > Language and Regional Settings > 在 Language 中点击 Add languages… > 选择中文加入 ADD,再拖拽到第一位 > 点击 Apply
10. 安装输入法
- 通过以下命令安装相关软件包:
sudo pacman -S fcitx5-im # 输入法基础包组
sudo pacman -S fcitx5-chinese-addons # 官方中文输入引擎
sudo pacman -S fcitx5-material-color # 输入法主题
sudo pacman -S fcitx5-rime
- 此外,我们还需要设置环境变量。通过 vim 创建并编辑文件 ~/.config/environment.d/im.conf:
vim ~/.config/environment.d/im.conf
- 在文件中加入以下内容并保存退出:
# fix fcitx problem
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
11. 启动蓝牙(若有)
- 通过以下命令开启蓝牙相关服务并设置开机自动启动:
sudo systemctl enable --now bluetooth
12.安装显卡驱动
- 安装 intel 集显驱动
sudo pacman -S mesa lib32-mesa vulkan-intel lib32-vulkan-intel
13. 设置 Timeshift 快照
- 通过以下命令安装 Timeshift:
sudo pacman -S timeshift
- 安装之后,如果 Timeshift 没有自动备份,需要手动开启cronie服务:
sudo systemctl enable --now cronie.service
四、配置操作系统
1. 设置 DNS
- 编辑 /etc/resolv.conf
nameserver 8.8.8.8
nameserver 2001:4860:4860::8888
nameserver 8.8.4.4
nameserver 2001:4860:4860::8844
- 设置只读权限
chattr +i /etc/resolv.conf
2. 安装软件
yay -S firefox google-chrome # 浏览器
yay -S okular # 电子书
yay -S spectacle # 截图工具
yay -S gwenview # 图像查看器
yay -S kcalc # 计算器
yay -S libreoffice-still libreoffice-still-zh-cn # office 套装
yay -S hplip cups # 安装打印机
systemctl enable --now cups
yay -S vlc # 视频播放