跳转至内容

AUR 助手

警告 Arch Linux 不官方支持 AUR 助手。您应该熟悉 手动构建过程,以便在出现问题时能够进行故障排除。
编辑者注意 在编辑本页面之前,请先使用讨论页面: Talk:AUR helpers

AUR 助手用于自动化 Arch User Repository 的使用。特别是,它们可以自动化以下任务:

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

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

图例

下方的 #对比表 列的含义如下:

文件审查
默认情况下 不会审查 PKGBUILD;或会提醒用户并在审查 PKGBUILD 之前提供手动检查的机会。有些助手已知会在用户检查 PKGBUILD 之前对其进行审查,允许恶意代码执行
差异视图
在审查时查看软件包差异的能力。除了 PKGBUILD,这还包括 .install.patch 等文件的更改。
Git 克隆
默认使用 git-clone(1) 从 AUR 检索构建文件。
可靠的解析器
通过使用提供的元数据(RPC/.SRCINFO)而不是解析 PKGBUILD 来处理复杂软件包的能力,例如 aws-cli-gitAUR
可靠的求解器
正确解析和构建复杂依赖链的能力,例如 liri-git-metaAUR
拆分包
正确构建和安装的能力
  • 来自同一包基础的多个包,无需多次重新构建或重新安装,例如 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(通过 systemd-nspawn
pat-aur-host-gitAUR/pat-aur-client-gitAUR Elvish bash, zsh, elvish 本地仓库,本地补丁应用,软件包签名干净的 chroot(通过 bubblewrap),交叉编译
PKGBUILDerAUR Python 部分 pb 用于 *pacman* 包装
ruaAUR Rust bash, zsh, fish 本地补丁应用,干净的 chroot(通过 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 — 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 的 Systray 通知图标,可选的更新程序。
https://github.com/Thulinma/kalu || kaluAUR
  • Octopi — 使用 C++ 编写的 Qt 5 pacman 包装器。
https://tintaescura.com/projects/octopi || octopiAUR
  • Pacsea — 一个快速、键盘友好的 TUI,用于浏览和安装 Arch 和 AUR 软件包,用 Rust 编写。
https://github.com/Firstp1ck/Pacsea || pacsea-binAUR
  • Pacseek — 一个用于搜索和安装 Arch Linux 软件包的终端用户界面。
https://github.com/moson-mo/pacseek || pacseekAUR
  • Pamac — 独立的 GTK 4(或终端)软件包管理器,为 Manjaro 编写,使用 libalpm(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 编写的 Qt 5 只读浏览器,用于浏览仓库软件包和 AUR。
https://osdn.net/projects/pkgbrowser/ || pkgbrowserAUR
  • SPM — 一个用于 pacman 和 yay 的 TUI 包装器,使软件包管理可视化且交互式。
https://github.com/adelmonte/Simple_Package_Manager || spm-archAUR
  • 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 — 解析 PKGBUILDs 中的源 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 ||

参见

© . This site is unofficial and not affiliated with Arch Linux.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.