AUR 助手

出自 Arch Linux 中文维基
警告: Arch Linux 不對 AUR 助手相關問題提供支持。您應當熟悉手動構建過程,以準備好解決可能遇到的問題。
提示:優先使用討論頁而非編輯此文:Talk:AUR 助手

使用 Arch 用戶倉庫時,AUR 助手可以自動完成以下任務:

  • 查找 AUR 上發布的包;
  • 解析 AUR 包之間的依賴關係;
  • 獲取並構建 AUR 軟體包;
  • 獲取在線內容,例如用戶評論;
  • 提交 AUR 軟體包。

Pacman 只處理其倉庫內預構建的軟體包的更新。AUR 軟體包以 PKGBUILD 的形式分發,並需要 AUR 助手自動完成構建。然而切記:即使該包自身沒有更新,但其依賴的共享庫(shared library)有更新,您可能仍需重新構建該包。

說明[編輯 | 編輯原始碼]

#對比表各表頭釋義:

文件檢查
默認source PKGBUILD;或在此之前,提醒並允許用戶手動檢查 PKGBUILD。有些助手會在用戶能檢查 PKGBUILD 之前就執行了 source給隱含的惡意代碼帶來可能性
差異比較:有能力檢查包之間差異。除了 PKGBUILD,還要檢查對附加文件的改動,例如 .install.patch 文件。
Git clone
默認使用 git-clone(1) 從 AUR 獲取構建文件。
可靠的解析器:能通過運用提供的元數據 (RPC/.SRCINFO) 而非解析 PKGBUILD 來處理複雜軟體包,例如 aws-cli-gitAUR
可靠的求解器:有能力正確解決並構建複雜的依賴鏈,例如 ros-melodic-desktopAUR
包拆分:有能力正確地構建並安裝:
  • 對於有相同包基礎的多個軟體包,不重複構建和安裝其基礎,例如 clionAUR
  • 拆分依賴於同一基礎的多個軟體包,例如 samsung-unified-driverAUR
  • 獨立拆分軟體包,例如 nxproxyAUR 以及 nxagentAUR
Shell 補全
Tab 補全在所列出的 shell 中可用。
注意:
  • 可選 意味著該功能可用,但是需要通過命令行參數或配置文件啟用。
  • 部分 意味著該功能尚未完全實現,或與給定標準有部分差異。

對比表[編輯 | 編輯原始碼]

查找並下載[編輯 | 編輯原始碼]

名稱 編寫語言 文件檢查 差異比較 Git clone 可靠的解析器 可靠的求解器 Shell 補全 特性
auracle-gitAUR C++ bash 顯示構建順序
pbgetAUR Python
repoctlAUR Go bash, zsh, fish 本地倉庫
yaahAUR Bash 可選 bash

查找並構建[編輯 | 編輯原始碼]

名稱 編寫語言 文件檢查 差異比較 Git clone 可靠的解析器 可靠的求解器 包拆分 Shell 補全 特性
aurutilsAUR Bash bash, zsh 本地倉庫,應用本地補丁,包簽名乾淨的 chroot
bauerbillAUR Python bash, zsh bb-wrapper 用於 pacman 封裝和信任管理
PKGBUILDerAUR Python 部分 pb 用於 pacman 封裝
ruaAUR Rust bash, zsh, fish l應用本地補丁,bubblewrap.pkg.tar 檢查

Pacman 封裝[編輯 | 編輯原始碼]

警告: pacman(8) 封裝將包管理器的工作抽象化。這些封裝可能(可選或默認地)引入 不安全標誌,或其他導致系統缺陷的異常行為。
注意: 下列 pacman 封裝支持批量(而非按需)操作:pacaurAUR, pikaurAUR, yayAUR, auraAUR, paruAUR, aurmanAUR
名稱 編寫語言 文件檢查 差異比較 Git clone 可靠的解析器 可靠的求解器 包拆分 不安全標誌 Shell 補全 特性
auraAUR Haskell 部分 bash, fish, zsh
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
  • 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 — 使用 libalpm(3)、為 Manjaro 編寫的、獨立的 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 編寫的 Qt 5 程序、查看官方倉庫/AUR 軟體包的只讀瀏覽器。
https://osdn.net/projects/pkgbrowser/ || pkgbrowserAUR
  • Yup — 使用 Go 和 Ncurses 編寫的 TUI pacman 封裝。
https://github.com/ericm/yup || yupAUR

維護[編輯 | 編輯原始碼]

  • aur-out-of-date — 藉助主機服務提供者的 API,檢查 AUR 軟體包的上游更改。
https://github.com/simon04/aur-out-of-date || aur-out-of-dateAUR
  • aurpublish — AUR 助手腳本:藉助 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,並以發送遞增版本號的方式,嘗試尋找軟體包的較新版本。
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
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 模塊和 AUR 助手工具。
https://xyne.dev/projects/python3-aur || python3-aurAUR
https://gitlab.com/davidbittner/raur ||