AUR 助手
警告: Arch Linux 不對 AUR 助手引發的問題提供支持。您應熟悉自行構建過程以準備好解決遇到的問題。
提示:請使用討論頁面以對這篇文章提建議: Talk:AUR 助手.
在使用 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庫。