跳转到内容
来自 Arch Linux 中文维基
警告:Arch Linux 不对 AUR 助手相关问题提供支持。您应当熟悉手动构建过程,以准备好解决可能遇到的问题。
提示:优先使用讨论页而非编辑此文:Talk:AUR 助手

使用 Arch 用户仓库时,AUR 助手可以自动完成以下任务:

  • 查找 AUR 上发布的包;
  • 解析 AUR 包之间的依赖关系;
  • 获取并构建 AUR 软件包;
  • 获取在线内容,例如用户评论;
  • 提交 AUR 软件包。

Pacman 只处理其仓库内预构建的软件包的更新。AUR 软件包以 PKGBUILD 的形式分发,并需要 AUR 助手自动完成构建。然而切记:即使该包自身没有更新,但其依赖的共享库(shared library)有更新,您可能仍需重新构建该包。

说明

#对比表各表头释义:

文件检查
默认source PKGBUILD;或在此之前,提醒并允许用户手动检查 PKGBUILD。有些助手会在用户能检查 PKGBUILD 之前就执行了 source给隐含的恶意代码带来可能性
差异比较:有能力检查包之间差异。除了 PKGBUILD,还要检查对附加文件的改动,例如 .install.patch 文件。
Git clone
默认使用 git-clone(1) 从 AUR 获取构建文件。
可靠的解析器:能通过运用提供的元数据 (RPC/.SRCINFO) 而非解析 PKGBUILD 来处理复杂软件包,例如 aws-cli-gitAUR
可靠的求解器:有能力正确解决并构建复杂的依赖链,例如 ros-noetic-desktop-fullAUR
包拆分:有能力正确地构建并安装:
  • 对于有相同包基础的多个软件包,不重复构建和安装其基础,例如 clionAUR
  • 拆分依赖于同一基础的多个软件包,例如 samsung-unified-driverAUR
  • 独立拆分软件包,例如 nxproxyAUR 以及 nxagentAUR
Shell 补全
Tab 补全在所列出的 shell 中可用。
注意:
  • 可选 意味着该功能可用,但是需要通过命令行参数或配置文件启用。
  • 部分 意味着该功能尚未完全实现,或与给定标准有部分差异。

对比表

查找并下载

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

查找并构建

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

Pacman 封装

警告:pacman(8) 封装将包管理器的工作抽象化。这些封装可能(可选或默认地)引入 不安全标志,或其他导致系统缺陷的异常行为。
注意:下列 pacman 封装支持批量(而非按需)操作:pacaurAUR, pikaurAUR, yayAUR, auraAUR, paruAUR, aurmanAUR
名称 编写语言 文件检查 差异比较 Git clone 可靠的解析器 可靠的求解器 包拆分 不安全标志 Shell 补全 特性
auraAUR Rust 部分 bash, fish, zsh 干净的 chroot
aurmanAUR Python 部分 -Sy
--ask
bash, fish 提取 PGP 密钥
pacaurAUR Bash --ask bash, zsh
pakkuAUR Nim -Sy bash, zsh
paruAUR Rust -Sy
--ask
bash, fish, zsh 本地仓库干净的 chroot
pikaurAUR Python -Sy bash, fish, zsh 动态用户
trizenAUR Perl 部分 bash, fish, zsh
yayAUR Go --ask bash, fish, zsh

图形化

警告:使用图形化的 AUR 助手可能导致系统缺陷,例如执行无人值守的部分更新
  • Argon — 使用 Python 编写的 GTK 3 pacman 封装。
https://github.com/14mRh4X0r/arch-argon || argonAUR
  • Bauh — 使用 Python 编写的 Qt 5 应用,支持 AppImage,Debian,Arch 软件包(含 AUR),Flatpak,Snap 以及 原生 Web 应用。
https://github.com/vinifmor/bauh || bauhAUR
  • 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 4(或终端界面)包管理器。有托盘程序;也可在命令行界面中使用。
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 编写的 Qt 5 程序、查看官方仓库/AUR 软件包的只读浏览器。
https://osdn.net/projects/pkgbrowser/ || pkgbrowserAUR
  • Yup — 使用 Go 和 Ncurses 编写的 TUI pacman 封装。
https://github.com/ericm/yup || yupAUR

维护

  • aur-out-of-date — 借助主机服务提供者的 API,检查 AUR 软件包的上游更改。
https://github.com/simon04/aur-out-of-date || aur-out-of-dateAUR
  • aurpublish — AUR 助手脚本:借助 git-subtree(1) 管理和上传 AUR 软件包。会使用 githooks(5) 校验 PKGBUILD,自动生成 .SRCINFO,以及创建需提交信息的模板。
https://github.com/eli-schwartz/aurpublish || aurpublish
https://gitlab.archlinux.org/archlinux/devtools || devtools
  • pkgoutofdate — 解析 PKGBUILD 中的源 URL,并以发送递增版本号的方式,尝试寻找软件包的较新版本。
https://github.com/anatol/pkgoutofdate || pkgoutofdate-gitAUR
  • repman — 用于管理本地和远程仓库的命令行工具。
https://gitlab.com/mipimipi/repman || repman-gitAUR

其他

  • aur-talk — 提取并显示 AUR 评论。
https://github.com/GermainZ/aur-talk || aur-talk-gitAUR
  • aurvote-utils — 一系列管理 AUR 投票的实用工具。
https://github.com/jadenPete/aurvote-utils || aurvote-utilsAUR
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 模块和 AUR 助手工具。
https://xyne.dev/projects/python3-aur || python3-aurAUR
https://gitlab.com/davidbittner/raur ||

参见