# Official Repositories (日本語)

関連記事

- ミラー
- Arch User Repository
- Unofficial user repositories
- PKGBUILD
- makepkg
- pacman
- Arch Build System

ソフトウェアリポジトリとは、コンピュータに取得・インストールされるパッケージを置いておくストレージのことです。Arch Linux のパッケージメンテナ (開発者と Trusted Users) は重要な・人気のあるソフトウェアパッケージが入った公式リポジトリを管理しています。この記事では公式にサポートされているリポジトリについて説明します。

## 歴史的背景

リポジトリが仕分けされていることには歴史的な理由があります。昔、Arch Linux を利用している人がとても少なかった頃、[official] (現在の [core]) と呼ばれるたった一つのリポジトリだけがありました。当時は、[official] には主として Judd Vinet が推奨するアプリケーションが入っていました。プログラムの"タイプ"ごとにそれぞれ一つのプログラムが入っていたのです -- 一つの DE, 一つのメジャーブラウザ、など。

ユーザーが Judd の選択したプログラムを好まない時は、簡単に使える Arch Build System により、自分たちでパッケージを作っていました。これらのパッケージは [unofficial] という名のリポジトリに入れられ、Judd 以外の開発者によって管理されていたのです。次第に、その 2 つのリポジトリは開発者によって等しくサポートされるようになり、[official] と [unofficial] という名前は実態を表さなくなりました。そこで、リリースバージョン 0.5 で、それらは共に[current] と [extra] と名前を変えました。

2007.8.1 リリースのすぐ後、何が含まれているのか混乱することを防ぐために [current] は [core] になりました。新旧リポジトリのほとんどは開発者やコミュニティの目からみると今でもあまり変わっていませんが、[core] は少々異なっています。主な区別は、インストール CD やリリーススナップショットに入っているパッケージだけを [core] に含んでいるということです。このリポジトリだけでも Linux システムを構築することはできますが、おそらくあなたの求める Linux システムにはなりません。

さて、0.5 や 0.6 の期間に、開発者が管理するには吝か、パッケージが多すぎることが問題になりました。開発者のひとり (Xentac) は "Trusted User リポジトリ" を作り、信用されたユーザー (Trusted User) が作ったパッケージを置く非公式リポジトリにしました。[staging] リポジトリという、公式リポジトリに提案されているパッケージを置くリポジトリがありましたが、それは Arch Linux 開発者によるもので、それ以外の開発者と信用されたユーザーは多かれ少なかれ異なっていたのが理由です。

信用されたユーザーが彼らのリポジトリに飽き、信用されてないユーザー (Untrusted User) が彼らのパッケージを共有したいと思う前になされたこの作業は、AUR の開発として引き継がれました。TU たちは結集して、より強固なグループを作り、今では [community] リポジトリを集団で管理するようになりました。信用されたユーザーたちは未だに Arch Linux の開発者とは分裂していますが、開発者との間ですくなからず連絡をとりあっています。時には [community] から [extra] に人気のあるパッケージを移動するように求めることもあります。また、信用されてないユーザーは AUR を使って PKGBUILD を投稿することができます。

[core] に入ったカーネルが多くのユーザーのシステムを破壊する事件がおこった後、"core 承認ポリシー" (core signoff policy) が導入されました。その時から、[core] にある全てのパッケージはアップデートの際にまず [testing] を通過しなくてはならなくなり、他の開発者から多くの承認が得られて初めて [core] への移動が許されるようになりました。それも時間がたつにつれ、いくつかの [core] パッケージがあまり使われなくなったので、そのようなパッケージはユーザーの承認やバグレポートが少ないという基準で運用されています。

2009 の年末から 2010 の初頭にかけて、新しいファイルシステムの出現とそれらのサポートのために、[core] は明確には定義されなくなった（たんに"開発者によって選ばれた重要なパッケージ"が入っている）実情にあわせて、リポジトリにはより正確な説明が付けられています（以下を参照）。

## [core]

このリポジトリはお好きなミラーの `.../core/os/` で見つけることができます。

[core] にはかなり厳しい品質要求事項があります:

- 開発者やユーザーはパッケージのアップデートが入る前に、アップデートを承認する必要があります。

- あまり使われないパッケージでは、合理的な理由（つまりアップデートを知らせ、承認を求め、変化の度合いにあわせてテストをし、目立ったバグレポートがなかったり、パッケージメンテナの暗黙の承認があったという事実）で十分です。

以下のようなパッケージが含まれます:

  - Arch でサポートされるすべての種類のシステムの起動に必要なパッケージ。
  - インターネットの接続に必要なパッケージ。
  - パッケージ作成に必要なパッケージ。
  - サポートされるファイルシステムの管理・修復に必要なパッケージ。
  - システム設定の初期段階で実質的に必要になるパッケージ (例: openssh)。
  - 上記パッケージが依存しているパッケージ （必ずしも makedepends ではない）。

Note: このリポジトリは core インストールメディアに含まれていたことがあり、インターネット接続なしでも完全に動作するベースシステムを構築できました。今ではそのようなことはできません。新しいシステムのインストールにはインターネット接続が必須です。[core] やその他のリポジトリからローカルリポジトリを作りたいのなら、ここを見て下さい。

## [extra]

このリポジトリはお好きなミラーの `.../extra/os/` で見つけることができます。

[core] にあてはまらない全てのパッケージが含まれます。例: Xorg, ウィンドウマネージャ, ウェブブラウザ, メディアプレイヤー, Python や Ruby で動くツールなど。

## [community]

このリポジトリはお好きなミラーの `.../community/os/` で見つけることができます。

Arch User Repository から Trusted User によって十分な投票が得られたパッケージが含まれます。

## [multilib]

このリポジトリはお好きなミラーの `.../multilib/os/` で見つけることができます。

64ビット環境で32ビットアプリケーションを動作・ビルドするために使われる、32ビットのソフトウェアやライブラリが含まれます （例: wine, skype, etc）。

詳しくは、Multilib (日本語) を参照してください。

## [testing]

Warning: [testing] リポジトリを有効にするときは気をつけて下さい。アップデート後にシステムが壊れる可能性があります。潜在的なシステムの故障の対処方法を知っている、経験のあるユーザーだけがこのリポジトリを使うべきです。

このリポジトリはお好きなミラーの `.../testing/os/` で見つけることができます。

[core] や [extra] リポジトリに入る候補のパッケージを含む特別なリポジトリです。

次の場合に新しいパッケージが [testing] に入ります:

- アップデート時に何か問題が起こる可能性があり、テストが必要な場合。

- 他のパッケージのリビルドを必要としている場合。この場合、リビルドが必要な全てのパッケージが [testing] に入れられ、全てのリビルドが完了してから、他のリポジトリに移されます。

他の公式レポジトリと名前の衝突を起こす可能性がある唯一のリポジトリです。有効にする時は、`/etc/pacman.conf` ファイルのリストの一番初めに置く必要があります。

"一番新しい"パッケージバージョンのためにあるわけではありません。ひとつの目的は、[core] に入るとシステム破壊を引き起こす恐れのあるパッケージアップデートを保持することです。なので、[testing] リポジトリのユーザーは arch-dev-public メーリングリストを講読すること、[testing] Repository Forum を読むこと、バグを全て報告することを強く推奨されています。

[testing] を有効にするなら、[community-testing] も有効にしなければなりません。

## [community-testing]

このリポジトリは [testing] と似ていて、[community] リポジトリの候補になっているパッケージのために存在しています。

有効にするときは、[testing] も有効にしなければなりません。

## [multilib-testing]

このリポジトリは [testing] と似ていて、[multilib] リポジトリの候補になっているパッケージのために存在しています。

有効にするときは、[testing] も有効にしなければなりません。

Categories:

- Package management (日本語)
- About Arch (日本語)