AUR 助手

来自 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-melodic-desktopAUR
包拆分:有能力正确地构建并安装:
  • 对于有相同包基础的多个软件包,不重复构建和安装其基础,例如 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 Haskell 部分 bash, fish, zsh
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
  • 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 ||