AUR 助手

出自 ArchWiki
(重定向自 AUR helper
警告: Arch Linux 支持 AUR 助手。 您应该熟悉手动构建过程,以便为解决问题做好准备。
注意: 在编辑本文之前,请先使用讨论页面:Talk:AUR helpers

AUR 助手自动化了 Arch 用户仓库 的使用。 特别是,它们可以自动化以下任务

  • 搜索 AUR 上发布的软件包;
  • 解决 AUR 软件包之间的依赖关系;
  • 检索和构建 AUR 软件包;
  • 检索 Web 内容,例如用户评论;
  • 提交 AUR 软件包。

Pacman 仅处理其仓库中预构建软件包的更新。 AUR 软件包以 PKGBUILD 的形式重新分发,需要 AUR 助手来自动化重新构建过程。 但是,请记住,当软件包的共享库依赖项更新时,可能需要重新构建软件包,而不仅仅是当软件包本身更新时才需要重新构建。

图例

#对比表格 列具有以下含义

文件审查
默认情况下根本不读取 PKGBUILD; 或警告用户并提供手动检查 PKGBUILD 的机会,然后再读取它。 据知,某些助手会在用户可以检查 PKGBUILD 之前读取它们,允许执行恶意代码
差异视图
在检查时查看软件包差异的能力。 除了 PKGBUILD 之外,这还包括对 .install.patch 文件等文件的更改。
Git 克隆
默认情况下使用 git-clone(1) 从 AUR 检索构建文件。
可靠的解析器
通过使用提供的元数据 (RPC/.SRCINFO) 而不是 PKGBUILD 解析,处理复杂软件包的能力,例如 aws-cli-gitAUR
可靠的求解器
正确解决和构建复杂依赖链的能力,例如 ros-noetic-desktop-fullAUR
拆分软件包
正确构建和安装的能力
  • 来自同一软件包库的多个软件包,无需多次重新构建或重新安装,例如 clionAUR
  • 依赖于来自同一软件包库的软件包的拆分软件包,例如 samsung-unified-driverAUR
  • 独立拆分软件包,例如 nxproxyAURnxagentAUR
Shell 补全
对于列出的 shell,可以使用 Tab 补全
注意
  • 可选表示该功能可用,但只能通过命令行参数或配置选项使用。
  • 部分表示该功能未完全实现,或者部分偏离给定的标准。

对比表格

搜索和下载

名称 编写语言 文件审查 差异视图 Git 克隆 可靠的解析器 可靠的求解器 Shell 补全 特殊性
auracle-gitAUR C++ bash 打印构建顺序
pbgetAUR Python
repoctlAUR Go bash, zsh, fish 本地仓库
yaahAUR Bash 可选 bash

搜索和构建

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

Pacman 封装器

警告: pacman(8) 封装器抽象了软件包管理器的工作。 它们可能(可选或默认情况下)引入不安全的标志或其他导致系统缺陷的意外行为。
注意: 以下 pacman 封装器支持批量(而不是按需)操作:pacaurAURpikaurAURyayAURauraAURparuAURaurmanAUR
名称 编写语言 文件审查 差异视图 Git 克隆 可靠的解析器 可靠的求解器 拆分软件包 不安全标志 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 — Qt5 Python 应用程序,支持 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 编写的用于仓库软件包和 AUR 的 Qt 5 只读浏览器。
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 — 用于使用 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,并通过递增版本号并向 Web 服务器发送请求来尝试查找软件包的新版本。
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
  • haskell-aur — 用于访问 Aurweb RPC 接口的 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
https://gitlab.com/davidbittner/raur ||

参见