「公式リポジトリ」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎community: 削除。このリポジトリはマージされた。)
28行目: 28行目:
 
=== core ===
 
=== core ===
   
このリポジトリはお好きなミラーの {{ic|.../core/os/}} で見つけることができます。
+
このリポジトリは[[ミラー]]上の {{ic|.../core/os/}} にあります。
   
[core] にはり厳しい品質要求事項あります:
+
''core'' には以下のようパッケージ含まれます:
 
* 開発者やユーザーはパッケージのアップデートが入る前に、アップデートを承認する必要があります。
 
 
* あまり使われないパッケージでは、合理的な理由(つまりアップデートを知らせ、承認を求め、変化の度合いにあわせてテストをし、目立ったバグレポートがなかったり、パッケージメンテナの暗黙の承認があったという事実)で十分です。
 
 
以下のようなパッケージが含まれます:
 
   
 
* Arch Linux の起動に必要なパッケージ。
 
* Arch Linux の起動に必要なパッケージ。
 
* [[ネットワーク設定|インターネットの接続]]に必要なパッケージ。
 
* [[ネットワーク設定|インターネットの接続]]に必要なパッケージ。
* [[パッケージの作成]]に必要なパッケージ。
+
* [[パッケージの作成|パッケージのビルド]]に必要なパッケージ。
 
* サポートされている[[ファイルシステム]]の管理・修復に必要なパッケージ。
 
* サポートされている[[ファイルシステム]]の管理・修復に必要なパッケージ。
* システム設定初期段階で実質的に必要パッケージ (例: {{Pkg|openssh}})。
+
* システムのセットアップに必要なパッケージ (例: {{Pkg|openssh}})。
* 上記パッケージが依存しているパッケージ 必ずしも [[PKGBUILD#makedepends|makedepends]] ではない
+
他にも、上記パッケージが依存しているパッケージ (必ずしも [[makedepends]] ではない) や {{Pkg|base}} [[メタパッケージ]]も含まれています
* {{Pkg|base}} [[メタパッケージ]]
 
   
  +
''core'' には、かなり厳しい品質要件が課されています。開発者/ユーザたちは、パッケージの更新が受理される前に、更新を承認する必要があります。使用頻度の低いパッケージの場合は、次のような適切な方法を取れば十分です: 対象パッケージのメンテナの暗黙の承認と共に、人々に更新について通知する、承認を要求する、変更の重大度に応じて [[#core-testing|core-testing]] に1周間留める、目立ったバグレポートが無い。
{{Note|このリポジトリは core インストールメディアに含まれていたことがあり、インターネット接続なしでも完全に動作するベースシステムを構築できました。今ではそのようなことはできません。新しいシステムのインストールにはインターネット接続が必須です。[core] やその他のリポジトリからローカルリポジトリを作りたいのなら、[[Pacman ヒント#パッケージを CD/DVD や USB スティックからインストールする|ここ]]を見て下さい。}}
 
  +
  +
{{Tip|インターネット接続無しで ''core'' (或いは他のリポジトリ) のパッケージを含むローカルリポジトリを作成するには、[[Pacman ヒント#パッケージを CD/DVD や USB スティックからインストールする]] を見てください。}}
   
 
=== extra ===
 
=== extra ===
   
このリポジトリはお好きなミラーの {{ic|.../extra/os/}} で見つけることができます。
+
このリポジトリは[[ミラー]]上の {{ic|.../extra/os/}} にあります。
   
[core]てはまらない全てのパッケージが含まれます。例: Xorg, ウィンドウマネージャ, ウェブブラウザ, メディアプレイヤー, Python や Ruby で動くツールなど
+
''extra'' には、''core''てはまらない全てのパッケージが含まれています。
  +
このリポジトリは、[[Trusted Users]] と Arch の開発者によって共同でメンテナンスされています。
  +
パッケージ例: Xorg、ウィンドウマネージャ、ウェブブラウザ、メディアプレイヤ、Python、Ruby などの言語で作業するためのツール。
   
 
=== multilib ===
 
=== multilib ===
   
このリポジトリはお好きなミラーの {{ic|.../multilib/os/}} で見つけることができます。
+
このリポジトリは[[ミラー]]上の {{ic|.../multilib/os/}} にあります。
  +
  +
''multilib'' には、64 ビット環境で 32 ビットアプリケーションを実行したりビルドしたりするために使用できるソフトウェアとライブラリが含まれています ({{Pkg|wine}}、{{Pkg|steam}} など)。
  +
  +
''multilib'' リポジトリを有効化すると、32 ビット互換のライブラリは {{ic|/usr/lib32/}} 下に配置されます。
  +
  +
==== multilib を有効化する ====
  +
  +
''multilib'' リポジトリを有効化するには、{{ic|/etc/pacman.conf}} 内の {{ic|[multilib]}} セクションをアンコメントしてください:
  +
  +
{{hc|1=/etc/pacman.conf|2=
  +
[multilib]
  +
Include = /etc/pacman.d/mirrorlist}}
  +
  +
そして、システムを[[アップグレード]]し、好きな ''multilib'' パッケージをインストールしてください。
  +
  +
{{Tip|''multilib'' リポジトリ内のパッケージをすべて一覧表示するには、{{ic|pacman -Sl multilib}} を実行してください。32 ビットライブラリのパッケージ名は {{ic|lib32-}} で始まります。}}
  +
  +
==== multilib を無効化する ====
  +
  +
''multilib'' からインストールしたパッケージをすべて取り除くには、以下のコマンドを実行してください:
  +
  +
# pacman -R $(comm -12 <(pacman -Qq | sort) <(pacman -Slq multilib | sort))
  +
  +
gcc-lib と衝突が発生する場合、{{Pkg|base-devel}} パッケージの依存パッケージと {{pkg|gcc-libs}} パッケージを再インストールしてください ([[Pacman ヒント#パッケージの依存パッケージ]] を参照)。
  +
  +
{{ic|/etc/pacman.conf}} 内の {{ic|[multilib]}} セクションをコメントアウトしてください:
   
  +
{{hc|1=/etc/pacman.conf|2=
64ビット環境で32ビットアプリケーションを動作・ビルドするために使われる、32ビットのソフトウェアやライブラリが含まれます (例: {{Pkg|wine}} や {{Pkg|steam}} など)。
 
  +
#[multilib]
  +
#Include = /etc/pacman.d/mirrorlist}}
   
くは、[[Multilib]] を参照してください。
+
システムを[[アップグレード]]してください。
   
 
== テスト中リポジトリ ==
 
== テスト中リポジトリ ==

2023年5月24日 (水) 23:36時点における版

関連記事

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

安定版リポジトリ

core

このリポジトリはミラー上の .../core/os/ にあります。

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

他にも、上記パッケージが依存しているパッケージ (必ずしも makedepends ではない) や base メタパッケージも含まれています。

core には、かなり厳しい品質要件が課されています。開発者/ユーザたちは、パッケージの更新が受理される前に、更新を承認する必要があります。使用頻度の低いパッケージの場合は、次のような適切な方法を取れば十分です: 対象パッケージのメンテナの暗黙の承認と共に、人々に更新について通知する、承認を要求する、変更の重大度に応じて core-testing に1周間留める、目立ったバグレポートが無い。

ヒント: インターネット接続無しで core (或いは他のリポジトリ) のパッケージを含むローカルリポジトリを作成するには、Pacman ヒント#パッケージを CD/DVD や USB スティックからインストールする を見てください。

extra

このリポジトリはミラー上の .../extra/os/ にあります。

extra には、core に当てはまらない全てのパッケージが含まれています。 このリポジトリは、Trusted Users と Arch の開発者によって共同でメンテナンスされています。 パッケージ例: Xorg、ウィンドウマネージャ、ウェブブラウザ、メディアプレイヤ、Python、Ruby などの言語で作業するためのツール。

multilib

このリポジトリはミラー上の .../multilib/os/ にあります。

multilib には、64 ビット環境で 32 ビットアプリケーションを実行したりビルドしたりするために使用できるソフトウェアとライブラリが含まれています (winesteam など)。

multilib リポジトリを有効化すると、32 ビット互換のライブラリは /usr/lib32/ 下に配置されます。

multilib を有効化する

multilib リポジトリを有効化するには、/etc/pacman.conf 内の [multilib] セクションをアンコメントしてください:

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

そして、システムをアップグレードし、好きな multilib パッケージをインストールしてください。

ヒント: multilib リポジトリ内のパッケージをすべて一覧表示するには、pacman -Sl multilib を実行してください。32 ビットライブラリのパッケージ名は lib32- で始まります。

multilib を無効化する

multilib からインストールしたパッケージをすべて取り除くには、以下のコマンドを実行してください:

# pacman -R $(comm -12 <(pacman -Qq | sort) <(pacman -Slq multilib | sort))

gcc-lib と衝突が発生する場合、base-devel パッケージの依存パッケージと gcc-libs パッケージを再インストールしてください (Pacman ヒント#パッケージの依存パッケージ を参照)。

/etc/pacman.conf 内の [multilib] セクションをコメントアウトしてください:

/etc/pacman.conf
#[multilib]
#Include = /etc/pacman.d/mirrorlist

そして、システムをアップグレードしてください。

テスト中リポジトリ

testing

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

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

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

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

  • アップデート時に何か問題が起こる可能性があり、テストが必要な場合。
  • 他のパッケージのリビルドを必要としている場合。この場合、リビルドが必要な全てのパッケージが [testing] に入れられ、全てのリビルドが完了してから、他のリポジトリに移されます。

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

ノート: [testing] は "一番新しい"パッケージバージョンがあるとは限りません。このリポジトリの目的は、[core] に入るとシステム破壊を引き起こす恐れのあるパッケージアップデートを保持することです。なので、[testing] リポジトリのユーザーは arch-dev-public メーリングリストを講読すること、[testing] リポジトリフォーラム を読むこと、バグを全て報告することを強く推奨されています。Arch テストチーム への参加も考慮してください。
警告: [testing] を有効にするときは、[community-testing] も一緒に有効にする必要があります。また、以下のサブセクションに書かれている他の [testing] リポジトリを有効にする場合、同様に [testing] も有効にしなければなりません。

community-testing

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

multilib-testing

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

gnome-unstable

このリポジトリにはメインの [testing] リポジトリに入る前の GNOME デスクトップ環境の次期安定板や安定板のRC版が入っています。

[gnome-unstable] を有効にしたい場合、以下の行を /etc/pacman.conf に追加してください。gnome-unstable エントリは一番上 (testing エントリよりも上) に記述する必要があります:

[gnome-unstable]
Include = /etc/pacman.d/mirrorlist

パッケージに関連するバグは Arch Linux のバグトラッカー に、その他のバグについては上流の GNOME Gitlab に報告してください。

kde-unstable

このリポジトリには KDE Plasma や Applications の最新ベータ版・リリース候補版が入っています。

[kde-unstable] を有効にするには、以下の行を /etc/pacman.conf に追加してください。kde-unstable エントリは一番上 (testing エントリよりも上) に記述する必要があります:

[kde-unstable]
Include = /etc/pacman.d/mirrorlist

何か問題を発見したときはバグレポートを作成してください。

testing リポジトリの無効化

有効にした testing リポジトリを無効化したい場合、以下を実行してください:

  1. /etc/pacman.conf からリポジトリを削除(あるいはコメントアウト)。
  2. pacman -Syuu を実行して、リポジトリからのアップデートをロールバック。

二番目のコマンドは必ずしも実行する必要がないこともありますが、何か問題が起きていたら実行してみてください。

ステージングリポジトリ

警告: ステージングリポジトリはどのような理由でも有効化してはいけません。アップデート後にシステムが間違いなく破壊されます。バックエンドの開発者のみが使用することを意図しています。

このリポジトリには壊れたパッケージが含まれており、多数のパッケージを一度にリビルドする間だけ開発者が使います。共有ライブラリが新しくなったときなどの理由で依存パッケージをリビルドするとき、 まず最初に共有ライブラリ自体がビルドされるとステージングリポジトリにアップロードされ他の開発者が利用可能になります。全ての依存パッケージがリビルドされた直後 testing か main リポジトリのうち適切なほうに移動されます。

歴史的背景の詳細は [1] を参照。

歴史的背景

リポジトリが仕分けされていることには歴史的な理由があります。昔、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] は明確には定義されなくなった(たんに"開発者によって選ばれた重要なパッケージ"が入っている)実情にあわせて、リポジトリにはより正確な説明が付けられています(以下を参照)。