跳至內容

AUR 助手

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

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

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

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

說明

#對比表各表頭釋義:

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

對比表

查找並下載

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

查找並構建

名稱 編寫語言 文件檢查 差異比較 Git clone 可靠的解析器 可靠的求解器 包拆分 Shell 補全 特性
aurutilsAUR Bash bash, zsh 本地倉庫,應用本地補丁,包簽名乾淨的 chroot
pat-aur-host-gitAUR
pat-aur-client-gitAUR
Elvish bash, zsh, elvish 本地倉庫, 本地補丁應用程式,包簽名, 乾淨的 chroot(通過 bubblewrap),交叉編譯

Pacman 封裝

警告:pacman(8) 封裝將包管理器的工作抽象化。這些封裝可能(可選或默認地)引入 不安全標誌,或其他導致系統缺陷的異常行為。
注意:下列 pacman 封裝支持批量(而非按需)操作:pikaurAUR, yayAUR, auraAUR, paruAUR
名稱 編寫語言 文件檢查 差異比較 Git clone 可靠的解析器 可靠的求解器 包拆分 不安全標誌 Shell 補全 特性
auraAUR Rust 部分 bash, fish, zsh 乾淨的 chroot
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 — 使用 Python 編寫的 Qt 5 應用,支持 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 編寫,有可選的更新器。
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 — 使用 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
  • SPM — 一個 TUI pacman 和 yay 的封裝,視覺化、交互化包管理。
https://github.com/adelmonte/Simple_Package_Manager || spm-archAUR
  • 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 模塊和 AUR 助手工具。
https://xyne.dev/projects/python3-aur || python3-aurAUR
https://gitlab.com/davidbittner/raur ||

參見