起因:

昨天决定放一天假,想到的娱乐方式是尝试一下Archlinux,一个因难以安装和易于使用而出名的系统。我想以我多年装系统的经验,再加上用了一年多Linux,应该问题不大,结果还是在google和youtube和官方文档的帮助下搞了七八个小时。不过用起来体验确实非常爽,自由度极大,而且一劳永逸。

准备工作:

首先去arch官网下载最近的iso文件并刻录成usb启动盘并用它来启动系统。与ubuntu类似,采用一个live系统来引导,不同之处在于需要自己配置的地方很多,过程较长,如果在安装结束前重启,可能会发现新系统缺少必要组件而不得不重新用live系统重新引导。但是这种强大的配置功能也使得修复系统很轻松。

wifi-menu   // 连接无线。有线连接可跳过此步。
ip add         // 确认网络连接。
ping www.google.com
vim /etc/pacman.d/mirrorlist    // 修改软件仓库源。
pacman -Syyy           // 源连接速度测试。

硬盘分区:

现在的新机器一般都可以采用efi + gpt的分区方式。拟分区情况如下:

/boot   500M             efi
/       120G              ext4
/home   其余所有空间        ext4

分区命令:

lsblk   //查看当前分区状况
fdisk /dev/<sda...>     // 进入分区菜单。
(fdisk command) g       // 建立gpt分区表。
(fdisk command) n       // 建立新分区,启示扇区可用默认值,结束扇区可输入 +xxG。
(fdisk command) t       // 修改磁盘类型,efi分区值为1,其余可按L查询。
...                     // 建立其他分区。
(fdisk command) w       // 执行上述任务并退出。

磁盘格式化:

mkfs.fat -F32 /dev/sda1     // 将efi分区格式化为fat32。
mkfs.ext4 /dev/sda2         // 其余分区使用ext4。
...

加载磁盘(boot分区先不加载):

mount /dev/sda2 /mnt        // 将根目录磁盘 (注意磁盘编号!)。
mkdir /mnt/home             // 创建home目录。
mount /dev/sda3 /mnt/home   // 加载home目录。
mount

生成fstab文件:

mkdir /mnt/etc
genfstab -U -p /mnt >> /mnt/etc/fstab   // 按当前磁盘装载情况生成配置文件。
cat /mnt/etc/fstab      // 检查配置文件。

硬盘分区及加载结束。

新世界

pacstrap -i /mnt base      // 加载基础包。
arch-chroot /mnt    // 切换根目录到新系统。

注意此时新系统一无所有,所需工具都要安装(现在所用的命令都是由live系统提供的),以下仅提及必要软件:

pacman -S linux linux-headers linux-firmware    // 安装kernel和常见驱动,可选多个kernel。
pacman -S base-devel    // 包含很多基础开发包,包括gcc, sudo, which, pacman等。
pacman -S networkmanager wpa_supplicant wireless_tools netctl // 网络工具。
pacman -S dialog vim       // 对话框和文本编辑工具。
systemctl enable NetworkManager // 启动NetworkManager服务。
mkinitcpio -p linux     // 创建初始环境。

编码设置,修改编码文件,启用en_US.utf8, zh_CN.utf8, zh_CN.GB2312, zh_TW.utf8:

vim /etc/locale.gen     // 如上所述修改编码配置。
locale-gen      // 生成编码。

用户设置:

passwd      // 修改root用户密码。
useradd -m -g users -G wheel <your_name>    // 建立新用户并加入到wheel用户组。
password <your_name>        // 设置新用户密码。
visudo      // 修改sudo控制文件,启用 '%wheel All=(ALL) ALL'。

启动配置:

pacman -S grub efibootmgr dosfstools os-prober mtools   // 安装启动所需工具。
mkdir /boot/EFI
mount /dev/sda1 /boot/EFI       // 装载启动分区到 /boot/EFI 目录。
grub-install --target=x86_64-efi --bootloader-id=GRUB --recheck // 安装GRUB。
mkdir /boot/grub/locale
cp /usr/share/local/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo // 设置翻译文件。
grub-mkconfig -o /boot/grub/grub.cfg    // 生成grub配置。

系统安装结束。现在可以重启了。

图形界面

我用的是xfce4,装好重启即可:

pacman -S xorg-server xorg-xinit    // 安装图形驱动。
pacman -S xfce4     // 安装xfce。

如果xfce4的音量键有bug,可以安装一个volumeicon软件,并设置为自动启动(settings-sessions and startup)。

USB加载:

插入usb盘可以被系统识别,但是thunar不会自动加载,所以还需要一些额外工作。

pacman -S gvfs thunar-volman // xfce的thunar需要此依赖来进行高级功能。
pacman -S ntfs-3g   // 安装NTFS驱动。
pacman -S udiskie   // 大存储移动硬盘装载。

并且要在设置里打开removable storage的相关选项。可以用udiskie -a来加载外置硬盘,也可以把此命令放到启动项里。

快捷键

设置位置:setting-keyboard。以下是我目前的快捷键配置。

cmd + g: google-chrome-stable   // 启动chrome。
cmd + f: thunar         // 启动文件管理器。
cmd + t: xfce-terminal      // 启动终端。
ctrl + shift + p: xfce4-screenshooter -r // 截取屏幕区域。

如需要设置音量快捷键,需要先安装alsa-utils,然后设置:

<your_key>: amixer set Master 5%+
<your_key>: amixer set Master 5%-

中文及字体

中文输入法可以安装fcitx,然后在设置用添加pinyin,重新登录即可。

字体比较推荐文泉驿微软雅黑(用pacman安装wqy-microhei)和苹果的menlo(在AUR仓库,名为ttf-meslo)。

VS Code的字体可以设置为 Meslo LG M

terminal可能在其余设置都没有问题的情况下仍然显示中文为乱码,可以新建一个快捷键来解决:

<your_key>: env LANG=zh_CN.utf xfce4-terminal

字体补充

我从未想过字体渲染如此复杂。最大的影响因素是显示器的dpi,其次是字体和渲染引擎。参考Michael Yang的博客,目前linux上比较好的解决方案是安装Noto(思源)字体:

sudo pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji

下载fonts.conf并放到 ~/.config/fontconfg 目录下,然后刷新字体缓存:

fc-cache --force --verbose
fc-cache-32 --force --verbose

再按自己需要设置dpi和各应用字体。目前我的chrome字体设置分别是Noto Serif CJK SC, Noto Serif CJK SC, Noto Sans CJK SC, Noto Sans Mono CJK SC。文驿泉雅黑在terminal的显示还不错。

其他工具

AUR 是arch的一大利器。先用git克隆用户仓库,然后进入此仓库执行makepkg -sic。此方法可以让pacman更新此软件。

PDF 阅读可以安装 zathurazathura-pdf-poppler

KVM 需要安装 qemuvirsh(?)和 virt-manager,并执行virt-manager启动。

参考:

Installation guide, https://wiki.archlinux.org/index.php/installation_guide

Arch Linux Full Installation Walkthrough, https://www.youtube.com/a00wbjy2vns

Archlinux 安装指南, https://www.cnblogs.com/klb561/p/9038386.html

如何在windows上享受更棒的字体渲染, https://sspai.com/post/52557

Linux下终极字体解决方案, https://https://ohmyarch.github.io/