0x00 为什么要装Arch Linux,我寻思都差不多呢?

好问题,我也很难回答完美,毕竟发行版再多,基本都是Linux内核 + GNU coreutils + 发行版自己喜欢的软件包组合。如果你觉得差不多,那是因为对你来说其实真的都差不多!

但是Arch Linux在软件包组合这部分确实有一些特色,比如软件包种类极为丰富的AUR(Arch User Repository),基本可以让你告别手动下载bin包+PATH,或者不得不手动编译的情景,因为热心的Arch Linux用户已经帮你写好了对应的PKGBUILD,你只需要yay -S <想要的软件包>,就可以享受pacman -Syu+yay -Syu一键升级所有软件包的快乐(只要对应的AUR源维护者还在更新你用的包)。

除此之外,Arch Linux官方软件仓库也是较为包容的,不像部分发行版的软件源维护者对开源有精神洁癖,你只需要pacman -S nvidia cuda cudnn就可以安装最新英伟达闭源驱动,轻松开始你的炼丹第一步。

0x01 开装

Arch Linux的自由从安装的第一步开始,假设你已经成功引导了Arch Linux的安装镜像,进入了archiso,你需要做的只是运行archinstall,这会启动一套类似于其它发行版的安装指引,并为你自动安装Arch Linux到磁盘,一点也不复杂。

0x0101 推荐选项

Archinstall language -> Archinstall界面语言

请保持默认的English,因为目前为你显示终端画面的fbdev并不支持显示中文。

Mirrors -> 镜像源区域

建议选择China,archinstall会自动为你配置包含中国大陆境内几乎所有可用的镜像源。

Disk configuration -> 磁盘配置

在这里配置你想将Arch Linux安装到哪块磁盘,注意archinstall并不会为你智能创建单硬盘双系统的配置,如果你不知道如何手动分区,可以先学习parted的使用方法,这里假设你要为一块单独的硬盘安装Arch Linux:

  1. 首先选择你要安装的磁盘,可以根据名称分辨,如果实在分不出来你可以把不想装系统的盘拔了再进archiso
  2. 选择分区方式,如果你不喜欢手动分区,请在这里选择best-effort default partition layout,这会为你自动创建合理的文件布局。
  3. 选择你要使用的文件系统,这里我们建议使用btrfs,作为单系统盘的文件系统,它还是比较稳定的,而且可以享受很多高级特性,之后的选项直接选default就可以。
  4. 如果你一定要选其它文件系统,则有一点需要注意:如果被提示是否选择为/home创建单独的分区,建议选否,因为自动分区会仅给/留下不到20G的可用空间,而且后期重新调整分区布局也会比较麻烦。

bootloader -> 引导程序

建议选择grub,因为如果出问题的话文档比较多,而且为英伟达闭源驱动启用高分辨率framebuffer必须使用grubrEFInd

Root Password / User Account -> Root密码/用户账户

推荐只配置User Account,因为不为root账户配置密码更为安全,选择User Account后,按提示输入用户名密码即可。

Profile -> 配置方案

选择Desktop类型,桌面环境建议选择Kde。对于英伟达显卡,如无明确需求,则选择proprietary驱动。

Audio -> 音频驱动

听说PipewirePulseaudio更稳定更先进,你看着选吧。

Additional Packages -> 额外软件包

如果你想在重启后拥有开箱即用的体验,那么这里需要多写一点点东西,我的推荐软件包列表如下:

firefox os-prober ttf-sarasa-gothic fcitx5-im noto-fonts-emoji

Network configuration -> 网络配置

推荐选择Network Manager,因为可以直接和KDE的设置界面集成。

Timezone -> 时区

显然选择Asia/Shanghai,你可以输入/Shanghai快速搜索到时区。

0x0102 重启之前

在安装流程完成后,archinstall会问你需不需要进入chroot环境对系统进行配置,我的建议是进入,毕竟后面这些工作你迟早都要做。

配置英伟达驱动内核参数

  1. 编辑/etc/default/grub文件,找到GRUB_CMDLINE_LINUX_DEFAULT,看到类似"loglevel=3 quiet"的值,在后面添加参数,修改为类似"loglevel=3 quiet nvidia-drm.modeset=1"
  2. 运行sudo grub-mkconfig -o /boot/grub/grub.cfg,生成新的grub配置,这句命令等同sudo update-grub,但是Arch Linux默认不带这个命令。

如果不添加该项,则可能默认使用Zink驱动,并有可能因此导致登录进入桌面后黑屏。

启用os-prober

如果你要双盘双系统,那么使用grub搭配os-prober自动发现系统是一个好的选择。

  1. 编辑/etc/default/grub文件,找到GRUB_DISABLE_OS_PROBER,取消前面的注释,设置为GRUB_DISABLE_OS_PROBER=false,以启用os-prober

由于在chroot环境下os-prober无法正常工作,建议在重启进入系统后再次运行sudo grub-mkconfig -o /boot/grub/grub.cfg生成配置。

恢复系统emoji显示

转载自 https://www.cnblogs.com/apocelipes/p/16220257.html

为了让系统正常显示emoji,我们需要

  1. 编辑/etc/fonts/local.conf文件,写入:
<?xml version="1.0"?>

<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

<fontconfig>
  <alias>
    <family>sans-serif</family>
      <prefer>
        <family>Sarasa Gothic SC</family>
        <family>Noto Sans</family>
        <family>Noto Color Emoji</family>
        <family>Noto Emoji</family>
        <family>DejaVu Sans</family>
      </prefer> 
  </alias>

  <alias>
    <family>serif</family>
      <prefer>
        <family>Sarasa Term Slab SC</family>
        <family>Noto Serif</family>
        <family>Noto Color Emoji</family>
        <family>Noto Emoji</family>
        <family>DejaVu Serif</family>
      </prefer> 
  </alias>

  <alias>
    <family>monospace</family>
      <prefer>
        <family>Sarasa Mono SC</family>
        <family>Noto Mono</family>
        <family>Noto Color Emoji</family>
        <family>Noto Emoji</family>
        <family>DejaVu Sans Mono</family>
      </prefer> 
  </alias>

<!-- Simplified Chinese -->
<match target="pattern">
  <test name="lang" compare="contains">
    <string>zh-cn</string> <!-- Simplified Chinese -->
  </test>
  <edit name="family" mode="prepend" binding="strong">
    <string>Sarasa Gothic SC</string>
  </edit>
</match>

<!-- Traditional Chinese -->
<match target="pattern">
  <test name="lang" compare="contains">
    <string>zh-tw</string> <!-- Traditional Chinese -->
  </test>
  <edit name="family" mode="prepend" binding="strong">
    <string>Sarasa Gothic TC</string>
  </edit>
</match>

</fontconfig>
  1. 运行fc-cache -fv刷新字体缓存。

这么长的配置确实比较难手写,你可以进入桌面之后再回来配置这段,我为你准备了一个跳转到原文的短链接,方便你在计算机浏览器内打开: https://go.maxng.cc/archfont

安装yay

我们前面吹了很多AUR的好处,但是你得有办法用AUR软件源的东西才行,我推荐使用yay安装AUR包。

官方仓库链接: https://github.com/Jguer/yay

简单来说,只需要运行:

pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay-bin.git && cd yay-bin && makepkg -si

需要注意的是,使用yay命令时不需要也不建议带sudo

0x02 重启 && 用

在配置完成后,你可以按Ctrl+D退出chroot环境,并运行reboot重启系统了。

如果你遇到了任何问题,我也不知道怎么解决,但我推荐你阅读所有Linux发行版Wiki里最完善的中文Wiki: https://wiki.archlinuxcn.org/wiki/ ,以及活跃的用户社区: https://bbs.archlinuxcn.org/

0x03 常见问题排障经验

SDDM登录界面太丑了

尝试在系统设置 -> 开机与关机 -> 登录屏幕(SDDM) 中选择新的主题

在Wayland下,浏览器与Jetbrains系列产品等应用闪屏/输入框卡顿

尝试创建 ~/.config/environment.d/envvars.conf文件,写入XWAYLAND_NO_GLAMOR=1,重启