AUR 助手

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

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

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

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

图例

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

文件审查
默认情况下根本不 source PKGBUILD;或警告用户并提供在 source 之前手动检查 PKGBUILD 的机会。 有些助手已知会在用户检查之前 source 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 补全
Tab 补全 可用于列出的 Shell
注意
  • 可选 表示该功能可用,但只能通过命令行参数或配置选项使用。
  • 部分 表示该功能未完全实现,或部分偏离给定的标准。

对比表格

搜索和下载

名称 编写语言 文件审查 差异视图 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 封装器支持批量(而非按需)操作: pacaurAUR, pikaurAUR, yayAUR, auraAUR, paruAUR, aurmanAUR
名称 编写语言 文件审查 差异视图 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 — 支持 AppImage、Debian 和 Arch 软件包(包括 AUR)、Flatpak、Snap 和原生 Web 应用程序的 Qt5 Python 应用程序。
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 — 为 Manjaro 使用 libalpm(3) 编写的独立 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 — 使用 hoster 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 ||

参见