前言
此篇文档并不是完整的archlinux安装教程,完整的安装教程请参考官方wiki的安装指南或其他的简明安装

Arch系统安装

删除EFI分区

efi分区卷不像其他分区一样容易删除,所有得独立进行删除操作。
若磁盘有已存在两个EFI分区(如果以前安装过arch的话),那么,这两个分区分别是Windows的efi分区Archlinux的efi分区,
那么我们需要删掉archlinux的efi分区

操作步骤

  1. 进入windos系统,按window + x快捷键,选择磁盘管理,查看archlinux的efi分区所在磁盘
  2. 左下角搜索cmd,以管理员模式进入命令操作界面,输入diskpart命令
  3. 输入list disk 命令,可以看到出现两个磁盘
  4. 根据磁盘的编号选择efi对应的磁盘(0或1),使用sel disk 0可选中磁盘
  5. 输入list partition查看该磁盘下的分区信息
  6. 选择efi分区,注意:往往类型为系统,便是efi所在的分区,输入sel partition 3选中对应的分区
  7. 最后输入以下命令
    1
    SET ID=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
  8. 返回磁盘管理,这时,可以删除efi的分区卷了

安装细节

双EFI引导(双系统)

由于一台服务器上,有两个磁盘或多个磁盘,在安装linux系统的同时,也想保留Windows系统,在启动界面的引导时也可以引导Windows,那么就需要将window的efi分区添加到linux引导分区中。

步骤
  1. 首先查看ESP分区的UUID(即Windows的efi分区如:/dev/sdb2 : UUID=2C90-34B3)

    1
    blkid /dev/sdx  //x为你的磁盘编号,查看efi所在的的磁盘
  2. 使用root用户登录arch系统,或su root,输入root密码即可,通过以下命令编辑Grub配置文件

    1
    vim /boot/grub/grub.cfg

配置非root账户的默认编辑器

  1. 使用vim编辑~/.bashrc文件

  2. 在适当位置加入以下内容

    1. export EDITOR='vim'

      提示:
      也可以添加到~/.bash_profile文件中

  3. 追加以下内容

1
2
3
4
5
6
7
8
menuentry 'Microsoft Windows 10' {
insmod part_gpt
insmod fat //一般填fat,不要填vfat
insmod chain
search --fs-uuid --no-floppy --set=root xxxx-xxxx // 这里填上ESP分区的UUID
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

镜像源配置

镜像源配置文件路径:/etc/pacman.d/mirrorlist

官方镜像

可以通过软件包 pacman-mirrorlist包 获取官方镜像列表。若要想获得更新的镜像列表,请访问 Pacman Mirrorlist Generator 页面。
访问镜像状态页面来检查镜像的状态。这里推荐使用最新的镜像,或者说是已同步的镜像。
如果想要将自己的镜像添加到官方列表中,参见 arch:DeveloperWiki:NewMirrors。同时,请将其添加至非官方镜像页面。

按速度排序

排序已存在的镜像列表
软件包 pacman-contrib包 提供了一个 Bash 脚本,/usr/bin/rankmirrors 可以根据镜像建立连接的速度对其进行排序,来使用最快的本地镜像。

  • 首先,备份已存在的 /etc/pacman.d/mirrorlist:
    cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
    接下来准备 /etc/pacman.d/mirrorlist.backup 以使用 rankmirrors 进行排序,可执行以下操作:

  • 编辑 /etc/pacman.d/mirrorlist.backup ,将准备测速的镜像取消注释。

  • 如果文件中的服务器已按照国家或地区分组,则可通过以下命令提取特定国家或地区的所有服务器

1
2
3
$ awk '/^## 国家名称$/{f=1; 
next}f==0{next}/^$/{exit}{print substr($0,
1);}' /etc/pacman.d/mirrorlist.backup
  • 若要取消所有的注释,可执行以下 sed 命令:
    sed -i 's/^#Server/Server/' /etc/pacman.d/mirrorlist.backup
  • 最后,对镜像进行排序,这里使用 -n 6 参数来实现只获取 6 个最快的镜像:
    rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist

安装输入法

如有需要可以参阅 Fcitx5 官方文档

  1. 通过以下命令安装相关软件包:
1
2
3
4
5
sudo pacman -S fcitx5-im # 输入法基础包组
sudo pacman -S fcitx5-chinese-addons # 官方中文输入引擎
sudo pacman -S fcitx5-anthy # 日文输入引擎
sudo pacman -S fcitx5-pinyin-moegirl # 萌娘百科词库。二刺猿必备(archlinuxcn)
sudo pacman -S fcitx5-material-color # 输入法主题
  1. 此外,我们还需要设置环境变量。通过 vim 创建并编辑文件 ~/.config/environment.d/im.conf

    1
    vim ~/.config/environment.d/im.conf
  2. 在文件中加入以下内容并保存退出:

1
2
3
4
5
6
# fix fcitx problem
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus

软件程序

NetworkManager

  • 查看WiFi列表
1
nmcli device wifi list
  • 连接wifi
1
nmcli device wifi connect 无线网名 passwrod 密码

Pacman

pacman 是 Arch Linux 及其衍生发行版中使用的软件包管理工具。它允许用户安装、升级、删除和查询软件包。以下是一些常用的 pacman 命令及其功能:

  1. 安装软件包
  • pacman -S 软件包名:安装指定的软件包。
  • pacman -Sy 软件包名:与软件源同步后安装指定的软件包。
    pacman -Ss 关键词:搜索包含指定关键词的软件包。
  1. 升级软件包
  • pacman -Syu:同步软件源并升级所有已安装的软件包。
  • pacman -Sy:仅同步软件源。
  • pacman -Su:升级所有已安装的软件包。
  1. 删除软件包
  • pacman -R 软件包名:删除指定的软件包,但保留其配置文件和依赖。
  • pacman -Rs 软件包名:删除指定的软件包及其不再需要的依赖。
  • pacman -Rsc 软件包名:删除指定的软件包及其所有依赖,包括配置文件。
  1. 查询软件包信息
  • pacman -Q 软件包名:查询已安装的软件包信息。
  • pacman -Qi 软件包名:查询已安装软件包的详细信息。
  • pacman -Ql 软件包名:列出已安装软件包包含的文件。
  • pacman -Qs 关键词:搜索已安装的软件包中包含指定关键词的软件包。
  1. 软件源管理
  • pacman -Sy:与软件源同步,更新软件包数据库。
  • pacman -Syy:强制与软件源同步,即使已经是最新的。
  • pacman -Syyu:强制与软件源同步并升级所有软件包。
  1. 清理
  • pacman -Sc:清理未被任何软件包使用的旧包缓存。
  • pacman -Scc:清理所有包缓存,只保留当前安装的包。
  1. 其他
  • pacman -V:显示 pacman 的版本信息。
  • pacman -Qe:列出所有明确安装的软件包。
  • pacman -Qd:列出所有依赖的软件包。
  • pacman -Qdt:列出所有不再被其他软件包依赖的软件包。

注意:
这些命令可以帮助你管理 Arch Linux 系统上的软件包。在使用这些命令时,请确保你有足够的权限(通常需要 root 权限),并且谨慎操作,以免意外删除重要软件包或文件。

桌面环境安装

KDE Plasma桌面环境

此处只简明描述,细节请参考arch官网wiki,特别是显卡驱动的安装

提示:
指南中带有aur的右上角标软件表示在AUR(Arch User Repository)中用户自行打包的软件,不在arch官方的支持范围之内,可能会出现各种问题以及不及时的更新、无法安装、使用出错等。

指南中带有cn的角标软件表示在archlinux(archlinux 中文社区仓库)中用户自行打包的软件。不在arch官方支持范围内,可能会出现各种问题以及不及时的更新、无法安装、使用出错等。

文件&用户指南

sudoers

/etc/sudoers是 Arch Linux 系统中的一个配置文件,它定义了哪些用户和组可以使用 sudo 命令,以及在何种条件下可以执行哪些命令。sudo 是一个允许非root用户以 root 用户权限执行命令的工具,但为了安全起见,它需要严格的权限控制。
以下是一些关于 /etc/sudoers 文件的基本操作和注意事项:

  • 查看 sudoers 文件内容
    sudo visudo Copy
    这将打开 visudo 命令,这是一个文本编辑器(默认是 Vim),用于编辑 sudoers 文件。在编辑之前,系统会让你确认是否要保存更改。

  • 添加新用户权限
    在 sudoers 文件的末尾添加行,例如:
    username ALL=(ALL) ALL Copy
    其中 username 是要添加权限的用户,ALL=(ALL) ALL 表示这个用户可以执行所有权限的命令。

  • 添加特定命令权限
    如果只想让某个用户执行特定命令,可以这样写:
    username ALL = (command) NOPASSWD: /path/to/command Copy NOPASSWD 表示用户不需要密码就能执行命令。

  • 编辑组权限
    对于组权限,可以使用 GROUP:
    %groupname ALL = (command) ... Copy
    保存并退出编辑器: 在 visudo 中,添加完权限后,通常会提示你保存更改。输入 :wq(保存并退出)或者 :q!(强制退出)。

  • 验证并更新 sudoers
    保存更改后,使用 sudo 会提示你确认是否要更新 sudoers 文件,输入 y 并回车即可。

  • 安全注意事项:
    不要直接编辑 /etc/sudoers 文件,因为直接编辑可能会导致语法错误,导致 sudo 不起作用或者权限丢失。
    如果不确定如何编辑,可以使用 visudo 的 -h 选项查看帮助信息。
    在编辑时,系统会自动检查语法,但依然建议定期检查 sudoers 文件的完整性和安全性。
    备份 sudoers: 在编辑之前,可以先备份原始文件:

问题&解决

安装签名报错

持行pacman -S archlinuxcn-keyring 报错

error: archlinuxcn-keyring: signature from “Jiachen YANG (Arch Linux sugbubg Key) farseerfc@archlinux.org“ is marginal trust

原因
若安装 archlinuxcn-keyring 时报错,是由于密钥环的问题。可先按照 archlinuxcn 官方说明 执行其中的命令,再安装 archlinuxcn-keyring。或者执行以下命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
由于升级到了 gnupg-2.1,pacman 上游更新了密钥环的格式,
这使得本地的主密钥无法签署其它密钥。这不会出问题,除非你想自定义 pacman 密钥环。
不过,我们推荐所有用户都生成一个新的密钥环以解决潜在问题。

此外,我们建议您安装 haveged,这是一个用来生成系统熵值的守护进程,
它能加快加密软件(如 gnupg,包括生成新的密钥环)关键操作的速度。

要完成这些操作,请以 root 权限运行:

pacman -Syu haveged
systemctl start haveged
systemctl enable haveged

rm -fr /etc/pacman.d/gnupg
pacman-key --init
pacman-key --populate archlinux
pacman-key --populate archlinuxcn

archlinuxcn 社区源的 keyring 包 archlinuxcn-keyring 由 farseerfc 的 key 签署验证,而 Arch Linux 官方 keyring 中包含了 farseerfc 的 key 。
自 12 月初 archlinux-keyring 中删除了一个退任的 master key 导致 farseerfc 的 key 的信任数不足,由 GnuPG 的 web of trust 推算为 marginal trust,从而不再能自动信任 archlinuxcn-keyring 包的签名。

  • 如果你在新系统中尝试安装 archlinuxcn-keyring 包时遇到如下报错:
1
error: archlinuxcn-keyring: Signature from "Jiachen YANG (Arch Linux Packager Signing Key) <[email protected]>" is marginal trust
  • 请使用以下命令在本地信任 farseerfc 的 key 。此 key 已随 archlinux-keyring 安装在系统中,只是缺乏信任:
1
sudo pacman-key --lsign-key "[email protected]"

之后继续安装 archlinuxcn-keyring : sudo pacman -S archlinuxcn-keyring
https://www.archlinuxcn.org/archlinuxcn-keyring-manually-trust-farseerfc-key/