如何使用 Yaourt 轻松下载 Arch Linux 社区包如何使用 Yaourt 轻松下载 Arch Linux 社区包如何使用 Yaourt 轻松下载 Arch Linux 社区包如何使用 Yaourt 轻松下载 Arch Linux 社区包
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何使用 Yaourt 轻松下载 Arch Linux 社区包

介绍

令 Arch Linux 新手望而却步的是缺少可使用其标准包管理器 pacman 下载的官方包。在本文中,我希望解释为什么 Arch 选择以这种方式工作,以及您如何轻松获取其中的几乎所有包。

词汇表:

  • PKGBUILD:用于制作 Arch 包的构建脚本
  • makepkg:读取 PKGBUILD 并生成 Arch 包的工具
  • AUR:Arch 用户存储库,社区 PKGBUILD 的集合
  • pacman:Arch Linux 的标准包管理工具
  • yaourt:获取和构建 AUR 包的工具

哲学

在创建一个新的 Arch Linux droplet 之后,您可以使用 pacman 访问三个标准存储库:

  • 核心
  • 额外的
  • 社区

核心和额外的存储库由当权者维护。社区由 Arch 用户维护,但它可能不是您所期望的。 Arch 维护者对什么成为标准包非常严格。除了达到投票门槛之外,官方社区包还必须被 Arch 称为“可信用户”的人采用。维护者看不到一个包可以通过第一方包管理器访问的原因,除非它很可能在第一方级别进行维护。这与尝试维护尽可能多的包相反,许多其他发行版已经尝试(并且经常失败)去做。截至撰写本文时,只有 36 个受信任的用户和 2000 多个社区包。

然而,与大多数其他发行版不同的是,Arch Linux 还保留了一个额外的社区存储库,用户可以在其中快速随意地玩游戏。这是 Arch 用户存储库。 AUR 是透明的,仅由集体主持,因此它鼓励有机增长。在撰写本文时,AUR 中有 44,000 多个包。这与 10,000 多个标准包形成对比。

AUR 包不是源码包或二进制包。相反,它们是用于获取、构建(如果需要)和安装软件的说明 (PKGBUILD)。这种接近包管理的方法是从 FreeBSD Ports 借用的。在源二进制范围内,PKGBUILD 可以使用从 git 存储库到 .deb 包的任何东西作为源。此外,与某些存储库不同,没有许可限制。

Arch Linux 是一个滚动发布的发行版,所以您从 AUR 或标准存储库下载的任何软件包都将是为 Arch 制作的最新软件包,即使您使用的是该发行版的旧版本。由于任何给定软件包只有一个可下载版本,因此软件包更容易修复,

总结:Arch Linux 与主流 Linux

架构Linux:

主流 Linux:

Ubuntu 有一个类似于 AUR 的存储库,称为 universe。从 9.04 (Jaunty) 开始,Universe 存储库默认启用。从正确的角度来看,Ubuntu 中的情况类似于让 Arch 用户使用开箱即用的 pacman 访问几个不同的 AUR,不允许闭源项目,并且不提供即时社区反馈的方式。

这是 AUR 中的 nodejs git 包

这是 Ubuntu 的 Universe 存储库中的一个 nodejs 开发包

除了缺少关于软件包的对话之外,请注意 Ubuntu 软件包页面侧面出现的单词:

\“用户通常不需要联系原始维护者。”

法语酸奶

不幸的是,尽管 AUR 中有许多出色且维护良好的软件包,但在全新安装 Arch 后无法轻松访问它们。然而,ArchWiki 上有许多 yaourt 的页面。

Yaourt 将安装 AUR 包的繁琐过程简化为关键字搜索和一系列是或否的问题。它也是 pacman 的有效替代品,因为它可以搜索并安装 AUR 和标准包。

下载鸡蛋,孵化小鸡

Yaourt 可以通过几种方式获得:

  1. 将 archlinuxfr 存储库添加到 /etc/pacman.conf
  2. 从 AUR 构建 yaourt 包

我将介绍这两种选择,但第一种要简单得多。如果你想知道从 AUR 下载和构建包通常是如何工作的,请跳到

方法 1:通过自定义存储库安装

打开 pacman 的配置文件以添加自定义存储库。

sudo vi /etc/pacman.conf

将 archlinuxfr 存储库添加到底部。

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

$arch 变量只保存您的发行版是 x86 还是 x86_64。处理文件时它将被替换。

将自定义存储库添加到 pacman.conf 后,需要同步包数据库以包含来自 archlinuxfr 的包以及来自 yaourt 或其依赖项所需的标准包的任何更新。

sudo pacman -Sy

现在,yaourt 及其依赖项可以像任何其他包一样通过 pacman 安装。

sudo pacman -S yaourt

或者,您可以在一行中同时执行这两项操作。

sudo pacman -Sy yaourt

方法二:通过AUR安装

虽然不适合胆小的人,但在没有像 yaourt 这样的辅助工具的情况下,这种方法实际上是您通常从 AUR 下载、构建和安装任何包的方法。

一般过程是这样的:

  1. 下载包含 PKGBUILD 的压缩包
  2. 展开压缩包
  3. 在包含 PKGBUILD 的文件夹中运行 makepkg
  4. 安装生成的 .xz 文件

首先,yaourt 需要 package-query 包才能工作。

确保标准存储库是最新的,可以满足 package-query 或 yaourt 可能需要的任何东西。

sudo pacman -Sy

从 AUR 中拉取文件。

curl -O https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz

展开文件以访问 PKGBULD。

tar zxvf package-query.tar.gz

输入包含 PKGBUILD 的文件夹。

cd package-query

制作包裹。 -s 标志在尝试构建包之前将包的标准存储库依赖项(如果有的话)与 pacman 同步。

makepkg -s

备选方案:如果您没有设置用户,请添加 --asroot 以强制 makepkg 以 root 身份运行。在正常情况下你不应该构建包

makepkg -s --asroot

安装由 makepkg 生成的 .xz 文件。作为快捷方式,您可以使用 -i 运行 makepkg(即 makepkg -si 而不是 makepkg -s)以包括此步骤。

sudo pacman -U *.xz

接下来,对 yaourt tarball 执行相同的操作。

curl -O https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
tar zxvf yaourt.tar.gz
cd yaourt
makepkg -si

注意:即使 package-query 是 yaourt 的依赖项,给 makepkg 的 -s 标志也不会同步它,因为它不在标准存储库中。这就是为什么它需要单独构建的原因。尽管 package-query 位于 archlinuxfr 存储库中,但是一旦添加了它,您也可以通过 pacman 安装 yaourt。由于 yaourt 处理 AUR 依赖项,因此您通常不需要单独构建 AUR 依赖项。

使用 Yaourt

典型的 yaourt 使用从传递一个所需的关键字开始。 Yaourt 将查看包名称和描述。

yaourt <keyword>

当您执行搜索时,yaourt 会列出每个匹配的包:

  • 描述
  • 版本号
  • 是否安装包
  • 对包裹投票

如果已安装的包比 AUR 中的包旧,它将被突出显示。这有助于追踪破坏系统的包。

当您从列表中选择一个包时,yaourt 会显示最新的评论并询问您是否要编辑 PKGBUILD。这允许您在包出现问题时就地编辑包。如果有人在评论中发布了修复程序,您可以在 yaourt 通过 makepkg 运行它之前对 PKGBUILD 进行更改。

除了搜索,yaourt 还支持其他标准的包管理操作。

  • yaourt -S : 安装或更新包
  • yaourt -Sy:同步pacman包数据库
  • yaourt -R : 删除一个包
  • yaourt -G : 获取包的 PKGBUILD
  • yaourt --stats:显示包使用了多少空间

Yaourt 有一个导出选项,用于在构建后存储包。

yaourt -Sb --export <destination dir> <package>

这可用于对关键包进行二进制备份。如果你想构建和归档包而不安装它,只需在安装步骤说不。由于 yaourt 是一个交互式工具,如果您需要自动执行此过程,您可能希望找到其他工具。

资源

架构用户存储库

提交人:Robert Qualls

©2015-2025 艾丽卡 support@alaica.com