Arch Linux 使用日记(二)

开启 Multilib 与添加 archlinuxcn 仓库


开启 Multilib

Arch Linux 有些软件是 32 位的,我们需要开启 multilib 才可以安装(可以现在开启,也可以等需要32位软件时再开启)。

开启 multilib 需要编辑 /etc/pacman.conf 文件:

sudo vim /etc/pacman.conf

去掉以下两行的注释即可:

[multilib]
Include = /etc/pacman.d/mirrorlist

启用multilib

然后执行更新系统(现在也可以不用着急更新,因为不会立即使用开启的 multilib,而下一步之后恰也需要更新系统):

sudo pacman -Syu

💡 小知识:使用 sudo 输入密码后的一段时间(约 10 分钟)内再次使用 sudo 命令时无需输入密码。

添加 archlinuxcn 仓库

接下来再为 Arch Linux 系统增加一个非官方、但由社区驱动的第三方软件仓库 [archlinuxcn] 仓库。它的核心价值在于极大地丰富了可直接安装的软件范围,并且对中文用户特别友好。

为什么要使用 archlinuxcn 仓库?

来自官网的答案

Q: 既然有 AUR,我为什么会想要使用 [archlinuxcn] 仓库?

A: [archlinuxcn] 仓库提供许多额外的、已经打包好的软件。相比于 AUR,您不必在本地从世界各个地方下载软件源码然后花费时间编译。您直接安装已经编译好的软件包。如果您是中国大陆用户,您可以利用我们位于中国大陆境内的多个镜像源,来快速下载到软件,而不必处理访问国际网络可能会遇到的问题。

配置步骤

再次编辑 /etc/pacman.conf 文件:

sudo vim /etc/pacman.conf

在文件末尾添加以下几行:

[archlinuxcn]
# 中国科学技术大学开源镜像站
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch

使用[archlinuxcn]仓库

安装密钥包

更新数据库并安装 archlinuxcn-keyring

sudo pacman -Sy archlinuxcn-keyring

⚠️ 如果不加参数 y 而直接使用 sudo pacman -S archlinuxcn-keyring 可能会有如图“cn仓库不存在.png”提示,这是因为 [archlinuxcn] 仓库刚刚被添加,此时还未生效,使用 -Sy 刷新数据库使之生效。

关于密钥信任的说明

有些教程提示尝试安装 archlinuxcn-keyring 包时可能遇到类似如下的报错:

error: archlinuxcn-keyring: Signature from "Jiachen YANG (Arch Linux Packager Signing Key)  <farseerfc@archlinux.org>" is marginal trust

作者并没有遇到,可能是赶上了好时候,社区维护者已经优化了密钥的信任链。

彻底更新系统

sudo pacman -Syyu

📑 参数中出现两个 y 的说明:

  • 根据官网:“Passing two --refresh or -y flags will force a refresh of all package databases, even if they appear to be up-to-date.”

  • 根据华中科技大学镜像站:“其中,yy 能避免从损坏的镜像切换到正常的镜像时出现的问题。”

安装 yay

💡 (这一步是后来回顾笔记时添加的,确实应该在这里进行这一步,这里的操作是对的,但实际上我误放在了后面操作,特此标记)

Yay 是一个适用于 Arch Linux 的命令行工具,主要用于从 Arch User Repository (AUR) 构建和安装软件包。它不仅可以执行 pacman 的大部分功能,还提供了许多额外的功能,使得管理 AUR 软件包更加高效。

与 yay 类似的另一个工具是 paru , yay 是用 Go 语言编写的,paru 是用 Rust 语言编写的。多年来,Yay一直是行业领先品牌之一: 它广为人知,有据可查,并且拥有庞大的社群。 Paru 默认出现在 EndeavourOS 等发行版中。而 Paru 虽然出现时间较晚,但由于它为 AUR 工作流程提供了一种更为严格和安全的方法,并且其作者曾参与过 yay 的开发,因此获得了相当大的关注(引用自这个网站)。

安装 yay:

sudo pacman -S yay

📌 已经添加了 [archlinuxcn] 仓库,所以可以直接执行 sudo pacman -S yay 来安装 yay,否则没有添加 [archlinuxcn] 仓库的话就需要按照官网的操作步骤来安装。

yay 命令可以让用户安装 AUR 中的软件,yay 的命令与 pacman 基本一致,例如 yay -S 对应 pacman -S,但 yay 能同时处理官方仓库和 AUR。

yay 的一个特殊命令为:

yay   # 这条命令为升级系统,相当于 yay -Syu,升级所有包(含 AUR)

延伸阅读:软件包管理

进一步理解 Linux 的“软件包管理”(参考网站:openSUSE 软件包管理)。

  • “包”是什么? 软件包是包含构成软件的所有文件的文件档案(例如应用程序本身、共享库、包含构建软件所需的文件的开发包等),最终还包括使它们运行的说明。
  • 软件包就是软件(应用程序)吗? 对于新手来说可以这么理解,但其实如上所述,软件包不只包含应用程序本身。