AUR 助手
警告: 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。
- 独立拆分的软件包,例如 nxproxyAUR 和 nxagentAUR。
注意
- 可选 表示该功能可用,但只能通过命令行参数或配置选项使用。
- 部分 表示该功能未完全实现,或部分偏离给定的标准。
对比表格
搜索和下载
名称 | 编写语言 | 文件审查 | 差异视图 | 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 封装器
名称 | 编写语言 | 文件审查 | 差异视图 | 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 封装器。
- Bauh — 支持 AppImage、Debian 和 Arch 软件包(包括 AUR)、Flatpak、Snap 和原生 Web 应用程序的 Qt5 Python 应用程序。
- Cylon — 用 Bash 编写的 TUI pacman 封装器。
- Kalu — 使用 libalpm 和 PolicyKit 的系统托盘通知图标,带有可选的更新程序
- Octopi — 用 C++ 编写的 Qt 5 pacman 封装器。
- Pacseek — 用于搜索和安装 Arch Linux 软件包的终端用户界面。
- Pamac — 为 Manjaro 使用 libalpm(3) 编写的独立 GTK 4(或终端)软件包管理器。 具有托盘应用程序。 也可以与命令行界面一起使用。
- Pakku GUI — 用 Python 编写的 pakku 的 GTK 3 前端。
- PkgBrowser — 用 Python 编写的用于仓库软件包和 AUR 的 Qt 5 只读浏览器。
- Yup — 用 Go 编写的 Ncurses TUI pacman 封装器。
维护
- aur-out-of-date — 使用 hoster API 检查 AUR 软件包的上游更改。
- aurpublish — 辅助脚本,用于使用 git-subtree(1) 管理和上传 AUR 软件包。 使用 githooks(5) 验证 PKGBUILD 完整性,自动生成 .SRCINFO,并创建提交消息模板。
- devtools — 在干净的环境 (systemd-nspawn 容器) 中构建软件包以确保其正确性。 由 auraAUR, aurutilsAUR, clean-chroot-managerAUR 和 paruAUR 封装。
- pkgoutofdate — 从 PKGBUILD 解析源 URL,并通过递增版本号并向 Web 服务器发送请求来尝试查找软件包的新版本。
- repman — 用于管理本地和远程仓库的命令行工具。
其他
- aur-talk — 获取并显示 AUR 评论。
- aurvote-utils — 一组用于管理 AUR 投票的实用程序。
- haskell-aur — 用于访问 Aurweb RPC 接口的 Haskell 库。
- package-query — 用于查询 libalpm(3) 和 AUR 的工具。
- python3-aur — 用于访问 AUR 软件包信息和自动化 AUR 交互的 Python 3 模块和辅助实用程序。
- raur — 用于访问 Aurweb RPC 接口的 Rust 库。
参见
- Arch Linux GUI 软件包管理器 (DebugPoint, 2023) 提供了一些关于 #图形界面 中提到的一些选项的屏幕截图和简单信息