Difference between revisions of "Arch User Repository (日本語)"

From ArchWiki
Jump to: navigation, search
m (インストールする)
m
Line 20: Line 20:
 
[[zh-CN:Arch User Repository]]
 
[[zh-CN:Arch User Repository]]
 
{{Article summary start|概括}}
 
{{Article summary start|概括}}
{{Article summary text|Arch User Repository はユーザーが投稿した [[PKGBUILD (日本語)]] の集合であり、[[Official Repositories (日本語)|公式リポジトリ]]を補うものです。この記事では''サポートされていない''ソフトウェアパッケージを AUR から作成する方法について記述します。}}
+
{{Article summary text|Arch User Repository はユーザーが投稿した [[PKGBUILD (日本語)|PKGBUILD]] の集合であり、[[Official Repositories (日本語)|公式リポジトリ]]を補うものです。この記事では''サポートされていない''ソフトウェアパッケージを AUR から作成する方法について記述します。}}
 
{{Article summary heading|概要}}
 
{{Article summary heading|概要}}
 
{{Article summary text|{{Package management overview (日本語)}}}}
 
{{Article summary text|{{Package management overview (日本語)}}}}
Line 32: Line 32:
 
{{Article summary end}}
 
{{Article summary end}}
  
Arch User Repository (AUR) はコミュニティによって運営されている Arch ユーザーのためのリポジトリです。パッケージの詳細について書かれたファイル ([[PKGBUILD (日本語)]]) が集められており、[[makepkg]] を使ってソースからパッケージを作り、それを [[pacman (日本語)]] でインストールすることができます。コミュニティの手で新しいパッケージを共有することで、[[#.5Bcommunity.5D|[community]]] リポジトリへの人気のあるパッケージの取り込みを促進することを目的に、AUR は作られました。このページでは AUR のアクセス・使用の方法を説明します。
+
Arch User Repository (AUR) はコミュニティによって運営されている Arch ユーザーのためのリポジトリです。パッケージの詳細について書かれたファイル ([[PKGBUILD (日本語)|PKGBUILD]]) が集められており、[[makepkg]] を使ってソースからパッケージを作り、それを [[pacman (日本語)|pacman]] でインストールすることができます。コミュニティの手で新しいパッケージを共有することで、[[#.5Bcommunity.5D|[community]]] リポジトリへの人気のあるパッケージの取り込みを促進することを目的に、AUR は作られました。このページでは AUR のアクセス・使用の方法を説明します。
  
AUR から始まった多くの新しいパッケージが公式リポジトリに取り込まれています。AUR では、ユーザーはパッケージビルド (PKGBUILD と関連ファイル) を投稿することができます。AUR コミュニティ には AUR に存在するパッケージに対して投票する機能があります。投票が十分に集まると — ライセンスに問題がなくきちんとパッケージ化されているならば — [community] リポジトリに取り込まれます ([[pacman (日本語)]] や [[ABS|abs]] で直接獲得できるようになります)。
+
AUR から始まった多くの新しいパッケージが公式リポジトリに取り込まれています。AUR では、ユーザーはパッケージビルド (PKGBUILD と関連ファイル) を投稿することができます。AUR コミュニティ には AUR に存在するパッケージに対して投票する機能があります。投票が十分に集まると — ライセンスに問題がなくきちんとパッケージ化されているならば — [community] リポジトリに取り込まれます ([[pacman (日本語)|pacman]] や [[ABS|abs]] で直接獲得できるようになります)。
  
 
== はじめに ==
 
== はじめに ==
Line 65: Line 65:
  
 
# [[PKGBUILD (日本語)]] と systemd のユニットやパッチなど他の必要なファイル(ソースコードではない場合が多い)が含まれた tarball を取得します。
 
# [[PKGBUILD (日本語)]] と systemd のユニットやパッチなど他の必要なファイル(ソースコードではない場合が多い)が含まれた tarball を取得します。
# {{ic|tar xzf hoge.tar.gz}} で tarball を解凍します(なるべく AUR 用に作ったフォルダで行ってください)。
+
# {{ic|tar -xzf hoge.tar.gz}} で tarball を解凍します(なるべく AUR 用に作ったフォルダで行ってください)。
 
# ファイルが入ったディレクトリの中で {{ic|makepkg}} を実行します({{ic|makepkg -s}} で依存関係を自動的に解決します)。自動でソースコードをダウンロード、コンパイルしてまとめます。
 
# ファイルが入ったディレクトリの中で {{ic|makepkg}} を実行します({{ic|makepkg -s}} で依存関係を自動的に解決します)。自動でソースコードをダウンロード、コンパイルしてまとめます。
 
# {{ic|src/}} 内の README ファイルを探します。もしかしたら後で必要な操作が書かれているかもしれません。
 
# {{ic|src/}} 内の README ファイルを探します。もしかしたら後で必要な操作が書かれているかもしれません。
Line 218: Line 218:
 
  $ git clone <nowiki>git://pkgbuild.com/aur-mirror.git</nowiki>
 
  $ git clone <nowiki>git://pkgbuild.com/aur-mirror.git</nowiki>
  
詳しくは: [http://pkgbuild.com/git/aur-mirror.git/ Web interface], [http://pkgbuild.com/~td123/readme readme], [https://bbs.archlinux.org/viewtopic.php?id=113099 forum thread]。
+
詳しくは: [http://pkgbuild.com/git/aur-mirror.git/ Web interface], [https://bbs.archlinux.org/viewtopic.php?id=113099 forum thread]。
  
 
== FAQ ==
 
== FAQ ==
Line 249: Line 249:
 
|question=[community] にあるパッケージを "pacman -S hoge" したのですがインストールされません。
 
|question=[community] にあるパッケージを "pacman -S hoge" したのですがインストールされません。
 
|answer=おそらく {{ic|/etc/pacman.conf}} で [community] を有効にしていないのではないでしょうか。当該行をアンコメントしてください。
 
|answer=おそらく {{ic|/etc/pacman.conf}} で [community] を有効にしていないのではないでしょうか。当該行をアンコメントしてください。
{{ic|/etc/pacman.conf}} の [community] が有効になっていたのなら、{{ic|pacman -S -y}} で pkgcache を同期してからパッケージを再度取得してみてください。}}
+
{{ic|/etc/pacman.conf}} の [community] が有効になっていたのなら、{{ic|pacman -Syu}} で pkgcache を同期してからパッケージを再度取得してみてください。}}
  
 
{{FAQ
 
{{FAQ

Revision as of 07:12, 7 June 2013

概括 help replacing me
Arch User Repository はユーザーが投稿した PKGBUILD の集合であり、公式リポジトリを補うものです。この記事ではサポートされていないソフトウェアパッケージを AUR から作成する方法について記述します。
概要
Template:Package management overview (日本語)
関連項目
AUR Helpers (日本語)
AurJson
AUR Trusted User Guidelines
Resources
AUR Web Interface
AUR Mailing List

Arch User Repository (AUR) はコミュニティによって運営されている Arch ユーザーのためのリポジトリです。パッケージの詳細について書かれたファイル (PKGBUILD) が集められており、makepkg を使ってソースからパッケージを作り、それを pacman でインストールすることができます。コミュニティの手で新しいパッケージを共有することで、[community] リポジトリへの人気のあるパッケージの取り込みを促進することを目的に、AUR は作られました。このページでは AUR のアクセス・使用の方法を説明します。

AUR から始まった多くの新しいパッケージが公式リポジトリに取り込まれています。AUR では、ユーザーはパッケージビルド (PKGBUILD と関連ファイル) を投稿することができます。AUR コミュニティ には AUR に存在するパッケージに対して投票する機能があります。投票が十分に集まると — ライセンスに問題がなくきちんとパッケージ化されているならば — [community] リポジトリに取り込まれます (pacmanabs で直接獲得できるようになります)。

はじめに

AUR Web Interface で PKGBUILD を検索し、ダウンロードすることができます。PKGBUILD は makepkg を使ってパッケージにすることができ、pacman でインストールできます。

  • base-devel グループパッケージがインストールされている必要があります (pacman -S base-devel)。
  • この記事の下に、AUR パッケージをインストールする簡単なチュートリアルがあります。
  • アップデート情報や問題を知るために AUR Web Interface を訪れましょう。AUR で利用可能なパッケージの最新リストを見ることができます。
  • 普遍的な質問の答えはほとんど #FAQ に載っています。
  • /etc/makepkg.conf を修正することで、あなたのプロセッサに最適化して AUR からパッケージをビルドすることができます。特にマルチコア・プロセッサを使っている場合、MAKEFLAGS を調整することでコンパイル時間を大きく短縮することができるかもしれません。また、CFLAGS の設定で GCC に対してハードウェア個別の最適化を設定できます。詳しくは makepkg.conf を見て下さい。

歴史

以下の情報は歴史を語るためだけに存在しています。incoming と TUR は AUR により一新されて、すでに使われていません。

当初、ftp://ftp.archlinux.org/incoming というサーバーがあり、人々は PKGBUILD やビルドに必要なファイル、ビルド済みのパッケージをアップロードしていました。Package Maintainer が採用するまでプログラムはここに置かれたままでした。

その後、Trusted User リポジトリが誕生しました。コミュニティから許可された人のリポジトリを、誰でも使えるようにするためのリポジトリです。これを基礎として、より柔軟に使いやすくするために拡張されたものが AUR です。今でも、AUR のメンテナは TU (Trusted User) と呼ばれます。

検索

AUR のウェブインタフェースはこちらです。スクリプト(など)によってアクセスするのに適しているインターフェースはこちらになります。

MySQL に似た構文をつかってパッケージの名前と説明を検索します。これによって柔軟に検索条件を指定することが可能になります(例えば 'tool like grep' の代わりに 'tool%like%grep' と検索してみてください)。'%' を含んだ文字列を検索するときは、'/%' とエスケープしてください。

パッケージのインストール

AUR からパッケージをインストールする手順は比較的単純です。基本は:

  1. PKGBUILD (日本語) と systemd のユニットやパッチなど他の必要なファイル(ソースコードではない場合が多い)が含まれた tarball を取得します。
  2. tar -xzf hoge.tar.gz で tarball を解凍します(なるべく AUR 用に作ったフォルダで行ってください)。
  3. ファイルが入ったディレクトリの中で makepkg を実行します(makepkg -s で依存関係を自動的に解決します)。自動でソースコードをダウンロード、コンパイルしてまとめます。
  4. src/ 内の README ファイルを探します。もしかしたら後で必要な操作が書かれているかもしれません。
  5. 作られたパッケージを pacman (日本語) でインストールします:
# pacman -U /path/to/pkg.tar.xz

AUR Helpers (日本語) を使って AUR へのアクセスをもっと簡単にできます。ものによって機能は多少異なりますが、AUR の PKGBUILD の検索・獲得・ビルド・インストールを楽にするものです。全ての AUR Helper のスクリプトは AUR にあります。

Note: AUR からパッケージをインストールする公式の仕組みはありませんし今後も作られることはありません。全てのユーザーはビルドプロセスに慣れる必要があります。

以下は "hoge" というパッケージをインストールするときの詳細な説明です。

必須要件

まず必要なツールがインストールされているか確かめましょう。base-devel パッケージグループは絶対に必要です。make などの(ソースコードからの)コンパイルに必要なツールが含まれています。

Warning: AUR のパッケージは base-devel グループがインストールされているのを前提としているので、ビルドするにはこのグループのインストールが不可欠なのに関わらず、AUR パッケージはこのグループを依存のリストに挙げません。ビルドが失敗したら不満を言う前にこのグループがインストールされているか確認しましょう。
# pacman -S base-devel

次に適当なビルドディレクトリを選択します。ビルドディレクトリは単純にパッケージが作られる(または"ビルド"される)ディレクトリで、どのディレクトリでもかまいません。例えばこのようなディレクトリが使われます:

~/builds

ABS (Arch Build System) を使う場合は:

/var/abs/local

ABS に関する詳細情報は Arch Build System を読んで下さい。ここでは ~/builds をビルドディレクトリとして使います。

ビルドファイルを獲得

AUR からパッケージを入手します。検索機能(AUR home page の上部の検索ボックス)をつかってください。検索して出てきたリストからアプリケーションの名前をクリックしパッケージ情報のページを出します。説明を読んでそのパッケージをインストールすべきか決めて下さい。パッケージが最近更新されているなら、コメントも読んでおきましょう。

必要なビルドファイルをダウンロードします。パッケージ情報のページから、右にある "Package actions" 下の "Download tarball" リンクをクリックしてダウンロードします。ダウンロードしたファイルはビルドディレクトリに移してください。ここでは、"hoge.tar.gz" という名前のファイルということにします(標準フォーマットは pkgname.tar.gz です)。

パッケージのビルド

tarball を解凍します。ビルドディレクトリに cd してビルドファイルを解凍してください。

$ cd ~/builds
$ tar -xvzf hoge.tar.gz

ビルドディレクトリの中に "hoge" という名前の新しいディレクトリが作られるはずです。

Warning: 全てのファイルを注意してチェックしてください。新しく作られたディレクトリに cd した後、PKGBUILD と全ての .install ファイルを見て、悪意のあるコマンドが含まれていないかチェックします。PKGBUILDmakepkg で実行される bash スクリプトです: 有効な Bash 構文 やコマンドでありさえすればどんなコマンドも含むことができます、つまり作者の悪意や過失によって PKGBUILD に危険なコマンドが含まれていることがあるのです。makepkg は fakeroot を使うので(よって root で実行してはいけません)、ある程度の防護策は取られていますがそれに頼るのは危険です。疑わしいことがあれば、パッケージをビルドするのは中断してフォーラムやメーリングリストでアドバイスを求めましょう。
$ cd hoge
$ nano PKGBUILD
$ nano hoge.install

パッケージを作ります。ファイルが正しいか確認したあと、ビルドディレクトリにおいて通常ユーザーで makepkg を実行します。

$ makepkg -s

-s スイッチは sudo (日本語) を使って依存パッケージをインストールします。sudo を使うのが望ましくない場合は、手動で依存性を解決して上のコマンドから -s を外して実行してください。

インストールする

pacman を使ってパッケージをインストールします。次のような名前を持った tarball が作られているはずです:

<application name>-<application version number>-<package revision number>-<architecture>.pkg.tar.xz

作られたパッケージは、pacman の "upgrade" コマンドを使ってインストールできます:

# pacman -U hoge-0.1-1-i686.pkg.tar.xz   

こうやって手動でインストールされたパッケージは foreign package と呼ばれます — pacman に知らせていないリポジトリから作られたパッケージという意味です。全ての foreign package を表示するには:

$ pacman -Qm 
Note: 以上の例はパッケージをビルドする手順の簡単な概略です。makepkgABS のページにはもっと詳しい解説が載っています、初めて使うユーザーはぜひ読んで下さい。

フィードバック

AUR Web Interface にはコメント機能がありユーザーは PKGBUILD の作成者に提案やフィードバックをすることができます。パッチや PKGBUILD はコメントに書かないようにしてください: 鮮度がすぐ落ちて、無駄にスペースを埋めることになるからです。代わりにメンテナにメールを送るか、pastebin を使って下さい。

全ての Arch ユーザーにできる一番簡単な活動は、AUR のオンラインインターフェースを使ってお気に入りのパッケージに vote することです。全てのパッケージは TU によって [community] に取り込まれる資格があり、vote の数が理由の1つになります。また、投票数はみんなが気にしていることでもあります。

パッケージの共有

ユーザーは AUR の中で大事な役目をおっています、ユーザーコミュニティの参加・貢献なくしては AUR の真価は発揮されません。AUR パッケージのライフサイクルはユーザー次第であり様々な方法での貢献が求められます。

ユーザーは Arch User Repository を使って PKGBUILD をシェアすることができます。AUR にはバイナリパッケージはありませんが PKGBUILD をアップロードすることで他のユーザーもそれを使うことができるのです。これらの PKGBUILD は完全に非オフィシャルなものであり徹底して管理されてはいないので、自己責任において使うことになります。

パッケージを投稿する

AUR ウェブインタフェースにログイン後、ユーザーはパッケージのビルドファイルが入ったディレクトリを圧縮した tarball (.tar.gz) を投稿できます。ディレクトリには PKGBUILD (日本語).install ファイル、パッチなどを含めることができます(バイナリは絶対に入れないで下さい)。もし Arch Build System がインストールされているのならディレクトリの中がどのようになるか /var/abs で見ることができます。

tarball は次のコマンドで作って下さい:

$ makepkg --source 

仮に libhoge という名のパッケージを投稿する場合、ファイルはこのようになるはずです:

$ tar tf libhoge-0.1-1.src.tar.gz
libhoge/
libhoge/PKGBUILD
libhoge/libhoge.install

パッケージを投稿する際には、以下のルールを守りましょう:

  • そのパッケージがパッケージデータベースにすでに存在してないかチェックしてください。存在しているのなら、そのパッケージを投稿してはいけません。もし既にあるパッケージが壊れていたり機能していないのならバグレポートで報告してください。
  • そのパッケージが AUR にすでに存在してないかチェックしてください。メンテナンスされているパッケージがあるのならば、コメントからメンテナに修正を求めることができます。パッケージが既にメンテナンスされていないのなら、作ったパッケージに差し替えることができます。パッケージを重複させないでください。
  • あなたがアップロードするファイルを注意して問題ないかチェックしてください。全ての投稿者は PKGBUILD を書くときに Arch Packaging Standards (日本語) を読まなくてはなりません。AUR の効率的な運営と一般的な目的のために重要なことです。悪い PKGBUILD で利用者を苦しませているようではあなたの評判や名誉はうまれないでしょう。
  • バイナリを含んでいたり全く不十分のパッケージは警告なしで削除されることがあります。
  • もしパッケージ(やビルド・投稿プロセス)に自信がないときは、PKGBUILD を AUR Mailing ListAUR boards に投稿して見てもらってから AUR に加えてください。
  • そのパッケージが役に立つか考えて下さい。他の誰かがそのパッケージを使おうと考えるでしょうか?あまりにも特殊化しすぎていませんか?そのパッケージが役に立つと一般的な人が思うようなものであれば、投稿するのにふさわしいでしょう。
  • The AUR and official repositories are intended for packages which install generally software and software-related content, including one or more of the following: executable(s); config file(s); online or offline documentation for specific software or the Arch Linux distribution as a whole; media intended to be used directly by software.
  • パッケージを投稿しようとする前に経験をつみましょう。いくつかパッケージをビルドして手順を学んでから投稿してください。
  • 'package' という名前のファイルを含んだ package.tar.gz を投稿するとエラーが表示されます: 'Could not change to directory /home/aur/unsupported/package/package'。これを修正するには、ファイルの 'package' という名前を何か他の名前に変えてください、例えば、'package.rc'。pkg ディレクトリにインストールされたときに名前を 'package' に戻すことができます。Arch Packaging Standards (日本語)#パッケージを AUR に投稿する も読んで下さい。

パッケージのメンテナンス

  • メンテしている PKGBUILD をアップデートしたいと思った時は、それを再投稿してください。
  • 他のユーザーからのコメントやフィードバックをチェックして、ときには提案を汲み上げるようにしましょう。学習過程だと考えて下さい。
  • パッケージを投稿したらそのまま放置するのはやめてください。アップデートをチェックし、PKGBUILD を修正してパッケージをメンテナンスするのがメンテナの仕事です。
  • 何らかの理由でパッケージのメンテナンスが続けられない場合は、AUR ウェブインタフェースでパッケージを disown するかメーリングリストでことづてしてください。

その他

  • disown リクエストや消去リクエストは aur-general メーリングリストに流れ TU や他のユーザーによって決定されます。
  • パッケージ名と AUR ページヘの URL を書いて下さい, preferably with a footnote [1].
  • disown リクエストは通るのに2週間ほどかかることがあります。現在のメンテナにメールで連絡が行ってから返信を待つためです。
  • パッケージのマージも受け付けています、ユーザーはまず新しい名前でパッケージを再投稿して、古いバージョンのコメントや投票のマージをメーリングリストでリクエストしてください。
  • 消去リクエストには以下の情報が必要です:
    • パッケージ名と AUR ページの URL
    • 消去する理由、最低でも短いメモ書き
      注意: パッケージのコメント欄をパッケージの削除の理由を書くのに使うことはできません。TU ができるだけ早く行動するために、そのような情報は aur-general メーリングリストに書かれるべきです。
    • 補足事項を加えて下さい、仮にあなたがメンテナならば、他のパッケージで提供されるようになった、パッケージ名を変えて元の管理者が認めた、など。

消去リクエストは認められないことがあります、その場合、他のパッケージメンテナに移すためにパッケージを disown するようアドバイスされるかもしれません。

[community]

Trusted Users によって管理されている [community] リポジトリには AUR から取り込まれた多くの人気パッケージが含まれています。[community] リポジトリはデフォルトで /etc/pacman.conf で有効にされています。[community] を無効or削除されている時は、以下の2行をアンコメントor追加すれば有効にできます:

/etc/pacman.conf
...
[community]
Include = /etc/pacman.d/mirrorlist
...

このリポジトリは、AUR とは違い、バイナリパッケージのリポジトリであり pacman (日本語) によって直接インストールすることができますし、ビルドファイルに ABS でアクセスすることもできます。開発者によって、ディストリビューションの重要な地位を占めていると考えられるパッケージは、[core] もしくは [extra] リポジトリに移されることもあります。

ユーザーは [community] ビルドファイルに /etc/abs.conf を編集して [community] リポジトリ を REPOS で有効にすることによってもアクセス可能です。

Git リポジトリ

Thomas Dziedzic によって管理されている AUR の Git リポジトリでパッケージ履歴を回覧することができます。 1日にすくなくとも1回の頻度で更新されています。リポジトリを clone するには(数百 MB):

$ git clone git://pkgbuild.com/aur-mirror.git

詳しくは: Web interface, forum thread

FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ