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

提供: ArchWiki
ナビゲーションに移動 検索に移動
(Pkg/AUR テンプレートの更新)
(→‎Pacman ラッパー: 情報を更新)
 
(6人の利用者による、間の37版が非表示)
1行目: 1行目:
 
[[Category:パッケージ管理]]
 
[[Category:パッケージ管理]]
  +
[[Category:ソフトウェア比較]]
 
[[de:AUR Hilfsprogramme]]
 
[[de:AUR Hilfsprogramme]]
 
[[en:AUR helpers]]
 
[[en:AUR helpers]]
6行目: 7行目:
 
[[ru:AUR helpers]]
 
[[ru:AUR helpers]]
 
[[zh-hans:AUR helpers]]
 
[[zh-hans:AUR helpers]]
  +
{{Warning|1=AUR ヘルパーは Arch Linux では '''サポートされていません''' 問題のトラブルシューティングに備えるために、[[Arch User Repository#パッケージのインストールとアップグレード|手動ビルドプロセス]] に慣れる必要があります}}
{{Warning|このページに記載しているツールには Arch 開発者による公式サポートはありません。[https://bbs.archlinux.org/viewtopic.php?pid=828254#p828254 このスレッド] を見て下さい。}}
 
   
'''AUR ヘルパー'''は [[Arch User Repository]] をより便に使うために書かれたものです。
+
AUR ヘルパーは [[Arch User Repository]] 用を自動化するものです。特に、以下のタスクを自動化することができます。
   
  +
* AUR で公開されているパッケージの検索。
== アップロード ==
 
  +
* AUR パッケージ間の依存関係を解決する。
  +
* AUR パッケージの取得とビルド
  +
* ユーザーコメントのようなウェブコンテンツの取得
  +
* AUR パッケージの投稿
   
  +
[[Pacman]] はリポジトリにあるビルド済みのパッケージのアップデートだけを扱います。AUR パッケージは [[PKGBUILD]] の形で再配布され、再ビルドのプロセスを自動化するために AUR ヘルパーが必要です。しかし、パッケージ自体がアップデートされたときだけでなく、共有ライブラリの依存関係が更新されたときにもパッケージのリビルドが必要になることがあることを覚えておいてください。
* [https://github.com/JonnyJD/PKGBUILDs/blob/master/_bin/aur4_import.sh aur4_import.sh] — git リポジトリから複数のパッケージにパッケージを分割します (コミットするたびに {{ic|.SRCINFO}} を追加・更新)。
 
* [https://github.com/JonnyJD/PKGBUILDs/blob/master/_bin/aur4_make_submodule.sh aur4_make_submodule.sh] — AUR 4 サブモジュールによって巨大な git リポジトリのパッケージを置き換えます。
 
* [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 フックによって行うことができます。
 
   
== ビルドと検索 ==
+
== 用語集 ==
パッケージの検索・ダウンロード・ビルドのための補助ユーティリティの一覧。
 
   
  +
[[AUR ヘルパー#比較表|比較表]] の列は、以下のような意味を持ちます。
* {{App|[[aura]]|多言語対応の Arch Linux パッケージマネージャ、Haskell で書かれています。全ての pacman オプションのサポートに加え、AUR パッケージを管理する機能と、しゃれたロゴを持っています。|https://github.com/fosskers/aura|{{AUR|aura}}}}
 
   
  +
;File review:デフォルトでは ''PKGBUILD をソースしない'' か、ユーザーに警告を出しソースされる前に PKGBUILD を手動で検査する機会を提供します。ヘルパーの中にはユーザーが検査する前に PKGBUILD をソースして、'''悪意のあるコードを実行させる''' ものがあることが知られています。
* {{App|auracle|C++ で書かれた AUR クライアント。|https://github.com/falconindy/auracle|{{AUR|auracle-git}}}}
 
  +
;Diff view:パッケージの差分を閲覧する機能です。PKGBUILD の他に、{{ic|.install}} や {{ic|.patch}} ファイルなどのファイルの変更も含まれます。
  +
;Git クローン:AUR からビルドファイルを取得するためにデフォルトで {{man|1|git-clone}} を使います。
  +
;高機能パーサー:{{AUR|aws-cli-git}} のような PKGBUILD [[w:Parsing#Parser|parsing]] の代わりに提供されるメタデータ ([[Aurweb RPC インターフェース|RPC]]/.SRCINFO) を使って複雑なパッケージを扱うことができるようになりました。
  +
;高機能ソルバー:{{AUR|ros-melodic-desktop}} のような、複雑な依存関係を正しく解決して構築する機能。
  +
;分割パッケージ:正しくビルドしてインストールする機能
  +
:* {{AUR|clion}} のように、リビルドや再インストールを何度もすることなく、同じパッケージベースから複数のパッケージを利用できます。
  +
:* {{AUR|jellyfin}} のように、同じパッケージベースのパッケージに依存するパッケージを分割します。
  +
:* {{AUR|python-pyalsaaudio}} と {{AUR|python2-pyalsaaudio}} のように、独立してパッケージを分割することができます。
  +
;シェルによる補完:[https://en.wikipedia.org/wiki/Command-line_completion Tab completion] はリストアップされた [[コマンドラインシェル]] で利用可能です。
   
  +
{{Note|
* {{App|aurel|2=Emacs から AUR パッケージを検索・投票・ダウンロード ([https://bbs.archlinux.org/viewtopic.php?id=177142 フォーラムページ])。|3=https://github.com/alezost/aurel|4={{AUR|aurel-git}}{{Broken package link|パッケージが存在しません}}}}
 
  +
* ''オプション'' とは、コマンドライン引数または設定オプションによってのみ利用可能な機能であることを意味します。
 
  +
* ''部分的'' は、その機能が完全に実装されていない、または与えられた基準から部分的に逸脱していることを意味します。}}
* {{App|aurget|シンプルで pacman ライクな AUR インターフェースです。AUR パッケージの検索・ダウンロード・ビルド・インストール・アップデートをクイックに行います。Aurget は純粋な pacman コマンドをラップしないように設計されています。|https://github.com/pbrisbin/aurget/|{{AUR|aurget}}}}
 
 
* {{App|aurquery|AUR の RPC インターフェースのキャッシュラッパー。python3-aur モジュールを使用。|https://xyne.archlinux.ca/projects/python3-aur|{{AUR|python3-aur}}}}
 
 
* {{App|aurutils|2=AUR のヘルパーツール ([https://bbs.archlinux.org/viewtopic.php?pid=1615428 フォーラムページ])。|3=https://github.com/AladW/aurutils|4={{AUR|aurutils}}}}
 
 
* {{App|bauerbill|2=ABS や AUR からパッケージをビルドできる [[Powerpill]]/pacman 拡張 ([https://bbs.archlinux.org/viewtopic.php?id=205834 フォーラムページ])。|3=https://xyne.archlinux.ca/projects/bauerbill|4={{AUR|bauerbill}}}}
 
 
* {{App|burgaur|cower の軽量なフロントエンド。Python で書かれています。|https://github.com/m45t3r/burgaur|{{AUR|burgaur}}}}
 
 
* {{App|cower|2=高速でシンプルな AUR 検索・ダウンロードエージェントで、アップデートのチェックや依存パッケージのダウンロードも行えます ([https://bbs.archlinux.org/viewtopic.php?id=97137 フォーラムページ])。|3=https://github.com/falconindy/cower|4={{AUR|cower}}}}
 
 
* {{App|pacaur|2=高速なワークフローを持つ AUR ラッパーで、cower をバックエンドとして使います。スピードとシンプリシティをターゲットにしていて、質素なインターフェースを持ちます。pbfetch に影響を受けています ([https://bbs.archlinux.org/viewtopic.php?pid=937423 フォーラムページ])。[https://bbs.archlinux.org/viewtopic.php?pid=1755144#p1755144 ''メンテナ募集中'']。|3=https://github.com/Spyhawk/pacaur|4={{AUR|pacaur}}}}
 
 
* {{App|pacget|2=pacaur のラッパーで yaourt の検索機能を模倣します。|3=https://github.com/neurobin/pacget|4={{AUR|pacget}}}}
 
 
* {{App|packer|2=pacman と AUR のラッパーです。Yaourt の基本的な機能をシンプルに、より素早くすることを目的に作られました。メインリポジトリや AUR のパッケージをインストール・アップデート・検索・情報を表示するコマンドを揃えています ([https://bbs.archlinux.org/viewtopic.php?id=88115 フォーラムページ])。|3=https://github.com/keenerd/packer|4={{AUR|packer}}}}
 
 
* {{App|pbget|Arch Linux の PKGBUILD とローカルソースファイルを取得するシンプルなコマンドラインツール。公式 SVN、CVS ウェブインタフェース、AUR、ABS rsync サーバーからファイルを取得できます。|https://xyne.archlinux.ca/projects/pbget|{{AUR|pbget}}}}
 
 
* {{App|1=PKGBUILDer|2=依存解決をサポートしている python3 AUR ヘルパー。(おそらく)最初の multiinfo を使ったアップデートをサポートしたヘルパーです。多くの便利な機能を含み、高速に動作するように書かれています。|3=https://github.com/Kwpolska/pkgbuilder|4={{AUR|pkgbuilder}}}}
 
 
* {{App|prm|AUR と ABS のヘルパー。|https://git.fleshless.org/prm/|[https://pkg.fleshless.org/prm/plain/PKGBUILD PKGBUILD]}}
 
 
* {{App|repoctl|ローカルリポジトリを管理するためのツール (AUR もサポート)。|https://github.com/cassava/repoctl|{{AUR|repoctl}}}}
 
 
* {{App|spinach|[[Bash]] で書かれた AUR ヘルパー。|http://www.floft.net/code/spinach/|{{AUR|spinach}}}}
 
 
* {{App|trizen|AUR の軽量ラッパー、Perl 製。|https://github.com/trizen/trizen|{{AUR|trizen}}}}
 
 
* {{App|wrapaur|bash で書かれたシンプルな pacman と AUR のラッパー。日常的なパッケージの作業を楽にします。{{Grp|base}}/{{Grp|base-devel}} のパッケージにしか依存していません。依存関係の解決や pacman のミラーリストを更新したり、パッケージのアップデートを通知、archlinux.org の最新ニュースや AUR のパッケージコメントを表示する機能などもあります。|https://github.com/whahn1983/wrapaur|{{AUR|wrapaur}}}}
 
 
* {{App|yaah|もうひとつの AUR ヘルパー。|https://bitbucket.org/the_metalgamer/yaah|{{AUR|yaah}}}}
 
 
* {{App|[[yaourt]] (Yet Another User Repository Tool)|コミュニティによる pacman のラッパーで、AUR へのシームレスアクセスや自動パッケージコンパイルを可能にします。多くの Arch バイナリパッケージに加えて、AUR にあるさらに多くの PKGBUILD を選んでインストールすることができるようになります。pacman と同じシンタックスを使うのでシステム管理について学び直す必要はありません、新しいオプションも追加されています。カラー化出力、インタラクティブ検索モードなどの数々の便利な機能を加えることで、yaourt は pacman のパワーとシンプリシティを拡張します。|http://archlinux.fr/yaourt-en|{{AUR|yaourt}}}}
 
 
* {{App|yay|[[Go]] で書かれた AUR ヘルパー。|https://github.com/Jguer/yay|{{AUR|yay}} または {{AUR|yay-bin}} (バイナリ)}}
 
 
== メンテナンス ==
 
 
* {{App|pkgbuild-watch|上流のウェブページに変化がないか確認。|http://kmkeen.com/pkgbuild-watch|{{AUR|pkgbuild-watch}}}}
 
 
* {{App|pkgbuildup|PKGBUILD ファイルの自動アップデート。シンプルなテンプレート変数をサポート。|リポジトリ: [https://github.com/fasheng/pkgbuildup GitHub]|{{AUR|pkgbuildup-git}}}}
 
 
* {{App|1=pkgcheck|2=PKGBUILD のルールを使って上流のバージョンを解析、ウェブページの変更を確認。|3=https://bbs.archlinux.org/viewtopic.php?id=162816|4=リポジトリ: [https://github.com/onny/pkgcheck GitHub]}}
 
 
* {{App|pkgoutofdate|PKGBUILD からソース URL を分析してバージョン番号を増やしてウェブサーバーにリクエストを送信、新しいバージョンが存在しないか確認。|リポジトリ: [https://github.com/anatol/pkgoutofdate GitHub]|{{AUR|pkgoutofdate-git}}}}
 
 
== ライブラリ ==
 
 
* {{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}}}}
 
 
== グラフィカル ==
 
 
* {{App|1=Aarchup|2=archup のフォーク。archup と同じオプションに加えて機能がいくつか追加されています。違いについては [https://bbs.archlinux.org/viewtopic.php?id=119129 changelog] を参照。|3=https://github.com/aericson/aarchup/|4={{AUR|aarchup}}}}
 
* {{App|1=Argon|2=pacaur のグラフィカルフロントエンド。パッケージのインストール・削除・アップデートが可能です。公式リポジトリと AUR パッケージの両方のアップデートを通知します。|3=https://github.com/14mRh4X0r/arch-argon|4={{AUR|argon}}}}
 
* {{App|pamac|Vala で書かれた libalpm の D-Bus デーモンと GTK+3 フロントエンド。|https://github.com/manjaro/pamac/|{{AUR|pamac-aur}}}}
 
* {{App|1=PkgBrowser|2=Arch パッケージを検索したり閲覧するためのアプリケーション。|3=https://bitbucket.org/kachelaqa/pkgbrowser/wiki/Home|4={{AUR|pkgbrowser}}}}
 
   
 
== 比較表 ==
 
== 比較表 ==
   
  +
=== 検索とダウンロード ===
凡例:
 
* ''セキュア'': デフォルトで PKGBUILD を source しない、または、source する前に警告を表示することを意味しています。ヘルパーによっては勝手に PKGBUILD を source してしまうので、問題のあるコードが実行されてしまう可能生があります。「任意」は自動 source をしないコマンドラインフラグまたは設定オプションが存在することを示しています。
 
* ''クリーンビルド'': ビルドプロセスに変数がエクスポートされないことを意味しています。
 
* ''高機能パーサー'': PKGBUILD を解析する代わりにメタデータ (RPC/.SRCINFO) を使用して複雑なパッケージ (例: {{AUR|aws-cli-git}}) でも管理できることを示しています。
 
* ''高機能ソルバー'': 複雑な依存関係 (例: {{AUR|plasma-git-meta}}) も解決してビルドすることができることを示しています。
 
* ''分割パッケージ'': 分割パッケージを別々にビルド・インストールできることを示しています。
 
* ''Git クローン'': AUR 4 から非推奨となった tarball ではなく git クローンを使うことを意味しています。
 
* ''構文'': P は [[Pacman]] に似ている構文を使用し、S は Pacman とは別の構文を使用します。
 
   
{| class="wikitable sortable"
+
{| class="wikitable sortable" style="text-align: center;"
! 名前 !! 言語 !! セキュア !!ーンビルド !! 高機能パーサー !! 高機能ソルバー !! 分割パッケージ !! Git クローン !! シェル補完 !! 構文 !! Specificity
+
! 名前 !! 言語 !! Gitーン !! 高機能パーサー !! 高機能ソルバー !! シェル補完 !! 特記事項
 
|-
 
|-
  +
! {{AUR|auracle-git}}
! aura
 
  +
| C++ || {{Yes|https://github.com/falconindy/auracle/commit/c73bbee}} || {{Yes}} || {{Yes}} || bash || {{L|ビルドオーダーの印刷}}
| Haskell || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} [https://github.com/aurapm/aura/issues/353] || {{No}} || style="text-align:center;" | bash/zsh || style="text-align:center;" |P || ダウングレード、[[ABS]]、[[powerpill]] をサポート。多言語対応。[[ArchHaskell]] を必要とします。
 
 
|-
 
|-
  +
! {{AUR|pbget}}
! auracle
 
| C++ || {{Yes}} || {{Grey|N/A}} || {{Yes}} || {{Yes}} || {{Grey|N/A}} || {{No}} || style="text-align:center;" | N/A || style="text-align:center;" | S || 自動ビルドは行いません。
+
| Python || {{Yes}} || {{Yes}} || {{-}} || {{-}} || {{-}}
 
|-
 
|-
  +
! {{AUR|repoctl}}
! aurel
 
  +
| Go || {{No}} || {{Yes|https://github.com/goulash/pacman/blob/master/aur/aur.go}} || {{-}} || zsh || {{L|[[Pacman ヒント#カスタムローカルリポジトリ|ローカルリポジトリ]]}}
| Emacs Lisp || {{Yes}} || {{Grey|N/A}} || {{Yes}} || {{Grey|N/A}} || {{Grey|N/A}} || {{No}} || style="text-align:center;" | N/A || style="text-align:center;" | S || Emacs と統合されています。自動ビルドは行いません。
 
 
|-
 
|-
  +
! {{AUR|yaah}}
! aurget
 
  +
| Bash || {{Y|オプション}} || {{Yes}} || {{-}} || bash || {{-}}
| Bash || {{Y|任意}} || {{Yes}} || {{No}} || {{No}} || {{No}} [https://github.com/pbrisbin/aurget/issues/40] || {{No}} || style="text-align:center;" | bash/zsh || style="text-align:center;" | P || 投票数でソートします。
 
  +
|}
  +
  +
=== 検索とビルド ===
  +
  +
{| class="wikitable sortable" style="text-align: center;"
  +
! 名前 !! 言語 !! File review !! Diff view !! Git クローン !! 高機能パーサー !! 高機能ソルバー !! 分割パッケージ !! シェル補完 !! 特記事項
 
|-
 
|-
! aurutils
+
! {{AUR|aurutils}}
| Bash/C || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || style="text-align:center;" | zsh || style="text-align:center;" | S || [[vifm]], [[w:ja:Perl Compatible Regular Expressions|PCRE]], [[カスタムローカルリポジトリ|ローカルリポジトリ]], [[pacman-key|パッケージ署名]], [[systemd-nspawn]] に対応。
+
| Bash || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Bash, zsh || {{L|[[Pacman ヒント#カスタムローカルリポジトリ|ローカルリポジトリ]] ローカルパッチ、[[pacman-key|パッケージ署名]][[DeveloperWiki:クリーンな chroot 内でビルドする|clean chroot]]}}
 
|-
 
|-
! bauerbill
+
! {{AUR|bauerbill}}
| Python || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || style="text-align:center;" | bash/zsh || style="text-align:center;" | P/S || 信頼管理、ABS に対応。Powerpill 拡張。
+
| Python || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || bash, zsh || 信頼管理、[[ABS]] サポート、Powerpill 拡張。
 
|-
 
|-
  +
! {{AUR|PKGBUILDer}}
! burgaur
 
| Python/C || {{Y|任意}} ([[mc]]) || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || style="text-align:center;" | なし || style="text-align:center;" | P || ''cower'' ラッパー。
+
| 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|rua}}
! pacaur
 
| Bash/C || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || style="text-align:center;" | bash/zsh || style="text-align:center;" | P/S || ユーザーの操作を最小化。多言語対応。投票数・人気度でソート。
+
| 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 コマンドを避けてください|危険なフラグ]] や、システムの欠陥につながるその他の予期せぬ挙動を引き起こす可能性があります}}
  +
  +
{{Note|以下の pacman ラッパーはバッチオペレーションをサポートします(オンデマンドではありません){{AUR|pacaur}}, {{AUR|pikaur}}, {{AUR|yay}}, {{AUR|aura}}, {{AUR|paru}}、{{AUR|aurman}}}}
  +
  +
{| class="wikitable sortable" style="text-align: center;"
  +
! 名前 !! 言語 !! File review !! Diff view !! Git クローン !! 高機能パーサー !! 高機能ソルバー !! 分割パッケージ !! 危険なフラグ !! シェル補完 !! 特記事項
 
|-
 
|-
  +
! {{AUR|aura}}
! packer
 
  +
| 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 || {{-}}
| Bash || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || style="text-align:center;" | なし || style="text-align:center;" | P || -
 
 
|-
 
|-
  +
! {{AUR|aurman}}
! pbget
 
| Python || {{Yes}} || {{Grey|N/A}} || {{Yes}} || {{Grey|N/A}} || {{Grey|N/A}} || {{Yes}} || style="text-align:center;" | なし || style="text-align:center;" | S || 自動ビルドを行いません。
+
| 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}}
! PKGBUILDer
 
| Python || {{Y|任意}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Y|部分的}} [https://github.com/Kwpolska/pkgbuilder/issues/39] || {{Yes}} || style="text-align:center;" | なし || style="text-align:center;" | P || デフォルトで自動ビルド。{{ic|-F}} で無効化。多言語対応。
+
| Bash || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Y|[https://github.com/E5ten/pacaur/commit/12707cc --ask]}} || bash, zsh || {{-}}
 
|-
 
|-
  +
! {{AUR|pakku}}
! prm
 
| Bash || {{Yes}} [https://git.fleshless.org/prm/commit/?id=e7252333b07975ea40f526269ce995e375e627bf] || {{Grey|N/A}} || {{Yes}} || {{Grey|N/A}} || {{Grey|N/A}} || {{Yes}} || style="text-align:center;" | なし || style="text-align:center;" | S || 自動ビルドを行いません。ABS に対応。
+
| 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}}
! repoctl
 
  +
| 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]}}
| Go || {{Yes}} || {{Grey|N/A}} || {{Yes}} [https://github.com/goulash/pacman/blob/master/aur/aur.go] || {{Grey|N/A}} || {{Grey|N/A}} || {{No}} || style="text-align:center;" | zsh || style="text-align:center;" | S || 自動ビルドを行いません。ローカルリポジトリに対応。
 
 
|-
 
|-
  +
! {{AUR|pikaur}}
! spinach
 
| Bash || {{Yes}} [https://github.com/floft/spinach/commit/545574700812eb369b9537370f085ec9e5c3f01a] || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || style="text-align:center;" | なし || style="text-align:center;" | S || -
+
| 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]}}
 
|-
 
|-
! trizen
+
! {{AUR|trizen}}
| Perl || {{Yes}} || {{Yes}} || {{Yes}} [https://github.com/trizen/trizen/commit/7ab7ee5f9f1f5d971b731d092fc8e1dd963add4b] || {{Yes}} || {{Yes}} [https://github.com/trizen/trizen/commit/3c94434c66ede793758f2bf7de84d68e3174e2ac] || {{Yes}} [https://github.com/trizen/trizen/commit/6fb0cc9e0ab66b8cca9493b0618ba4bab5fd2252] || style="text-align:center;" | なし || style="text-align:center;" | P || AUR のコメントを表示。
+
| 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 || {{-}}
|-
 
! wrapaur
 
| Bash || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{Yes}} || style="text-align:center;" | なし || style="text-align:center;" | S || マイナーアップデート。ニュースや AUR のコメントを表示。
 
|-
 
! yaah
 
| Bash || {{Yes}} || {{Grey|N/A}} || {{Yes}} || {{Grey|N/A}} || {{Grey|N/A}} || {{Y|任意}} || style="text-align:center;" | bash || style="text-align:center;" | S || 自動ビルドは行いません。
 
|-
 
! yaourt
 
| Bash/C || {{No}} (''yaourt -Si'') [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] || {{No}} [https://lists.archlinux.org/pipermail/aur-general/2015-August/031314.html] || {{No}} || {{No}} [https://github.com/archlinuxfr/yaourt/issues/186] || {{No}} [https://github.com/archlinuxfr/yaourt/issues/85] || {{Y|任意}} || style="text-align:center;" | bash/zsh/fish || style="text-align:center;" | P || バックアップ、ABS に対応、AUR コメントの表示、多言語対応。
 
|-
 
! yay
 
| Go || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Y|部分的}} || {{No}} || style="text-align:center;" | bash/zsh/fish || style="text-align:center;" | P || 投票数でソート。
 
 
|-
 
|-
  +
! {{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 || {{-}}
 
|}
 
|}
   
  +
== グラフィカル ==
{{Note|1=[[Pacman]] 4.2 からアーキテクチャ固有のフィールドが導入されました [http://allanmcrae.com/2014/12/pacman-4-2-released/]。しかしながら2016年4月6日現在、[[AurJson]] は全てのエントリをひとつのフィールドにまとめてしまいます: {{Bug|48796}}。RPC を使用するヘルパーは以下の方法を使うことで問題を回避できます:
 
  +
* {{AUR|bauerbill}} [https://bbs.archlinux.org/viewtopic.php?pid=1617235#p1617235], {{AUR|pkgbuilder}} [https://github.com/Kwpolska/pkgbuilder/blob/65d9d74ef05f8996b81afb1cd005e3c337afa8b2/pkgbuilder/build.py#L198]: [[.SRCINFO]] からアーキテクチャ固有のフィールドを取得する。
 
  +
{{Warning|グラフィカルな AUR ヘルパーの使用は、[[システムメンテナンス# 部分的なアップグレードはサポートされていません|部分的なアップデート]] など、システムの欠陥につながる可能性があります。}}
* {{AUR|aurutils}} [https://github.com/AladW/aurutils/issues/80], {{AUR|pacaur}} [https://github.com/rmarquis/pacaur/issues/465], {{AUR|trizen}} [https://github.com/trizen/trizen/commit/6a8ff9dc8cc83af783b8475dfbe89988dbc8a553]: {{ic|i686}} 環境で {{ic|lib32-}} プリフィックスを除去する。
 
  +
* {{App|Argon|Python で書かれた GTK3 pacman ラッパー|https://github.com/14mRh4X0r/arch-argon|{{AUR|argon}}}}
}}
 
  +
* {{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|Pamac|Vala で書かれた {{man|3|libalpm}} を使用したスタンドアロン GTK3 パッケージマネージャ
  +
|https://gitlab.manjaro.org/applications/pamac|{{AUR|pamac-aur}}}}
  +
* {{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|Octopi|C++ 書かれた Qt5 pacman ラッパー|https://tintaescura.com/projects/octopi|{{AUR|octopi}}}}
  +
* {{App|Yup|Go で書かれた Curses TUI pacman ラッパー|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|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|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}}}}
== 参照 ==
 
  +
* {{App|aurvote-utils|AUR投票管理用ユーティリティ一式。|https://github.com/jadenPete/aurvote-utils|{{AUR|aurvote-utils}}}}
* [http://www.slant.co/topics/1447/~what-is-the-best-aur-helper-for-arch-based-linux-distributions AUR helpers comparison]
 
  +
* {{App|haskell-aur|Aurweb RPC インターフェースにアクセスするための Haskell ライブラリ。|https://hackage.haskell.org/package/aur|{{AUR|haskell-aur}}}}
* [[pacman GUI フロントエンド]]
 
  +
* {{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||}}

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 ||