「AUR ヘルパー」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎用語集: 情報を更新)
(→‎Pacman ラッパー: 情報を更新)
78行目: 78行目:
 
=== Pacman ラッパー ===
 
=== Pacman ラッパー ===
   
{{Warning|{{man|8|pacman}} ラッパーはパッケージマネージャの仕事を抽象化します。(オプションもしくはデフォルトで)[[システムメンテナンス#特定の pacman コマンドを避けてください|危険なフラグ]] や、システムの欠陥につながるその他の予期せぬ挙動を引き起こす可能性があります}}
+
{{Warning|{{man|8|pacman}} ラッパーはパッケージマネージャの仕事を抽象化します。(オプションもしくはデフォルトで) [[システムメンテナンス#特定の pacman コマンドを避けてください|危険なフラグ]] や、システムの欠陥につながるその他の予期せぬ挙動を引き起こす可能性があります}}
   
{{Note|以下の pacman ラッパーはバッチオペレーションをサポートします(オンデマンドではありません){{AUR|pacaur}}, {{AUR|pikaur}}, {{AUR|yay}}, {{AUR|aura}}, {{AUR|paru}}}}
+
{{Note|以下の pacman ラッパーはバッチオペレーションをサポートします(オンデマンドではありません){{AUR|pacaur}}, {{AUR|pikaur}}, {{AUR|yay}}, {{AUR|aura}}, {{AUR|paru}}、{{AUR|aurman}}}}
   
 
{| class="wikitable sortable" style="text-align: center;"
 
{| class="wikitable sortable" style="text-align: center;"
87行目: 87行目:
 
! {{AUR|aura}}
 
! {{AUR|aura}}
 
| Haskell || {{No}} || {{Y|[https://github.com/aurapm/aura/blob/89bf702/aura/src/Aura/Pkgbuild/Records.hs 部分的]}} || {{Yes|https://github.com/fosskers/aura/commit/ca9c38d}} || {{Yes|https://github.com/aurapm/aura/commit/7848e98}} || {{Yes|https://github.com/fosskers/aura/pull/479}} || {{Yes|https://github.com/fosskers/aura/pull/479}} || {{-}} || bash, fish, zsh || {{-}}
 
| Haskell || {{No}} || {{Y|[https://github.com/aurapm/aura/blob/89bf702/aura/src/Aura/Pkgbuild/Records.hs 部分的]}} || {{Yes|https://github.com/fosskers/aura/commit/ca9c38d}} || {{Yes|https://github.com/aurapm/aura/commit/7848e98}} || {{Yes|https://github.com/fosskers/aura/pull/479}} || {{Yes|https://github.com/fosskers/aura/pull/479}} || {{-}} || bash, fish, zsh || {{-}}
  +
|-
  +
! {{AUR|aurman}}
  +
| Python || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Y|[https://github.com/polygamma/aurman/issues/259 部分的]}} || {{Yes}} || {{R|[https://github.com/polygamma/aurman/commit/6c02ba3 -Sy]<br>[https://github.com/polygamma/aurman#make-use-of-the-undocumented---ask-flag-of-pacman --ask]}} || bash, fish || {{L|fetch PGP keys}}
 
|-
 
|-
 
! {{AUR|pacaur}}
 
! {{AUR|pacaur}}
| Bash || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || [https://github.com/rmarquis/pacaur/commit/12707cc --ask] || bash, zsh || {{-}}
+
| Bash || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Y|[https://github.com/E5ten/pacaur/commit/12707cc --ask]}} || bash, zsh || {{-}}
 
|-
 
|-
! {{AUR|pakku-git}}
+
! {{AUR|pakku}}
| Nim || {{Yes}} || {{Yes|https://github.com/kitsunyan/pakku/commit/396e9f4}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || [https://github.com/kitsunyan/pakku/wiki/Native-Pacman-Explanation -Sy] || bash, zsh || {{-}}
+
| Nim || {{Yes}} || {{Yes|https://github.com/kitsunyan/pakku/commit/396e9f4}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{R|[https://github.com/kitsunyan/pakku/wiki/Native-Pacman-Explanation -Sy]}} || bash, zsh || {{-}}
 
|-
 
|-
 
! {{AUR|paru}}
 
! {{AUR|paru}}
| Rust|| {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || -Sy<br>--ask || bash, fish, zsh || {{L|[[Pacman ヒント#カスタムローカルリポジトリ|ローカルリポジトリ]], [https://wiki.archlinux.org/title/DeveloperWiki:Building_in_a_clean_chroot clean chroot]}}
+
| Rust|| {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{R|[https://github.com/Morganamilo/paru/blob/15394a7db80d045f038ea4d0ee94d00211070c96/man/paru.8#L543-L552 -Sy]<br>[https://github.com/Morganamilo/paru/blob/32b75ac1cb7e0fccd21a0f795f25fd9fb1a14d8a/man/paru.conf.5#L110-L116 --ask]}} || bash, fish, zsh || {{L|[[Pacman ヒント#カスタムローカルリポジトリ|ローカルリポジトリ]], [https://wiki.archlinux.org/title/DeveloperWiki:Building_in_a_clean_chroot clean chroot]}}
 
|-
 
|-
 
! {{AUR|pikaur}}
 
! {{AUR|pikaur}}
| Python || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || [https://github.com/actionless/pikaur#pikaur -Sy] || bash, fish, zsh || {{L|[http://0pointer.net/blog/dynamic-users-with-systemd.html dynamic users]}}
+
| Python || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{R|[https://github.com/actionless/pikaur#pikaur -Sy]}} || bash, fish, zsh || {{L|[http://0pointer.net/blog/dynamic-users-with-systemd.html dynamic users]}}
 
|-
 
|-
 
! {{AUR|trizen}}
 
! {{AUR|trizen}}
104行目: 107行目:
 
|-
 
|-
 
! {{AUR|yay}}
 
! {{AUR|yay}}
| Go || {{Yes}} || {{Yes|https://github.com/Jguer/yay/pull/447}} || {{Yes|https://github.com/Jguer/yay/pull/297}} || {{Yes}} || {{Yes|https://github.com/Jguer/yay/pull/866}} || {{Yes}} || [https://github.com/Jguer/yay/commit/3bdb534 -Sy]<br>[https://github.com/Jguer/yay/commit/ea5a94e --ask] || bash, fish, zsh || {{-}}
+
| Go || {{Yes}} || {{Yes|https://github.com/Jguer/yay/pull/447}} || {{Yes|https://github.com/Jguer/yay/pull/297}} || {{Yes}} || {{Yes|https://github.com/Jguer/yay/pull/866}} || {{Yes}} || {{Y|[https://github.com/Jguer/yay/commit/ea5a94e --ask]}} || bash, fish, zsh || {{-}}
 
|}
 
|}
   

2023年10月26日 (木) 04:25時点における版

警告: AUR ヘルパーは Arch Linux では サポートされていません 問題のトラブルシューティングに備えるために、手動ビルドプロセス に慣れる必要があります

AUR ヘルパーは Arch User Repository の利用を自動化するものです。特に、以下のタスクを自動化することができます。

  • AUR で公開されているパッケージの検索。
  • AUR パッケージ間の依存関係を解決する。
  • AUR パッケージの取得とビルド
  • ユーザーコメントのようなウェブコンテンツの取得
  • AUR パッケージの投稿

Pacman はリポジトリにあるビルド済みのパッケージのアップデートだけを扱います。AUR パッケージは PKGBUILD の形で再配布され、再ビルドのプロセスを自動化するために AUR ヘルパーが必要です。しかし、パッケージ自体がアップデートされたときだけでなく、共有ライブラリの依存関係が更新されたときにもパッケージのリビルドが必要になることがあることを覚えておいてください。

用語集

比較表 の列は、以下のような意味を持ちます。

File review
デフォルトでは PKGBUILD をソースしない か、ユーザーに警告を出しソースされる前に PKGBUILD を手動で検査する機会を提供します。ヘルパーの中にはユーザーが検査する前に PKGBUILD をソースして、悪意のあるコードを実行させる ものがあることが知られています。
Diff view
パッケージの差分を閲覧する機能です。PKGBUILD の他に、.install.patch ファイルなどのファイルの変更も含まれます。
Git クローン
AUR からビルドファイルを取得するためにデフォルトで git-clone(1) を使います。
高機能パーサー
aws-cli-gitAUR のような PKGBUILD parsing の代わりに提供されるメタデータ (RPC/.SRCINFO) を使って複雑なパッケージを扱うことができるようになりました。
高機能ソルバー
ros-melodic-desktopAUR のような、複雑な依存関係を正しく解決して構築する機能。
分割パッケージ
正しくビルドしてインストールする機能
  • clionAUR のように、リビルドや再インストールを何度もすることなく、同じパッケージベースから複数のパッケージを利用できます。
  • jellyfinAUR のように、同じパッケージベースのパッケージに依存するパッケージを分割します。
  • python-pyalsaaudioAURpython2-pyalsaaudioAUR のように、独立してパッケージを分割することができます。
シェルによる補完
Tab completion はリストアップされた コマンドラインシェル で利用可能です。
ノート:
  • オプション とは、コマンドライン引数または設定オプションによってのみ利用可能な機能であることを意味します。
  • 部分的 は、その機能が完全に実装されていない、または与えられた基準から部分的に逸脱していることを意味します。

比較表

検索とダウンロード

名前 言語 Git クローン 高機能パーサー 高機能ソルバー シェル補完 特記事項
auracle-gitAUR C++ Yes Yes Yes bash ビルドオーダーの印刷
pbgetAUR Python Yes Yes
repoctlAUR Go No Yes zsh ローカルリポジトリ
yaahAUR Bash オプション Yes bash

検索とビルド

名前 言語 File review Diff view Git クローン 高機能パーサー 高機能ソルバー 分割パッケージ シェル補完 特記事項
aurutilsAUR Bash Yes Yes Yes Yes Yes Yes Bash, zsh ローカルリポジトリ ローカルパッチ、パッケージ署名clean chroot
bauerbillAUR Python Yes No Yes Yes Yes Yes bash, zsh 信頼管理、ABS サポート、Powerpill の拡張。
PKGBUILDerAUR Python No No Yes Yes Yes 部分的 pb pacman ラッピング
ruaAUR Rust Yes Yes Yes Yes Yes Yes bash, zsh, fish ローカルパッチ, bubblewrap, .pkg.tar 操作

Pacman ラッパー

警告: pacman(8) ラッパーはパッケージマネージャの仕事を抽象化します。(オプションもしくはデフォルトで) 危険なフラグ や、システムの欠陥につながるその他の予期せぬ挙動を引き起こす可能性があります
ノート: 以下の pacman ラッパーはバッチオペレーションをサポートします(オンデマンドではありません)pacaurAUR, pikaurAUR, yayAUR, auraAUR, paruAURaurmanAUR
名前 言語 File review Diff view Git クローン 高機能パーサー 高機能ソルバー 分割パッケージ 危険なフラグ シェル補完 特記事項
auraAUR Haskell No 部分的 Yes Yes Yes Yes bash, fish, zsh
aurmanAUR Python Yes Yes Yes Yes 部分的 Yes -Sy
--ask
bash, fish fetch PGP keys
pacaurAUR Bash Yes Yes Yes Yes Yes Yes --ask bash, zsh
pakkuAUR Nim Yes Yes Yes Yes Yes Yes -Sy bash, zsh
paruAUR Rust Yes Yes Yes Yes Yes Yes -Sy
--ask
bash, fish, zsh ローカルリポジトリ, clean chroot
pikaurAUR Python Yes Yes Yes Yes Yes Yes -Sy bash, fish, zsh dynamic users
trizenAUR Perl Yes Yes Yes Yes Yes 部分的 bash, fish, zsh
yayAUR Go Yes Yes Yes Yes Yes Yes --ask bash, fish, zsh

グラフィカル

警告: グラフィカルな AUR ヘルパーの使用は、部分的なアップデート など、システムの欠陥につながる可能性があります。
  • Argon — Python で書かれた GTK3 pacman ラッパー
https://github.com/14mRh4X0r/arch-argon || argonAUR
  • Cylon — Bash で書かれた TUI pacman ラッパー
https://github.com/gavinlyonsrepo/cylon || cylonAUR
  • Kalu — libalpm と PolicyKit を使った Systray 通知アイコン、オプションのアップデータ付き
https://github.com/Thulinma/kalu || kaluAUR
  • Pamac — Vala で書かれた libalpm(3) を使用したスタンドアロン GTK3 パッケージマネージャ
https://gitlab.manjaro.org/applications/pamac || pamac-aurAUR
  • Pakku GUI — Python で書かれた pakku 用の GTK3 フロントエンド
https://gitlab.com/mrvik/pakku-gui || pakku-guiAUR
  • PkgBrowser — Python で書かれたリポジトリパッケージと AUR 用の Qt5 読み取り専用ブラウザ
https://osdn.net/projects/pkgbrowser/ || pkgbrowserAUR
  • Octopi — C++ 書かれた Qt5 pacman ラッパー
https://tintaescura.com/projects/octopi || octopiAUR
  • Yup — Go で書かれた Curses 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
  • aurpublishgit-subtree(1) を使って AUR パッケージを管理・アップロードするためのヘルパースクリプトです。githooks(5) を使って PKGBUILD の整合性を確認し、.SRCINFO を自動生成し、コミットメッセージテンプレートを作っています。
https://github.com/eli-schwartz/aurpublish || aurpublish
https://github.com/archlinux/devtools || devtools
  • pkgbuild-watch — 上流のウェブページに変化がないか確認。
http://kmkeen.com/pkgbuild-watch || pkgbuild-watchAUR
  • pkgoutofdate — PKGBUILD からソース URL を分析してバージョン番号を増やしてウェブサーバーにリクエストを送信、新しいバージョンが存在しないか確認。
https://github.com/anatol/pkgoutofdate || pkgoutofdate-gitAUR

その他

  • aur-talk — AURコメントの取得と表示。
https://github.com/GermainZ/aur-talk || aur-talk-gitAUR
  • aurvote-utils — AUR投票管理用ユーティリティ一式。
https://github.com/jadenPete/aurvote-utils || aurvote-utilsAUR
  • haskell-aur — Aurweb RPC インターフェースにアクセスするための Haskell ライブラリ。
https://hackage.haskell.org/package/aur || haskell-aurAUR
  • package-querylibalpm(3) と AUR を検索するためのツールです。
https://github.com/archlinuxfr/package-query || package-queryAUR
  • python3-aur — AUR パッケージ情報にアクセスし、AUR とのやりとりを自動化するための Python 3 モジュールとヘルパーユーティリティです。
https://xyne.dev/projects/python3-aur || python3-aurAUR
https://gitlab.com/davidbittner/raur ||