AUR helpers (简体中文)
pacman只会处理其仓库中预先构建好的软件包的更新。AUR软件包以PKGBUILD的形式再分发并需要AUR helper来自动化构建流程。然而请注意,即使软件包自身并没有更新,但由于某些库文件的更新,您可能仍需重新构建某些软件包、
警告: 这些工具都不是官方支持的。用户应当熟悉 手动构建过程,以方便排查问题。
注意: 请使用讨论页建议对此文章的修改:Talk:AUR helpers
在使用Arch用户软件仓库时,AUR工具可以自动完成某些任务:
- 搜索在AUR中发布的软件包
- 解析AUR软件包之间的依赖关系
- 下载AUR软件包
- 下载网站内容,例如用户评论
- 提交AUR软件包
不会为AUR软件包检查更新,所以一些工具也可以自动从AUR检查更新并再次构建新版本的软件包。请注意,即使软件包自身并没有更新,但由于某些库文件的更新,您可能仍需重新构建某些软件包、
词汇表
#对比表中这些列的含义:
- 文件检查
- 默认不
sourcePKGBUILD,或者在之前让用户有机会手动检查PKGBUILD。已知某些工具在用户可以检查PKGBUILD之前就执行了,这会允许执行PKGBUILD中的恶意代码。 - 差异比较
- 有检查包差异的能力。除了PKGBUILD,还包括对
.install或.patch文件更改的检查。 - Git clone
- 默认使用git-clone(1)从AUR获取相关文件。
- 可靠的语法分析器
- 有能力通过使用所提供的元数据(PRC/.SRCINFO)代替解析PKGBUILD以处理复杂包,例如aws-cli-gitAUR。
- 可靠的求解器
- 有能力正确处理复杂的依赖关系,例如ros-lunar-desktopAUR[损坏的链接:package not found]。
- 包拆分
- 有能力正确地构建和安装:
- 对于有相同包基础的多个软件包,不重复构建和安装包基础,例如。
- 拆分依赖相同包基础的包(Split packages which depend on a package from the same package base), 例如 and 。
- 独立地拆分包,例如python-pyalsaaudioAUR和。
- Shell补全
- Tab completion在列出的shell中可用
对比表
搜索和构建
| 名称 | 语言 | 文件检查 | 差异比较 | Git clone | 可靠的语法分析器 | 可靠的求解器 | 包拆分 | 命令补全 | 特性 |
|---|---|---|---|---|---|---|---|---|---|
| Bash | bash, zsh | ||||||||
| Python | bash, zsh | ||||||||
| Python | 否 | ||||||||
| Rust | 是 | bash, zsh | |||||||
Pacman封装
| 名称 | 语言 | 文件检查 | 差异比较 | Git clone | 可靠的语法分析器 | 可靠的求解器 | 包拆分 | 不安全的参数 | 命令补全 | 特性 |
|---|---|---|---|---|---|---|---|---|---|---|
| Haskell | 是 | bash, fish, zsh | ||||||||
| paruAUR | Rust | -Sy --ask | bash, fish, zsh | |||||||
| Python | -Sy | bash, fish, zsh | ||||||||
| Perl | 是 | bash,zsh,fish | ||||||||
| Go | -Sy --ask | bash,fish,zsh | ||||||||
| Nim | 是 | -Sy | bash,zsh |
开发停止或有问题
此表中的是已经停止开发的,或是在过去6个月内有未处理的文件检查,Clean build或是原生pacman的问题的项目。
| 名称 | 语言 | 原生pacman | 文件检查 | Clean build | 可靠的语法分析器 | 可靠的求解器 | 拆分包 | Git clone | 差异比较 | 批量处理 | 命令补全 | 特性 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| [损坏的链接:package not found] | Emacs Lisp | |||||||||||
| pacaurAUR | Bash/C | 1,3 | bash,zsh | |||||||||
| [损坏的链接:package not found] | Bash | 是 | ||||||||||
| [损坏的链接:package not found] | Bash | 是 | ||||||||||
| [损坏的链接:package not found] | Python/C | |||||||||||
| [损坏的链接:package not found] | Bash | 是 | ||||||||||
| [损坏的链接:package not found] | Bash/C | 2 | bash,zsh,fish | 备份 (更改pacman数据库!),ABS支持,显示AUR评论,多语言 | ||||||||
| Python | 是 | 是 | 1,2*,3* | bash,fish | ||||||||
| [损坏的链接:package not found] | Python | 1* | bash | |||||||||
| [损坏的链接:package not found] | Bash | 1* | ||||||||||
| Bash | 否 | bash,zsh |
图形化工具
| 名称 | 语言 | GUI toolkit | 后端 | 注意 |
|---|---|---|---|---|
| C | GTK+ 2 | auracle | ||
| argonAUR | Python | GTK+ 3 | auracle, pacaur | |
| Bash | TUI | auracle, trizen | ||
| C | GTK+ 3 | |||
| Python | GTK+3 | auracle | ||
| Vala | GTK+ 3 | 使用libalpm(3)而不是 | ||
| Python | GTK+ 3 | pakku | ||
| Python | Qt 5 | |||
| Bash | GTK+ 3 | auracle | ||
| C++ | Qt 5 | trizen, pacaur, yaourt | ||
| Go | TUI |
维护
- aurpublish — 帮助使用git-subtree(1)管理和上传AUR软件包。使用githooks(5)验证
PKGBUILD完整性,自动生成.SRCINFO并创建commit模板
- pkgbuild-watch — 监视上游网页的更改。
其它
- aur4_import.sh — 从包含多个包的git仓库拆分包,为每个提交添加更新。
- aur4_make_submodule.sh — 使用aur4的子模块来替换较大的git仓库的包,包括.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.