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

提供: ArchWiki
ナビゲーションに移動 検索に移動
(前文情報更新)
 
(2人の利用者による、間の21版が非表示)
19行目: 19行目:
 
[[Pacman]] はリポジトリにあるビルド済みのパッケージのアップデートだけを扱います。AUR パッケージは [[PKGBUILD]] の形で再配布され、再ビルドのプロセスを自動化するために AUR ヘルパーが必要です。しかし、パッケージ自体がアップデートされたときだけでなく、共有ライブラリの依存関係が更新されたときにもパッケージのリビルドが必要になることがあることを覚えておいてください。
 
[[Pacman]] はリポジトリにあるビルド済みのパッケージのアップデートだけを扱います。AUR パッケージは [[PKGBUILD]] の形で再配布され、再ビルドのプロセスを自動化するために AUR ヘルパーが必要です。しかし、パッケージ自体がアップデートされたときだけでなく、共有ライブラリの依存関係が更新されたときにもパッケージのリビルドが必要になることがあることを覚えておいてください。
   
== ビルドと検索 ==
+
== 用語集 ==
   
  +
[[AUR ヘルパー#比較表|比較表]] の列は、以下のような意味を持ちます。
凡例:
 
  +
* ''セキュア'': デフォルトで PKGBUILD を source しない、または、source する前に警告を表示することを意味しています。ヘルパーによっては勝手に PKGBUILD を source してしまうので、問題のあるコードが実行されてしまう可能生があります。「任意」は自動 source をしないコマンドラインフラグまたは設定オプションが存在することを示しています。
 
  +
;File review:デフォルトでは ''PKGBUILD をソースしない'' か、ユーザーに警告を出しソースされる前に PKGBUILD を手動で検査する機会を提供します。ヘルパーの中にはユーザーが検査する前に PKGBUILD をソースして、'''悪意のあるコードを実行させる''' ものがあることが知られています。
* ''クリーンビルド'': 新しい変数がエクスポートされてビルドプロセスが失敗しないことを意味しています。
 
  +
;Diff view:パッケージの差分を閲覧する機能です。PKGBUILD の他に、{{ic|.install}} や {{ic|.patch}} ファイルなどのファイルの変更も含まれます。
* ''pacman ネイティブ'': {{ic|pacman -Syu}} など {{man|8|pacman}} コマンドの代わりとして使ったときに、デフォルトで以下のことを行いません [https://wiki.archlinux.org/index.php?title=Talk:AUR_helpers&oldid=515160#Add_.22pacman_wrap.22_column]:
 
  +
;Git クローン:AUR からビルドファイルを取得するためにデフォルトで {{man|1|git-clone}} を使います。
:– コマンドを分割しません。例えば {{ic|pacman -Syu}} が {{ic|pacman -Sy}} と {{ic|pacman -S ''packages''}} に分けられることがありません。
 
  +
;高機能パーサー:{{AUR|aws-cli-git}} のような PKGBUILD [[w:Parsing#Parser|parsing]] の代わりに提供されるメタデータ ([[Aurweb RPC インターフェース|RPC]]/.SRCINFO) を使って複雑なパッケージを扱うことができるようになりました。
:– データベースを手動で操作したり {{man|3|libalpm}} を使うのではなく ''pacman'' を直接使用します。
 
  +
;高機能ソルバー:{{AUR|ros-melodic-desktop}} のような、複雑な依存関係を正しく解決して構築する機能。
:さらに {{ic|pacman -Ud}}, {{ic|pacman -Rdd}}, {{ic|pacman --ask}}, {{ic|pacman --force}} などの[[Arch Linux の安定化#特定の pacman コマンドを使わない|危険なコマンド]]を勝手に使用しません。
 
  +
;分割パッケージ:正しくビルドしてインストールする機能
:{{Warning|上記の基準から外れる AUR ヘルパーは[[公式リポジトリ]]のパッケージのインストールなどで {{man|8|pacman}} を正しく使用しない場合がありますが、そのような使用方法はサポート・推奨されません。}}
 
  +
:* {{AUR|clion}} のように、リビルドや再インストールを何度もすることなく、同じパッケージベースから複数のパッケージを利用できます。
* ''高機能パーサー'': PKGBUILD を解析する代わりにメタデータ (RPC/.SRCINFO) を使用して複雑なパッケージ (例: {{AUR|aws-cli-git}}) でも管理できることを示しています。
 
  +
:* {{AUR|jellyfin}} のように、同じパッケージベースのパッケージに依存するパッケージを分割します。
* ''高機能ソルバー'': 複雑な依存関係 (例: {{AUR|ros-lunar-desktop}}) も解決してビルドすることができることを示しています。
 
* ''分割パッケージ'': 以下のような分割パッケージを正しくビルド・インストールできることを示しています:
+
:* {{AUR|python-pyalsaaudio}} と {{AUR|python2-pyalsaaudio}} のように、独立してパッケージを分割することができます
  +
;シェルによる補完:[https://en.wikipedia.org/wiki/Command-line_completion Tab completion] はリストアップされた [[コマンドラインシェル]] で利用可能です。
:– {{AUR|clion}} など、複数回ビルド・インストールする必要がない同一のパッケージベースを持つパッケージ。
 
:– {{Pkg|libc++}} や {{Pkg|libc++abi}} など同一のパッケージベースに依存する分割パッケージ。
 
:– {{AUR|python-pyalsaaudio}} や {{AUR|python2-pyalsaaudio}} など個別にインストールすることができる分割パッケージ。
 
* ''Git クローン'': tarball ではなく {{man|1|git-clone}} を使って AUR からビルドファイルを取得することを意味しています。
 
* ''差分表示'': パッケージの差分を表示することができる機能。PKGBUILD だけでなく、{{ic|.install}} や {{ic|.patch}} などのファイルの変更も含みます。
 
* ''バッチ操作'': 以下の作業を直接行うことができるかどうか:
 
# PKGBUILD の調査。
 
# パッケージアップグレードの合併。
 
# パッケージ衝突の解決とインストール。
 
:アスタリスクはユーザーが有効にできる機能であることを示しています。
 
* ''シェル補完'': [[w:Command-line_completion|タブ補完]]が特定の[[シェル]]で使用できる。
 
   
 
{{Note|
 
{{Note|
* ''オプション'' は、機能が利用可能であることを意味しますが、コマンドライン引数または構成オプションを介してのみ使用でます。
+
* ''オプション'' は、コマンドライン引数または設定オプションによってのみ可能な機能あることを意味します。
* ''部分的'' は、機能が完全に実装されていない指定された基準から部分的に逸脱していることを意味します。}}
+
* ''部分的'' は、その機能が完全に実装されていない、または与えられた基準から部分的に逸脱していることを意味します。}}
=== 開発中 ===
 
   
  +
== 比較表 ==
{| class="wikitable sortable" width="100%"
 
  +
! 名前 !! 言語 !! セキュア !! クリーンビルド !! pacman ネイティブ !! 高機能パーサー !! 高機能ソルバー !! 分割パッケージ !! Git クローン !! 差分表示 !! バッチ操作 || シェル補完 !! 特記事項
 
  +
=== 検索とダウンロード ===
  +
  +
{| class="wikitable sortable" style="text-align: center;"
  +
! 名前 !! 言語 !! File review !! Diff view !! Git クローン !! 高機能パーサー !! 高機能ソルバー !! シェル補完 !! 特記事項
 
|-
 
|-
! {{AUR|aurman}}
+
! {{AUR|auracle-git}}
| Python || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{G|[https://github.com/polygamma/aurman/wiki/Description-of-the-aurman-dependency-solving Yes]}} || {{Yes}} || {{Yes}} || {{Yes}} || style="text-align:center;" | 1, [https://github.com/polygamma/aurman#question-5 2*, 3*] || style="text-align:center;" | bash, fish || pgp 鍵の取得、投票・人気度でソト、ニュ出力。
+
| C++ || {{Yes}} || {{No}} || {{Yes|https://github.com/falconindy/auracle/commit/c73bbee}} || {{Yes}} || {{Yes}} || bash || {{L|ビルドオーの印刷}}
 
|-
 
|-
! {{AUR|aurutils}}
+
! {{AUR|pbget}}
  +
| Python || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{-}} || {{-}} || {{-}}
| Bash/C || {{Yes}} || {{Yes}} || {{Grey|N/A}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || style="text-align:center;" | 1 || style="text-align:center;" | zsh || [[vifm]]、[[カスタムローカルリポジトリ|ローカルリポジトリ]]、[[pacman-key|パッケージ署名]]、[[DeveloperWiki:クリーンな chroot 内でビルドする|clean chroot]] のサポート、投票・人気度でソート。
 
 
|-
 
|-
! {{AUR|pakku}}
+
! {{AUR|repoctl}}
  +
| Go || {{Yes}} || {{No}} || {{No}} || {{Yes|https://github.com/goulash/pacman/blob/master/aur/aur.go}} || {{-}} || bash, zsh, fish || {{L|[[Pacman ヒント#カスタムローカルリポジトリ|ローカルリポジトリ]]}}
| Nim || {{Yes}} || {{G|[https://github.com/kitsunyan/pakku/commit/864cc0373fd6095295f68cc44d1657bd17269732 Yes]}} || {{Y|[https://github.com/kitsunyan/pakku/wiki/Native-Pacman-Explanation 部分的]}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{G|[https://github.com/kitsunyan/pakku/commit/396e9f44c4f5a79c7b9238835599387f6ff418fe Yes]}} || style="text-align:center;" | 1 || style="text-align:center;" | bash, zsh || [[ABS]] のサポート、AUR コメント、PGP 鍵の取得。
 
 
|-
 
|-
! {{AUR|pikaur}}
+
! {{AUR|yaah}}
  +
| Bash || {{Yes}} || {{No}} || {{Y|オプション}} || {{Yes}} || {{-}} || bash || {{-}}
| Python || {{Yes}} || {{Yes}} || {{Y|[https://github.com/actionless/pikaur#pikaur 部分的]}} || {{Yes}} || {{Yes}} || {{G|[https://github.com/actionless/pikaur/commit/d409b958b4ff403d4fda06681231061854d32b3c Yes]}} || {{Yes}} || {{Yes}} || style="text-align:center;" | 1, 2, 3 || style="text-align:center;" | bash, fish, zsh || [http://0pointer.net/blog/dynamic-users-with-systemd.html 動的ユーザー]、[https://github.com/actionless/pikaur/tree/master/locale 多言語対応]、投票・人気度でソート、[https://github.com/actionless/pikaur/pull/191 ニュースの出力]。
 
  +
|}
  +
  +
=== 検索とビルド ===
  +
  +
{| class="wikitable sortable" style="text-align: center;"
  +
! 名前 !! 言語 !! File review !! Diff view !! Git クローン !! 高機能パーサー !! 高機能ソルバー !! 分割パッケージ !! シェル補完 !! 特記事項
 
|-
 
|-
! {{AUR|trizen}}
+
! {{AUR|aurutils}}
  +
| Bash || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Bash, zsh || {{L|[[Pacman ヒント#カスタムローカルリポジトリ|ローカルリポジトリ]] ローカルパッチ、[[pacman-key|パッケージ署名]]、[[DeveloperWiki:クリーンな chroot 内でビルドする|clean chroot]]}}
| Perl || {{Yes}} || {{Yes}} || {{G|[https://github.com/trizen/trizen/commit/9e7b40e110175ea5bc7a0fa002ffadbf1106704b Yes]}} || {{G|[https://github.com/trizen/trizen/commit/7ab7ee5f9f1f5d971b731d092fc8e1dd963add4b Yes]}} || {{Yes}} || {{Y|[https://github.com/trizen/trizen/issues/46 部分的]}} || {{G|[https://github.com/trizen/trizen/commit/6fb0cc9e0ab66b8cca9493b0618ba4bab5fd2252 Yes]}} || {{Yes}} || style="text-align:center;" | 1* || style="text-align:center;" | bash, zsh, fish || デフォルトで自動ビルド ({{ic|-G}} で無効化)、AUR コメント。
 
|-
 
! {{AUR|yay}}
 
| Go || {{Yes}} || {{Yes}} || {{Y|[https://github.com/Jguer/yay/issues/464 部分的]}} || {{Yes}} || {{Yes}} || {{Yes}} || {{G|[https://github.com/Jguer/yay/pull/297 Yes]}} || {{G|[https://github.com/Jguer/yay/pull/447 Yes]}} || style="text-align:center;" | 1, 2, 3 || style="text-align:center;" | bash, fish, zsh || 投票でソート、PGP 鍵の取得、[https://github.com/Jguer/yay/commit/4bcd3a6297052714e91e3f886602ce5c12d15786 アーキテクチャの確認]。
 
|-
 
! {{AUR|paru}}
 
| Rust || {{Yes}} || {{Yes}} || {{Y|[https://github.com/Morganamilo/paru 部分的]}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || style="text-align:center;" | 1, 2, 3 || style="text-align:center;" | bash, fish, zsh || 投票でソート、PGP 鍵の取得、アーキテクチャの確認。
 
 
|-
 
|-
 
! {{AUR|bauerbill}}
 
! {{AUR|bauerbill}}
| Python || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || style="text-align:center;" | 1 || style="text-align:center;" | bash, zsh || 信頼管理、[[ABS]] サポート、Powerpill の拡張。
+
| Python || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || bash, zsh || 信頼管理、[[ABS]] サポート、Powerpill の拡張。
 
|-
 
|-
 
! {{AUR|PKGBUILDer}}
 
! {{AUR|PKGBUILDer}}
| Python || {{Y|任意}} || {{Yes}} || {{G|[https://github.com/Kwpolska/pkgbuilder/blob/master/docs/wrapper.rst Yes]}} || {{Yes}} || {{Yes}} || {{Y|[https://github.com/Kwpolska/pkgbuilder/issues/39 部分的]}} || {{Yes}} || {{R|[https://github.com/Kwpolska/pkgbuilder/issues/36 No]}} || style="text-align:center;" | 1* || style="text-align:center;" | - || デフォルトで自動ビルド ({{ic|-F}} で無効化)、多言語対応。
+
| Python || {{No}} || {{No|https://github.com/Kwpolska/pkgbuilder/issues/36}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Y|[https://github.com/Kwpolska/pkgbuilder/issues/39 部分的]}} || {{-}} || {{L|{{ic|pb}} ''pacman'' ラッピング}}
|-
 
! {{AUR|aura}}
 
| Haskell || {{Y|任意}} || {{Yes}} || {{G|[https://github.com/aurapm/aura/blob/master/aura/src/Aura/Pacman.hs Yes]}} || {{G|[https://github.com/aurapm/aura/commit/7848e9830cd880215f1d12a1c0294992428ea778 Yes]}} || {{No}} || {{R|[https://github.com/aurapm/aura/issues/353 No]}} || {{R|[https://github.com/aurapm/aura/pull/346 No]}} || {{Y|[https://github.com/aurapm/aura/blob/89bf702bd0539fa757265c4c54ea2192155f85ed/aura/src/Aura/Pkgbuild/Records.hs 部分的]}} || style="text-align:center;"| 1* || style="text-align:center;" | bash, zsh || デフォルトで自動ビルド ({{ic|--dryrun}} で無効化)。[[ダウングレード]]のサポート、多言語対応。
 
|-
 
! {{AUR|repofish}}
 
| Bash || {{Y|任意}} || {{Yes}} || {{Grey|N/A}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || style="text-align:center;" | 1* || style="text-align:center;" | - || デフォルトで自動ビルド ({{ic|check}} または {{ic|update}} で無効化)、[[カスタムローカルリポジトリ|ローカルリポジトリ]]のサポート。
 
|-
 
! {{AUR|wrapaur}}{{Broken package link|パッケージが存在しません}}
 
| Bash || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || style="text-align:center;" | - || style="text-align:center;" | - || ミラーの更新、ニュース・AUR コメントの出力。
 
|-
 
! {{AUR|aurget}}
 
| Bash || {{Y|任意}} || {{Yes}} || {{Grey|N/A}} || {{No}} || {{No}} || {{R|[https://github.com/pbrisbin/aurget/issues/40 No]}} || {{No}} || {{R|[https://github.com/pbrisbin/aurget/issues/41 No]}} || style="text-align:center;" | - || style="text-align:center;" | bash, zsh || 投票でソート。
 
 
|-
 
|-
  +
! {{AUR|rua}}
  +
| Rust || {{Yes}} || {{Yes|https://github.com/vn971/rua/commit/0459a8b}} || {{Yes}} || {{Yes|https://github.com/vn971/rua/commit/fc8c2f3}} || {{Yes}} || {{Yes|https://github.com/vn971/rua/commit/7889045}} || bash, zsh, fish || {{L|ローカルパッチ, [[bubblewrap]], {{ic|.pkg.tar}} 操作}}
 
|}
 
|}
   
=== 検索のみ ===
+
=== Pacman ラッパー ===
   
  +
{{Warning|{{man|8|pacman}} ラッパーはパッケージマネージャの仕事を抽象化します。(オプションもしくはデフォルトで) [[システムメンテナンス#特定の pacman コマンドを避けてください|危険なフラグ]] や、システムの欠陥につながるその他の予期せぬ挙動を引き起こす可能性があります}}
{| class="wikitable sortable" width="100%"
 
! 名前 !! 言語 !! セキュア !! 高機能パーサー !! 高機能ソルバー !! Git クローン !! シェル補完 !! 特記事項
 
|-
 
! {{AUR|pbget}}
 
| Python || {{Yes}} || {{Yes}} || {{Grey|N/A}} || {{Yes}} || style="text-align:center;" | - || -
 
|-
 
! {{AUR|yaah}}
 
| Bash || {{Yes}} || {{Yes}} || {{Grey|N/A}} || {{Y|任意}} || style="text-align:center;" | bash || -
 
|-
 
! {{AUR|auracle-git}}
 
| C++ || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || style="text-align:center;" | - || ビルドの順序を表示。
 
|-
 
! {{AUR|package-query}}
 
| C || {{Yes}} || {{No}} [https://github.com/archlinuxfr/package-query/issues/135] || {{Grey|N/A}} || {{Grey|N/A}} || style="text-align:center;" | - || -
 
|-
 
! {{AUR|repoctl}}
 
| Go || {{Yes}} || {{Yes}} [https://github.com/goulash/pacman/blob/master/aur/aur.go] || {{Grey|N/A}} || {{No}} || style="text-align:center;" | zsh || ローカルリポジトリのサポート。
 
|-
 
|}
 
   
  +
{{Note|以下の pacman ラッパーはバッチオペレーションをサポートします(オンデマンドではありません){{AUR|pacaur}}, {{AUR|pikaur}}, {{AUR|yay}}, {{AUR|aura}}, {{AUR|paru}}、{{AUR|aurman}}}}
=== 開発終了または問題あり ===
 
   
  +
{| class="wikitable sortable" style="text-align: center;"
以下の表では作者によって開発中止とされたプロジェクトや、''セキュア'', ''クリーンビルド'', ''pacman ネイティブ'' ([[#ビルドと検索]]を参照) のどれかに問題を抱えているツールを記載しています。
 
  +
! 名前 !! 言語 !! File review !! Diff view !! Git クローン !! 高機能パーサー !! 高機能ソルバー !! 分割パッケージ !! 危険なフラグ !! シェル補完 !! 特記事項
 
{| class="wikitable sortable" width="100%"
 
! 名前 !! 言語 !! セキュア !! クリーンビルド !! pacman ネイティブ !! 高機能パーサー !! 高機能ソルバー !! 分割パッケージ !! Git クローン !! 差分表示 !! バッチ操作 || シェル補完 !! 特記事項
 
 
|-
 
|-
  +
! {{AUR|aura}}
! {{AUR|aurel}}{{Broken package link|パッケージが存在しません}} [https://bbs.archlinux.org/viewtopic.php?pid=1522459#p1522459]
 
  +
| 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 || {{-}}
| Emacs Lisp || {{Yes}} || {{Grey|N/A}} || {{Grey|N/A}} || {{Grey|N/A}} || {{Grey|N/A}} || {{Grey|N/A}} || {{No}} || {{Grey|N/A}} || style="text-align:center;"|N/A || style="text-align:center;" | N/A || Emacs 統合、自動ビルドなし。
 
 
|-
 
|-
  +
! {{AUR|aurman}}
! {{AUR|pacaur}} [https://bbs.archlinux.org/viewtopic.php?pid=1755144#p1755144]
 
  +
| 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}}
| Bash/C || {{Yes}} || {{Yes}} || {{R|[https://github.com/rmarquis/pacaur/commit/d8f49188452785fb28afc017baadd01d9e24ba21 No]}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || style="text-align:center;"| 1, 3 || style="text-align:center;" | bash, zsh || 多言語対応、投票・人気度でソート。
 
 
|-
 
|-
  +
! {{AUR|pacaur}}
! {{AUR|spinach}}{{Broken package link|パッケージが存在しません}} [https://github.com/floft/spinach]
 
| Bash || {{G|[https://github.com/floft/spinach/commit/545574700812eb369b9537370f085ec9e5c3f01a Yes]}} || {{Yes}} || {{Grey|N/A}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || style="text-align:center;" | - || style="text-align:center;" | - || -
+
| Bash || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Y|[https://github.com/E5ten/pacaur/commit/12707cc --ask]}} || bash, zsh || {{-}}
 
|-
 
|-
  +
! {{AUR|pakku}}
! {{AUR|burgaur}}{{Broken package link|パッケージが存在しません}} [https://github.com/m45t3r/burgaur/issues/7#issuecomment-365599675]
 
| Python/C || {{Y|任意}} || {{Yes}} || {{Grey|N/A}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || style="text-align:center;" | - || style="text-align:center;" | - || ''cower'' のラッパー。
+
| 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 || {{-}}
 
|-
 
|-
! {{Pkg|packer}}
+
! {{AUR|paru}}
  +
| 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]}}
| Bash || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || style="text-align:center;" | - || style="text-align:center;" | - || -
 
 
|-
 
|-
  +
! {{AUR|pikaur}}
! {{AUR|yaourt}}{{Broken package link|パッケージが存在しません}}
 
  +
| 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]}}
| Bash/C || {{No}} [https://github.com/archlinuxfr/yaourt/blob/f373121d23d87031a24135fee593115832d803ec/src/lib/aur.sh#L47] [https://github.com/archlinuxfr/yaourt/blob/d9790e29cd7194535c793f51d185b7130a396916/src/lib/pkgbuild.sh.in#L415-L438] || {{R|[https://lists.archlinux.org/pipermail/aur-general/2015-August/031314.html No]}} || {{No}} || {{No}} || {{R|[https://github.com/archlinuxfr/yaourt/issues/186 No]}} || {{R|[https://github.com/archlinuxfr/yaourt/issues/85 No]}} || {{Y|任意}} || {{Y|任意}} || style="text-align:center;" | 2 || style="text-align:center;" | bash, zsh, fish || バックアップ、ABS のサポート、AUR コメントの表示、多言語対応。
 
  +
|-
  +
! {{AUR|trizen}}
  +
| Perl || {{Yes}} || {{Yes}} ||{{Yes|https://github.com/trizen/trizen/commit/6fb0cc9}} || {{Yes|https://github.com/trizen/trizen/commit/7ab7ee5f}} || {{Yes}} || {{Y|[https://github.com/trizen/trizen/issues/46 部分的]}} || {{-}} || bash, fish, zsh || {{-}}
 
|-
 
|-
  +
! {{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}} || {{Y|[https://github.com/Jguer/yay/commit/ea5a94e --ask]}} || bash, fish, zsh || {{-}}
 
|}
 
|}
   
== ライブラリ ==
+
== フィカル ==
 
* {{App|haskell-archlinux|[[Haskell]] 言語を使って AUR にアクセスしパッケージのメタデータを取得するためのライブラリ。|https://hackage.haskell.org/package/archlinux|{{AUR|haskell-archlinux}}}}
 
 
* {{App|python3-aur|AUR パッケージの情報にアクセスしたり AUR の操作を自動化するための Python 3 モジュール。|https://xyne.archlinux.ca/projects/python3-aur|{{AUR|python3-aur}}}}
 
 
== GUI ==
 
   
{{Warning|グラフィカルなAURヘルパー使用すると、システム欠陥が生じる可能性があります。 [https://wiki.archlinux.org/index.php/System_maintenance#Partial_upgrades_are_unsupported partial upgrades.]}}
+
{{Warning|グラフィカルな AUR ヘルパー使用[[システムメンテナンス# 部分的なアップグレードはサポートされていません|部分的なアップデート]] など、システムの欠陥につながる可能性があります。}}
* {{App|Argon|Python で書かれた GTK3 pacman wrapper|https://github.com/14mRh4X0r/arch-argon|{{AUR|argon}}}}
+
* {{App|Argon|Python で書かれた GTK3 pacman ラッパー|https://github.com/14mRh4X0r/arch-argon|{{AUR|argon}}}}
  +
* {{App|Bauh|AppImage、Debian、Arch パッケージ (AUR を含む)、Flatpak、Snap、およびネイティブ Web アプリケーションをサポートする Qt5 Python アプリ|https://github.com/vinifmor/bauh|{{AUR|bauh}}}}
* {{App|Cylon|Bash で書かれた TUI pacman wrapper|https://github.com/gavinlyonsrepo/cylon|{{AUR|cylon}}}}
 
  +
* {{App|Cylon|Bash で書かれた TUI pacman ラッパー|https://github.com/gavinlyonsrepo/cylon|{{AUR|cylon}}}}
  +
* {{App|Kalu|libalpm と [[PolicyKit]] を使った Systray 通知アイコン、オプションのアップデータ付き|https://github.com/Thulinma/kalu|{{aur|kalu}}}}
  +
* {{App|Octopi|C++ 書かれた Qt5 pacman ラッパー|https://tintaescura.com/projects/octopi|{{AUR|octopi}}}}
  +
* {{App|Pacseek|Arch Linux パッケージを検索してインストールするためのターミナルユーザーインターフェイス|https://github.com/moson-mo/pacseek|{{AUR|pacseek}}}}
 
* {{App|Pamac|Vala で書かれた {{man|3|libalpm}} を使用したスタンドアロン GTK3 パッケージマネージャ
 
* {{App|Pamac|Vala で書かれた {{man|3|libalpm}} を使用したスタンドアロン GTK3 パッケージマネージャ
 
|https://gitlab.manjaro.org/applications/pamac|{{AUR|pamac-aur}}}}
 
|https://gitlab.manjaro.org/applications/pamac|{{AUR|pamac-aur}}}}
* {{App|Pakku GUI|Python で書かれた pakku 用の GTK3 フロントエンド|{{AUR|pakku-gui}}}}
+
* {{App|Pakku GUI|Python で書かれた pakku 用の GTK3 フロントエンド|https://gitlab.com/mrvik/pakku-gui|{{AUR|pakku-gui}}}}
 
* {{App|PkgBrowser|Python で書かれたリポジトリパッケージと AUR 用の Qt5 読み取り専用ブラウザ|https://osdn.net/projects/pkgbrowser/|{{AUR|pkgbrowser}}}}
 
* {{App|PkgBrowser|Python で書かれたリポジトリパッケージと AUR 用の Qt5 読み取り専用ブラウザ|https://osdn.net/projects/pkgbrowser/|{{AUR|pkgbrowser}}}}
* {{App|Octopi|Qt 5 pacman wrapper written in C++.|https://tintaescura.com/projects/octopi|{{AUR|octopi}}}}
+
* {{App|Yup|Go で書かれた Curses TUI pacman ラッパー|https://github.com/ericm/yup|{{AUR|yup}}}}
* {{App|Yup|Go で書かれた Curses TUI pacman wrapper|https://github.com/ericm/yup|{{AUR|yup}}}}
 
   
 
== メンテナンス ==
 
== メンテナンス ==
   
 
* {{App|aur-out-of-date|ホストの API を使って AUR 上流の変更をチェック。|https://github.com/simon04/aur-out-of-date|{{AUR|aur-out-of-date}}}}
 
* {{App|aur-out-of-date|ホストの API を使って AUR 上流の変更をチェック。|https://github.com/simon04/aur-out-of-date|{{AUR|aur-out-of-date}}}}
  +
  +
* {{App|aurpublish|{{man|1|git-subtree}} を使って AUR パッケージを管理・アップロードするためのヘルパースクリプトです。{{man|5|githooks}} を使って PKGBUILD の整合性を確認し、.SRCINFO を自動生成し、コミットメッセージテンプレートを作っています。|https://github.com/eli-schwartz/aurpublish|{{Pkg|aurpublish}}}}
  +
  +
* {{App|[https://wiki.archlinux.org/title/DeveloperWiki:Building_in_a_clean_chroot devtools]|パッケージが正しいことを確認するために、クリーンな環境 ([[systemd-nspawn]] コンテナ) でパッケージをビルドします。{{AUR|aurutils}} と {{AUR|clean-chroot-manager}} でラッピングされています。|https://github.com/archlinux/devtools|{{Pkg|devtools}}}}
   
 
* {{App|pkgbuild-watch|上流のウェブページに変化がないか確認。|http://kmkeen.com/pkgbuild-watch|{{AUR|pkgbuild-watch}}}}
 
* {{App|pkgbuild-watch|上流のウェブページに変化がないか確認。|http://kmkeen.com/pkgbuild-watch|{{AUR|pkgbuild-watch}}}}
168行目: 137行目:
 
* {{App|pkgoutofdate|PKGBUILD からソース URL を分析してバージョン番号を増やしてウェブサーバーにリクエストを送信、新しいバージョンが存在しないか確認。|https://github.com/anatol/pkgoutofdate|{{AUR|pkgoutofdate-git}}}}
 
* {{App|pkgoutofdate|PKGBUILD からソース URL を分析してバージョン番号を増やしてウェブサーバーにリクエストを送信、新しいバージョンが存在しないか確認。|https://github.com/anatol/pkgoutofdate|{{AUR|pkgoutofdate-git}}}}
   
== アップロード ==
+
== その他 ==
   
  +
* {{App|aur-talk|AURコメントの取得と表示。|https://github.com/GermainZ/aur-talk|{{AUR|aur-talk-git}}}}
* [https://github.com/JonnyJD/PKGBUILDs/blob/master/_bin/aur4_import.sh aur4_import.sh] — git リポジトリから複数のパッケージにパッケージを分割します (コミットするたびに {{ic|.SRCINFO}} を追加・更新)。
 
  +
* {{App|aurvote-utils|AUR投票管理用ユーティリティ一式。|https://github.com/jadenPete/aurvote-utils|{{AUR|aurvote-utils}}}}
* [https://github.com/JonnyJD/PKGBUILDs/blob/master/_bin/aur4_make_submodule.sh aur4_make_submodule.sh] — AUR 4 サブモジュールによって巨大な git リポジトリのパッケージを置き換えます。
 
  +
* {{App|haskell-aur|Aurweb RPC インターフェースにアクセスするための Haskell ライブラリ。|https://hackage.haskell.org/package/aur|{{AUR|haskell-aur}}}}
* [https://github.com/Edenhofer/abs/blob/master/aurpublish aurpublish] — [https://raw.githubusercontent.com/git/git/master/contrib/subtree/git-subtree.txt git サブツリー] として AUR パッケージを管理します。[https://github.com/Edenhofer/abs/blob/master/pre-commit.hook {{ic|.SRCINFO}} ファイルの生成と {{ic|PKGBUILD}} のチェック]、[https://github.com/Edenhofer/abs/blob/master/prepare-commit-msg.hook コミットメッセージの作成] は同じ [https://github.com/Edenhofer/abs/blob/master/README.md リポジトリ] にある git フックによって行うことができます。
 
  +
* {{App|package-query|{{man|3|libalpm}} と AUR を検索するためのツールです。|https://github.com/archlinuxfr/package-query|{{AUR|package-query}}}}
  +
* {{App|python3-aur|AUR パッケージ情報にアクセスし、AUR とのやりとりを自動化するための Python 3 モジュールとヘルパーユーティリティです。|https://xyne.dev/projects/python3-aur|{{AUR|python3-aur}}}}
  +
* {{App|raur|[[Aurweb RPC インターフェース]] にアクセスするための Rust ライブラリです。|https://gitlab.com/davidbittner/raur||}}

2024年9月18日 (水) 19:14時点における最新版

警告: 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 はリストアップされた コマンドラインシェル で利用可能です。
ノート:
  • オプション とは、コマンドライン引数または設定オプションによってのみ利用可能な機能であることを意味します。
  • 部分的 は、その機能が完全に実装されていない、または与えられた基準から部分的に逸脱していることを意味します。

比較表

検索とダウンロード

名前 言語 File review Diff view Git クローン 高機能パーサー 高機能ソルバー シェル補完 特記事項
auracle-gitAUR C++ Yes No Yes Yes Yes bash ビルドオーダーの印刷
pbgetAUR Python Yes No Yes Yes
repoctlAUR Go Yes No No Yes bash, zsh, fish ローカルリポジトリ
yaahAUR Bash Yes No オプション 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
  • Bauh — AppImage、Debian、Arch パッケージ (AUR を含む)、Flatpak、Snap、およびネイティブ Web アプリケーションをサポートする Qt5 Python アプリ
https://github.com/vinifmor/bauh || bauhAUR
  • Cylon — Bash で書かれた TUI pacman ラッパー
https://github.com/gavinlyonsrepo/cylon || cylonAUR
  • Kalu — libalpm と PolicyKit を使った Systray 通知アイコン、オプションのアップデータ付き
https://github.com/Thulinma/kalu || kaluAUR
  • Octopi — C++ 書かれた Qt5 pacman ラッパー
https://tintaescura.com/projects/octopi || octopiAUR
  • Pacseek — Arch Linux パッケージを検索してインストールするためのターミナルユーザーインターフェイス
https://github.com/moson-mo/pacseek || pacseekAUR
  • 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
  • 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 ||