在上篇教程Archlinux Install Guide 我介绍了如何安装一个经过加密的系统。
但是我没有介绍后序应该做些什么。在这篇教程我就会介绍如何处理剩余的步骤。
需要注意的是:当前状态是刚刚完成上篇教程,还没有任何其他操作的状态。
Systemd-homed
System-homed 是一个家目录管理器(以下将使用 homed 代替),它可以提供不依赖系统的移植功能,但是我们使用它不是因为它的可移植性,主要是为了他的安全性。
homed 可以实现使用额外的虽然我们已经使用luks加密了整个根目录,但是那只是静态的加密。还记得吗?当我们进入系统后,目录将被解密。其他用户或管理员可以通过有访问权限或者非法的方式访问我们的家目录。所以额外的加密可以防止其他用户进行访问。 密码管理家目录,这不同于登录密码。登录密码可以被 root 用户进行更改,而 homed 可以用 luks 进行加密,root 用户在不知道密码的情况下无法访问你家目录中的信息。
安装
实际上 homed 已经是 systemd 的一部分了,不需要安装。只需要启动即可。
启动
我们只需要启动服务即可,执行如下命令。
systemctl enable --now systemd-homed.service输入后你可以检查一下启动情况。
systemctl status systemd-homed.service你应该输出如下相似内容,你只需要注意 Loaded: 行中的 enabled 字样即可,这证明已经开机自启动。
lyle@arch ~> systemctl status systemd-homed.service
● systemd-homed.service - Home Area Manager
Loaded: loaded (/usr/lib/systemd/system/systemd-homed.service; enabled; preset: enabled)
Drop-In: /usr/lib/systemd/system/systemd-homed.service.d
└─10-nvidia-no-freeze-session.conf
Active: active (running) since Tue 2025-06-17 16:03:23 CST; 45min ago
Invocation: ********************************
Docs: man:systemd-homed.service(8)
man:org.freedesktop.home1(5)
Main PID: 779 (systemd-homed)
Status: "Processing requests..."
Tasks: 1 (limit: 37404)
Memory: 15.8M (peak: 78M)
CPU: 1.219s
CGroup: /system.slice/systemd-homed.service
└─779 /usr/lib/systemd/systemd-homed创建新的用户
warning
需要注意的是,我们目前正在使用 root 用户。如果你想将原有用户转变成由 homed 管理的账户你需要参考 Wiki 进行处理,本教程选择直接创建新的用户,并手动迁移数据。
我们直接使用命令创建一个新用户,使用如下命令。
homectl create <USERNAME> --disk-size <SIZE>需要注意的是你需要替换 <USERNAME> 为你想要的用户名,替换 <SIZE> 为你想要的空间需要注意的是,如果你没有手动设置 --disk-size,那将自动赋予很大的空间给用户,可能有可用空间的 80% 大小大小。如下例子:
root@arch ~> homectl create test_user --disk-size 1G
Password suggestions: Eroc#ArwAnyx,o $YwEk-owoPfOj[ [ozYKRIxfad=aJ =ecxuzAGeSGonw ubyzv3k0fUsxUv YGahaj#Aq24KAf
🔐 Please enter new password for user test_user:
🔐 Please enter new password for user test_user (repeat): 需要注意的是,密码是有要求的,至少要大于八个字符。
检视账户
当你创建了用户后,你可以使用如下命令检视的你账户。
homectl inspect test_user你将会得到如下内容。
lyle@arch ~> homectl inspect test_user
Warning: lacking rights to acquire privileged fields of user record of 'test_user', output incomplete.
User name: test_user
State: inactive
Disposition: regular
Last Change: Tue 2025-06-17 16:54:25 CST
Login OK: yes
UID: 60255
GID: 60255 (test_user)
Directory: / (fallback)
Blob Dir.: /var/cache/systemd/home/test_user
Storage: luks (strong encryption)
Image Path: /home/test_user.home
Removable: no
Shell: /usr/bin/systemd-home-fallback-shell (fallback)
LUKS Discard: online=no offline=yes
LUKS UUID: b3f1cec2-7e0f-472b-a56c-ca54fa10a0f1
Part UUID: 30b9efee-04bd-4329-b069-cce98b5a8745
FS UUID: a063e796-2fa6-4df0-9c1e-d2746ee2ab6d
File System: btrfs
LUKS Cipher: aes
Cipher Mode: xts-plain64
Volume Key: 256bit
Mount Flags: nosuid nodev exec
Disk Size: 1G
Disk Floor: 256M
Disk Ceiling: 419.2G
Auth. Limit: 30 attempts per 1min
Rebalance: off
Passwords: none
Local Sig.: yes
Service: io.systemd.Home
Self Modify: realName
emailAddress
iconName
location
shell
umask
environment
timeZone
preferredLanguage
additionalLanguages
preferredSessionLauncher
preferredSessionType
pkcs11TokenUri
fido2HmacCredential
recoveryKeyType
lastChangeUSec
lastPasswordChangeUSec
(Blobs) avatar
login-background
(Privileged) passwordHint
hashedPassword
pkcs11EncryptedKey
fido2HmacSalt
recoveryKey
sshAuthorizedKeys你可以在这里看到你的基础信息。如果说这里有什么需要注意的,我觉得仅需要注意一下 Disk Size,确定大小是你设置的即可。
登录
只需正常登录即可。
授予权限
在执行下一步操作之前,你需要给自己的账户授权。
执行这段命令 echo "<USERNAME> ALL=(ALL:ALL) ALL" >> /mnt/etc/sudoers.d/<USERNAME>。
需要注意的是,你需要更改 <USERNAME> 为你的用户名。
这将授权你的账户可以使用 sudo 来提权。
禁用 root 账户
当你可以正常登录你访问的账户后,你应该做的第一件事就是禁用 root 账户,你不应该将 root 账户作为长时间使用的账户, 这会大大增加危险面!
使用命令:sudo usermod -s /usr/bin/nologin root 来禁止 root 账户。这将禁止使用任何方式登录 root 账户。
如果你想结束禁用你可以执行:sudo usermod -s /bin/bash root。
以下所有操作都将在新用户上执行。
安装 N 卡驱动
如果你的电脑包含显卡,且是 NVIDIA 的显卡。你可能需要这个步骤。
安装
你只需要安装 nvidia-open 即可。目前 nvidia-open 的维护良好,还不错。
sudo pacman -S nvidia-open安装 Gnome
我个人是比较喜欢 Gnome,它的开箱即用和动态工作区比较吸引我,虽然我之前使用 KDE 🤦♂️。
安装
安装过程还是比较简单的,只需要输入如下命令:
sudo pacman -S gnome启动 Gnome
Gnome 通过 GDM 启动,可以通过如下命令启动
sudo systemctl start gdm.service这将通过 Systemd 启动桌面。确定可以正确启动后可以通过如下命令来让桌面开机自启。
sudo systemctl enable gdm.service配置 ZRAM
还记得之前安装系统时并没有设置 swap 交换分区。现在我们用 ZRAM 配置,这类似虚拟交换分区。
安装
我们使用如下命令安装 zram-generator
sudo pacman -S zram-generator安装后我们还需要设置配置文件,如下所示:
[zram0]
zram-size = min(ram / 2, 4096)
compression-algorithm = zstd/etc/systemd/zram-generator.conf这将生成一个最大 4G 最小为你现有内存一半大小例如你的内存4G,分区大小就是2G,如果内存是16G,那么分区就是4G。的虚拟交换分区。
其他是指你可以参考 zram-generator config
启动
因为你之前调整了 systemd 的配置,你需要使用 sudo systemctl daemon-reload 来重载配置。
使用命令 sudo systemctl enable -now systemd-zram-setup@zram0.service 来启动服务。
启动后你可通过 lsblk 命令看到 [SWAP] 虚拟分区了。
lyle@arch ~> lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 512G 0 loop
└─home-lyle 253:2 0 512G 0 crypt /home/lyle
zram0 252:0 0 4G 0 disk [SWAP]
nvme1n1 259:0 0 476.9G 0 disk
├─nvme1n1p1 259:1 0 511M 0 part /efi
└─nvme1n1p2 259:2 0 476.4G 0 part
└─linuxroot 253:0 0 476.4G 0 crypt /Timeshift
在上篇教程中我们说要使用 Timeshift 来备份系统,但是上篇文章中没有编写这部分内容。
安装
因为我们的安装流程中对 Btrfs 的配置符合 Timeshift 的要求,所以配置方式异常简单。
使用 sudo pacman -S timeshift 安装 timeshift。
启动定时任务
Timeshift 需要定时任务来处理每天备份、每月备份等任务。
使用命令 sudo systemctl enable --now croine.service 启动定时服务。
配置 Timeshift
因为已经安装了桌面环境,所以直接启动 Timeshift 按流程配置就行,基本上无脑下一步就行。
安装中文字体
简单安装 CJK 字体即可
执行命令: sudo pacman -S noto-fonts noto-fonts-cjk
你还可以安装 ttf-twemoji-color 和 ttf-bitstream-vera 来获得 emoji。
安装 Git
主要后续需要,执行命令:sudo pacman -S git
安装 Paru
Paru 是使用 Rust 编写的 AUR 帮助程序,类似 yay。
执行命令
sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si它的使用方法和 Pacman 差不多,例如 paru -S、paru -Rs,安装、卸载等操作。
danger
绝对不要使用 sudo 来启动 paru!
安装 1Password
我的大多数密码都用 1Password 管理,所以必须安装。
根据 1Password 文档 操作即可。
安装 Fcitx5 输入法
我选择使用雾凇拼音。
安装
安装 paru -S fcitx5 fcitx5-rime fcitx5-configtool fcitx5-qt fcitx5-gtk,这将安装基础框架。
然后我们安装雾凇拼音,执行命令:paru -S rime-ice-git。
然后在终端中执行命令 fcitx5-configtool,然后在右侧找到 rime 调整到左侧。然后选择方案即可。
你可以参考这篇文章。
Gnome Extensions
我们可以安装Input Method Panel来统一输入法面板。
Rog 控制器
如果你使用 Rog 的电脑,你可以安装控制器来控制你的电脑,包括电源管理、风扇管理等功能。
你可以访问 Rog Linux 来操作。
启动蓝牙
你只需要执行命令:sudo systemctl enable --now bluetooth.service。
防火墙
防火墙是必要的!我们使用 Firewalld 来处理。
执行 paru -S firewalld 安装防火墙。执行 sudo systemctl enable --now firewalld.service。
总结
这篇文章我们完成基本的系统安装,现在你可以尽情地遨游在 Linux 的海洋中了!