AUR helpers (简体中文) - ArchWiki

Jump to content
翻译状态：本文是 AUR_helpers 的翻译。上次翻译日期：2022-11-02。如果英文版本有所更改，则您可以帮助同步翻译。
警告： Arch Linux 不支持 AUR 助手。您应熟悉 自行构建过程以准备好解决遇到的问题。
提示： 请使用讨论页面以对这篇文章提建议: Talk:AUR_helpers_(简体中文).

在使用 Arch用户软件仓库时，AUR工具可以自动完成以下任务：

- 搜索在AUR中发布的软件包
- 解析AUR软件包之间的依赖关系
- 下载并构建AUR软件包
- 下载网站内容，例如用户评论
- 提交AUR软件包

pacman只会处理其仓库中预先构建好的软件包的更新。AUR软件包以PKGBUILD的形式再分发并需要AUR 助手来自动化构建流程。然而请注意，即使软件包自身并没有更新，但由于某些库文件的更新，您可能仍需重新构建某些软件包。

## 说明

#对比表 各表头的意思:

文件检查
  默认不`source` PKGBUILD，或者在被 `source` 之前让用户有机会手动检查PKGBUILD。已知某些助手在用户可以检查PKGBUILD之前就执行了`source`，这会允许执行PKGBUILD中的恶意代码。
差异比较
  有检查包差异的能力。除了PKGBUILD，还包括对`.install`或`.patch`文件更改的检查。
Git clone
  默认使用git-clone(1)从AUR获取相关文件。
可靠的解析器
  有能力通过使用所提供的元数据 (RPC/.SRCINFO) 代替解析PKGBUILD以处理复杂包，例如aws-cli-gitAUR。
可靠的求解器
  有能力正确处理复杂的依赖关系，例如 ros-melodic-desktopAUR。
包拆分
  有能力正确地构建和安装：
  - 对于有相同包基础的多个软件包，不重复构建和安装包基础，例如clionAUR。
  - 拆分依赖相同包基础的包，例如 jellyfinAUR。
  - 独立地拆分包，例如python-pyalsaaudioAUR和python2-pyalsaaudioAUR。

Shell补全
  Tab completion在列出的shell中可用。

提示：

- 可选意味着功能可用，但需要通过命令行选项或配置文件启用。
- 部分意味着功能尚未完全实现，或者与标准有一些差别。

## 对比表

### 搜索与下载

名字 | 编写语言 | 文件检查 | 差异比较 | Git clone | 可靠的解析器 | 可靠的求解器 | Shell补全 | 特殊性质
--- | --- | --- | --- | --- | --- | --- | --- | ---
auracle-gitAUR | C++ | 是 | 否 | 是 | 是 | 是 | bash | 显示构建顺序
pbgetAUR | Python | 是 | 否 | 是 | 是 | – | – | –
repoctlAUR | Go | 是 | 否 | 否 | 是 | – | zsh | 本地仓库
yaahAUR | Bash | 是 | 否 | 可选 | 是 | – | bash | –

### 搜索和构建

名字 | 编写语言 | 文件检查 | 差异比较 | Git clone | 可靠的解析器 | 可靠的求解器 | 包拆分 | Shell补全 | 特殊性质
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
aurutilsAUR | Bash | 是 | 是 | 是 | 是 | 是 | 是 | bash, zsh | 本地仓库, 本地补丁应用, 包签名, clean chroot
bauerbillAUR | Python | 是 | 否 | 是 | 是 | 是 | 是 | bash, zsh | `bb-wrapper` 用于 pacman 封装和信任管理
PKGBUILDerAUR | Python | 否 | 否 | 是 | 是 | 是 | 部分 | – | `pb` 用于 pacman 封装
ruaAUR | Rust | 是 | 是 | 是 | 是 | 是 | 是 | bash, zsh, fish | 本地补丁应用， bubblewrap, `.pkg.tar` 审查

### Pacman封装

警告： pacman(8) 封装将包管理器的工作抽象化。它们可能（可选或默认）引入 不安全标志，或其它异常行为导致系统崩溃。
提示： 以下 pacman 封装支持批量(而不是按需)操作: pacaurAUR, pikaurAUR, yayAUR, auraAUR, paruAUR

名字 | 编写语言 | 文件检查 | 差异比较 | Git clone | 可靠的解析器 | 可靠的求解器 | 包拆分 | Unsafe flags | Shell补全 | 特殊性质
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
auraAUR | Haskell | 否 | 部分 | 是 | 是 | 是 | 是 | – | bash, fish, zsh | –
pacaurAUR | Bash | 是 | 是 | 是 | 是 | 是 | 是 | --ask | bash, zsh | –
pakku-gitAUR | Nim | 是 | 是 | 是 | 是 | 是 | 是 | -Sy | bash, zsh | –
paruAUR | Rust | 是 | 是 | 是 | 是 | 是 | 是 | -Sy --ask | bash, fish, zsh | 本地仓库, clean chroot
pikaurAUR | Python | 是 | 是 | 是 | 是 | 是 | 是 | -Sy | bash, fish, zsh | 动态用户
trizenAUR | Perl | 是 | 是 | 是 | 是 | 是 | 部分 | – | bash, fish, zsh | –
yayAUR | Go | 是 | 是 | 是 | 是 | 是 | 是 | -Sy --ask | bash, fish, zsh | –

## 图形界面

警告： 使用图形界面 AUR 助手可能导致系统缺陷，例如进行未测试的 部分更新.

- Argon — 用Python编写的GTK 3 pacman 封装。

  https://github.com/14mRh4X0r/arch-argon || argonAUR

- Cylon — 用 Bash编写的 TUI pacman 封装。

  https://github.com/gavinlyonsrepo/cylon || cylonAUR

- Kalu — 使用 libalpm 和 PolicyKit 的系统托盘通知图标，附有可选更新器

  https://github.com/Thulinma/kalu || kaluAUR

- Octopi — 用 C++ 编写的 Qt 5 pacman 封装。

  https://tintaescura.com/projects/octopi || octopiAUR

- Pacseek — 用于搜索和安装 Arch Linux 软件包的终端用户界面。

  https://github.com/moson-mo/pacseek || pacseekAUR

- Pamac — 使用 libalpm(3) 为 Manjaro 写的独立的 GTK 3 包管理器。有一个托盘程序。

  https://wiki.manjaro.org/index.php/Pamac || pamac-aurAUR

- Pakku GUI — 用 Python 编写的对于 pakku 的 GTK 3 前端。

  https://gitlab.com/mrvik/pakku-gui || pakku-guiAUR

- PkgBrowser — 用 Python 编写的用于仓库包和 AUR 的 Qt 5 只读浏览器。

  https://osdn.net/projects/pkgbrowser/ || pkgbrowserAUR

- Yup — 用 Go 编写的 TUI pacman 封装。

  https://github.com/ericm/yup || yupAUR

## 维护

- aur-out-of-date — 使用hoster的API检查AUR包的上游改动。

  https://github.com/simon04/aur-out-of-date || aur-out-of-dateAUR

- aurpublish — 使用git-subtree(1)管理和上传AUR软件包的助手脚本。使用githooks(5)验证`PKGBUILD`完整性，自动生成`.SRCINFO`并创建 commit 消息模板

  https://github.com/eli-schwartz/aurpublish || aurpublish

- devtools — 在干净的环境（systemd-nspawn容器）中构建软件包以确保正确性。由aurutilsAUR，clean-chroot-managerAUR和paruAUR封装。

  https://gitlab.archlinux.org/archlinux/devtools || devtools

- pkgbuild-watch — 监视上游网页的更改。

  http://kmkeen.com/pkgbuild-watch || pkgbuild-watchAUR

- pkgoutofdate — 解析PKGBUILD中的URL，并以发送递增的版本号的方式来检查更新。

  https://github.com/anatol/pkgoutofdate || pkgoutofdate-gitAUR

## 其他

- aur-talk — 获取并显示AUR评论。

  https://github.com/GermainZ/aur-talk || aur-talk-gitAUR

- aurvote-utils — 一系列管理AUR投票的实用程序

  https://github.com/jadenPete/aurvote-utils || aurvote-utilsAUR

- haskell-aur — 用于访问Aurweb RPC interface的Haskell库。

  https://hackage.haskell.org/package/aur || haskell-aurAUR

- package-query — 用于查询libalpm(3)和AUR的工具。

  https://github.com/archlinuxfr/package-query || package-queryAUR

- python3-aur — 用于访问AUR包的信息并自动完成AUR交互的Python 3模块和助手实用程序。

  https://xyne.dev/projects/python3-aur || python3-aurAUR

- raur — 用于访问Aurweb RPC interface的Rust库。

  https://gitlab.com/davidbittner/raur ||

Categories:

- Package management (简体中文)
- Software comparisons (简体中文)