AUR 助手
(重定向自AUR helpers)
警告: Arch Linux 不支持 AUR 助手。您应熟悉 自行构建过程以准备好解决遇到的问题。
提示:请使用讨论页面以对这篇文章提建议: Talk:AUR_helpers_(简体中文).
在使用 Arch用户软件仓库时,AUR工具可以自动完成以下任务:
- 搜索在AUR中发布的软件包
- 解析AUR软件包之间的依赖关系
- 下载并构建AUR软件包
- 下载网站内容,例如用户评论
- 提交AUR软件包
pacman只会处理其仓库中预先构建好的软件包的更新。AUR软件包以PKGBUILD的形式再分发并需要AUR 助手来自动化构建流程。然而请注意,即使软件包自身并没有更新,但由于某些库文件的更新,您可能仍需重新构建某些软件包。
说明[编辑 | 编辑源代码]
#对比表 各表头的意思:
- 文件检查
- 默认不
source
PKGBUILD,或者在被source
之前让用户有机会手动检查PKGBUILD。已知某些助手在用户可以检查PKGBUILD之前就执行了source
,这会允许执行PKGBUILD中的恶意代码。 - 差异比较
- 有检查包差异的能力。除了PKGBUILD,还包括对
.install
或.patch
文件更改的检查。 - Git clone
- 默认使用git-clone(1)从AUR获取相关文件。
- 可靠的解析器
- 有能力通过使用所提供的元数据 (RPC/.SRCINFO) 代替解析PKGBUILD以处理复杂包,例如aws-cli-gitAUR。
- 可靠的求解器
- 有能力正确处理复杂的依赖关系,例如 ros-melodic-desktopAUR。
- 包拆分
- 有能力正确地构建和安装:
- 对于有相同包基础的多个软件包,不重复构建和安装包基础,例如clionAUR。
- 拆分依赖相同包基础的包,例如 jellyfinAUR。
- 独立地拆分包,例如python-pyalsaaudioAUR和python2-pyalsaaudioAUR。
- Shell补全
- Tab completion在列出的shell中可用。
提示:
- 可选意味着功能可用,但需要通过命令行选项或配置文件启用。
- 部分意味着功能尚未完全实现,或者与标准有一些差别。
对比表[编辑 | 编辑源代码]
搜索与下载[编辑 | 编辑源代码]
名字 | 编写语言 | 文件检查 | 差异比较 | Git clone | 可靠的解析器 | 可靠的求解器 | Shell补全 | 特殊性质 |
---|---|---|---|---|---|---|---|---|
auracle-gitAUR | C++ | 是 | 否 | 是 | 是 | 是 | bash | 显示构建顺序 |
pbgetAUR | Python | 是 | 否 | 是 | 是 | – | – | – |
repoctlAUR | Go | 是 | 否 | 否 | 是 | – | zsh | 本地仓库 |
yaahAUR | Bash | 是 | 否 | 可选 | 是 | – | bash | – |
搜索和构建[编辑 | 编辑源代码]
名字 | 编写语言 | 文件检查 | 差异比较 | Git clone | 可靠的解析器 | 可靠的求解器 | 包拆分 | Shell补全 | 特殊性质 |
---|---|---|---|---|---|---|---|---|---|
aurutilsAUR | Bash | 是 | 是 | 是 | 是 | 是 | 是 | bash, zsh | 本地仓库, 本地补丁应用, 包签名, clean chroot |
bauerbillAUR | Python | 是 | 否 | 是 | 是 | 是 | 是 | bash, zsh | bb-wrapper 用于 pacman 封装和信任管理
|
PKGBUILDerAUR | Python | 否 | 否 | 是 | 是 | 是 | 部分 | – | pb 用于 pacman 封装
|
ruaAUR | Rust | 是 | 是 | 是 | 是 | 是 | 是 | bash, zsh, fish | 本地补丁应用, bubblewrap, .pkg.tar 审查
|
Pacman封装[编辑 | 编辑源代码]
名字 | 编写语言 | 文件检查 | 差异比较 | Git clone | 可靠的解析器 | 可靠的求解器 | 包拆分 | Unsafe flags | Shell补全 | 特殊性质 |
---|---|---|---|---|---|---|---|---|---|---|
auraAUR | Haskell | 否 | 部分 | 是 | 是 | 是 | 是 | – | bash, fish, zsh | – |
pacaurAUR | Bash | 是 | 是 | 是 | 是 | 是 | 是 | --ask | bash, zsh | – |
pakku-gitAUR | Nim | 是 | 是 | 是 | 是 | 是 | 是 | -Sy | bash, zsh | – |
paruAUR | Rust | 是 | 是 | 是 | 是 | 是 | 是 | -Sy --ask |
bash, fish, zsh | 本地仓库, clean chroot |
pikaurAUR | Python | 是 | 是 | 是 | 是 | 是 | 是 | -Sy | bash, fish, zsh | 动态用户 |
trizenAUR | Perl | 是 | 是 | 是 | 是 | 是 | 部分 | – | bash, fish, zsh | – |
yayAUR | Go | 是 | 是 | 是 | 是 | 是 | 是 | -Sy --ask |
bash, fish, zsh | – |
图形界面[编辑 | 编辑源代码]
警告: 使用图形界面 AUR 助手可能导致系统缺陷,例如进行未测试的 部分更新.
- Argon — 用Python编写的GTK 3 pacman 封装。
- Cylon — 用 Bash编写的 TUI pacman 封装。
- Kalu — 使用 libalpm 和 PolicyKit 的系统托盘通知图标,附有可选更新器
- Octopi — 用 C++ 编写的 Qt 5 pacman 封装。
- Pacseek — 用于搜索和安装 Arch Linux 软件包的终端用户界面。
- Pamac — 使用 libalpm(3) 为 Manjaro 写的独立的 GTK 3 包管理器。有一个托盘程序。
- Pakku GUI — 用 Python 编写的对于 pakku 的 GTK 3 前端。
- PkgBrowser — 用 Python 编写的用于仓库包和 AUR 的 Qt 5 只读浏览器。
- Yup — 用 Go 编写的 TUI pacman 封装。
维护[编辑 | 编辑源代码]
- aur-out-of-date — 使用hoster的API检查AUR包的上游改动。
- aurpublish — 使用git-subtree(1)管理和上传AUR软件包的助手脚本。使用githooks(5)验证
PKGBUILD
完整性,自动生成.SRCINFO
并创建 commit 消息模板
- devtools — 在干净的环境(systemd-nspawn容器)中构建软件包以确保正确性。由aurutilsAUR,clean-chroot-managerAUR和paruAUR封装。
- pkgbuild-watch — 监视上游网页的更改。
- pkgoutofdate — 解析PKGBUILD中的URL,并以发送递增的版本号的方式来检查更新。
其他[编辑 | 编辑源代码]
- aur-talk — 获取并显示AUR评论。
- aurvote-utils — 一系列管理AUR投票的实用程序
- haskell-aur — 用于访问Aurweb RPC interface的Haskell库。
- package-query — 用于查询libalpm(3)和AUR的工具。
- python3-aur — 用于访问AUR包的信息并自动完成AUR交互的Python 3模块和助手实用程序。
- raur — 用于访问Aurweb RPC interface的Rust库。