Arch Linux(アーチ・リナックス、[ˈɑːrtʃ])は、Linuxディストリビューションの1つであり、「シンプリシティ」、「ミニマリズム」、「エレガンス」さ、コードの正しさに焦点を当てて開発されている。「シンプリシティ」(Simplicity、簡潔さ)とは、Arch Linuxの言うところでは「...不必要な追加・修正、あるいは複雑化を伴わない...」ことであり、それは初心者の立場よりも開発者の立場からの見たものだとしている。

Arch Linuxは、ローリングリリースと呼ばれるリリースモデルを採用しており、他のLinuxディストリビューションで見られるような明確な「バージョン番号」や「リリース・スケジュール」を持たない。リポジトリ上のソフトウェアパッケージは日々新しいバージョンへと更新されており、定期的にソフトウェアアップデートを行うことで、システムを常に最新の状態に保つことができる。インストール用のイメージファイルは定期的に更新されているが、これは基本的にシステムパッケージ群の最新スナップショットに過ぎない。

## 歴史

Arch Linuxは、2002年3月にジャッド・ヴィネットにより設立され、最初のリリースである 0.1(コードネーム Homer)は2002年3月11日に公開された。ジャッドは、別の最小主義ディストリビューションであるCRUXから着想を得てArchの開発を思い立った。彼は2007年10月1日までプロジェクトを率いたが、自身の時間不足を理由に辞任し、それ以降はアーロン・グリフィンがプロジェクトを率いている。

## デザインと理念

Arch Linuxの公式リポジトリはバイナリパッケージをベースとしている。これらのパッケージは、近代的なハードウェアのパフォーマンスを引き出すために、x86-64マイクロプロセッサを対象にしている。Portsやebuildのように、ソースコードのビルドおよびバイナリパッケージの作成を自動化するArch Build System(ABS)も提供されている。

Arch Linuxは、シンプルで無駄の無いシステムに焦点を当てており、ユーザを支援するために行なわれている努力はグラフィカルインタフェースの提供ではない(たとえば、パッケージマネージャのグラフィカル・フロントエンドは公式に提供されていない)。その代わりに、「素早くアクセスして編集できるように配置され、簡明なコメントが付けられた、きれいで能率的な構成ファイル群が整備されている」としている。

|  |  |  |
| --- | --- | --- |
| 「 | 管理や構築を複雑なツールに頼るシステムはエンドユーザにとって害になるだろう。(中略)「システムの複雑さを隠そうとすれば、より複雑なシステムになってしまうのが落ちだ」。中身を隠すための抽象化レイヤーは決して良いものではない。その代わりに、隠さないで済むように中身を設計すべきなのだ。 | 」 |
| —アーロン・グリフィン | | |

### initフレームワーク

Arch Linuxは、2012年11月4日より公式のinitシステムとしてsystemdを採用した。

過去のArch LinuxではBSDスタイルのinitが使われていた。これは、柔軟性と引き換えにシンプリシティを得るもので、起動時にロードしたいモジュールや実行したいサービスは中心的設定ファイルの `/etc/rc.conf` に単純に列挙していた。

## インストール

Arch Linuxのウェブサイトでは、CDもしくはUSBから起動できるISOイメージが提供されている。Arch Linuxのインストール作業はコマンドライン環境で行われる。パーティションの作成、ファイルシステムの作成・マウントなどを行い、`pacstrap`という小さなシェルスクリプトを実行して基本システムをインストールする。(以前はAIFというcursesベースの対話的インストーラが提供されていたが、メンテナの不足を理由に2012.07.15版よりインストール用イメージから削除された)。インストール直後の状態では、必要最小限のGNU/Linux環境 — すなわちLinuxカーネル、GNUツールチェーン、少数の追加モジュールとライブラリ、およびbashシェルのみが存在する。その後のシステムの設定やデスクトップ環境などのソフトウェアの追加は手動で行う必要がある。

## パッケージ管理

### Pacman

すべてのパッケージは、Arch Linuxのために開発されたPacmanパッケージマネージャを使用して管理される。Pacmanは、パッケージのインストール・アップグレード・削除・ダウングレードを処理するとともに、依存関係の自動解決を行う。公式のパッケージはArch Linuxのパッケージツリーから取得され、それらはx86-64用に最適化されている。パッケージは基本的にtar.xz形式で提供されているが、2020年1月4日、tar.zst形式に切り替える方針が示された。

### リポジトリ

2025年2月時点で、以下の公式リポジトリが用意されている。

この他に、メインのリポジトリに収容される前のテスト段階のパッケージを提供するためのリポジトリがある。

加えて、破損したパッケージがtestingリポジトリに置かれることを回避するために、試験的なリビルドを行うための「core-staging」および「extra-staging」リポジトリが用意されている。

また、特定のデスクトップ環境の最新バージョンを含むリポジトリが2つある。

過去に存在したunstableリポジトリは2008年7月をもって停止され、ほとんどのパッケージは他のリポジトリへ移動した。また、過去に存在したcommunityリポジトリは2023年5月をもってextraリポジトリと統合された。

これらの公式リポジトリに加え、利用者が提供する非公式リポジトリが存在する。この例としてArch User Repository (AUR) がある。

### リポジトリのセキュリティ

過去のArch Linuxでは、電子署名付きパッケージがサポートされておらず、ダウンロード-インストールのプロセスにおいて、パッケージとメタデータの真正性が検証されていなかった。したがって、改ざんされた、もしくは悪意を持つリポジトリミラーによってシステムが危険に晒される可能性があった。pacmanバージョン4から、データベースとパッケージの検証が可能になった。2011年11月より公式リポジトリにおいて新規パッケージへの署名が強制され、2012年3月の時点ではすべてのパッケージが署名され、2012年6月よりパッケージ署名検証の運用が正式に開始された。

### Arch Build System

Arch Build System(ABS)は、ソースコードのビルドおよびPacman用バイナリパッケージの作成を自動化するための「Portsライクな」システムである。ABSが提供するツールは、公式リポジトリのパッケージ作成に使われているだけでなく、一般のユーザも利用できる。

ABSでは、パッケージの構築に必要な情報を`PKGBUILD`という名前のBashスクリプトとして記述する。PKGBUILDスクリプトには、ソースコードのダウンロード元、パッケージのメタデータ(名前やバージョン番号など)、ビルド時に必要なパッケージの一覧や、インストール時の依存関係、ソースコードをビルドするスクリプト、ファイルシステムへの配置を決めるスクリプトなどが、定められた仕様に従って記述される。

PKGBUILDスクリプトはABSのmakepkgツールによって処理される。makepkgは、PKGBUILDスクリプトの内容をもとに、ソースコードのダウンロードおよびビルド、Pacman用バイナリパッケージの作成を自動で行うシェルスクリプトである。これによって作成されたパッケージは、公式のパッケージと同様に、Pacmanを使ってインストールおよび管理を行うことができる。

### Arch User Repository

Arch Build Systemによって、一般のユーザもソースコードからPacman用のバイナリパッケージを構築できる。この機能性をもとに、一般ユーザによって作られたPKGBUILDを収容するためのArch User Repository(AUR)という補完的なリポジトリが提供されている。

AURでは、一般ユーザによって作成された、公式リポジトリには存在しないパッケージのPKGBUILDスクリプトが提供されている。PKGBUILDスクリプトには、依存パッケージのリストと、ソースをArch Linuxのアーキテクチャに適合させるための構成処理が記述されている。これによりユーザは、ソースコードのビルドを簡略化することができ、さらにソフトウェアをPacmanのパッケージとしてインストールすることができる。これらのPKGBUILDスクリプトはAURのウェブサイトからダウンロードしてABSのmakepkgコマンドで利用できるが、「yaourt」のようなヘルパプログラムを使うことで、パッケージの検索・ダウンロード・ビルドのプロセスをさらに自動化することもできる。

AURでは、以下の理由によりリポジトリに収容されないパッケージも提供されている。

いかなるソフトウェアであっても一般ユーザによってPKGBUILDが提供されうる。あらゆるPKGBUILDは、ライセンスの問題や方針などのために意図的にAURに置く場合を除いて、ユーザから十分な投票を受けることでcommunityリポジトリに登録される可能性がある。

## バージョン

### ローリングリリース

Arch Linuxは、Gentoo Linuxなどのように、ディストリビューションの明確なバージョン名やリリース日を持たない「ローリングリリース」システムを採用している。リポジトリ上のパッケージは個別に日々更新されており、定期的なアップデートを行っていれば、システムを常に最新の状態に保つことができる。Arch Linuxのインストール用イメージファイルは定期的にリリースされるが、これはパッケージ集合の最新スナップショットに過ぎず(インストール用ソフトウェアが修正されることはある)、各リリースごとにユーザの移動を奨めるものではない。パッケージおよび各種設定ファイルの更新を行えば、どのリリースをインストールしても違いが生じることはない。

ISOイメージリリース2009.02以降、最適なハードウェアサポートを行うために、インストール用イメージのリリースはカーネルのバージョンアップにあわせて行われることになった。これは、およそ3、4ヶ月ごとに新たなリリースが行われることを意味する。

## 派生ディストリビューション

※Pacman系派生版一覧に掲載されるもの。

| 配布版 | 説明 |
| --- | --- |
| ArchBang | Arch Linuxを母体に、インストールメディアおよび標準のウィンドウマネージャにOpenboxを採用したもの。 |
| Artix Linux | systemdの代わりにOpenRC、runitまたはs6 initを使用するArch Linuxに基づくディストリビューション。 |
| BlackArch Linux | Arch Linuxを母体とした侵入テストを目的としたもの。 |
| Chakra Linux | KDEを複数の機能をまとめたKDEmodデスクトップ環境を標準とし、Qt母体のグラフィカルユーザインタフェースなインストーラや更新機能、パッケージマネージャ(Pacmanのフロントエンド)などを提供し、Arch Linuxよりも扱いやすいディストリビューションを目標としている。 |
| EndeavourOS | Antergosの後継ディストリビューション。 |
| Manjaro | Arch Linuxを母体に、標準のウィンドウマネージャにXfce、KDEを採用したもの。コミュニティ版としてCinnamon、 MATE、LXDE、Enlightenment、OpenBoxが提供されている。 |
| Parabola\_GNU/Linux-libre | Linux-libreカーネルを使用しており、自由ソフトウェアのみで構成されている。 |
| SystemRescue | ストレージからブートできないOSのレスキュー用Live CDディストリビューション。 |

### その他の派生版

※原則、DistroWatchのほかパソコン雑誌、他言語版を含めWikipediaに記事が存在しないものは掲載しない。

- Arch Linux ARM — ARMアーキテクチャで動作する。
- Arch Hurd — Linuxカーネルの代わりにGNU Hurdを使用している。
- Antergos — GUIインストーラーを用いて、Arch Linuxのインストールを手軽にしたもの。プロジェクト終了が2019年5月21日にアナウンスされた。
- AudioPhile Linux — Fluxboxを採用した、オーディオ愛好家向けOS。
- Bluestar Linux — Arch Linuxを母体にウィンドウマネージャKDEを採用し、多くのマルチメディアソフトウェアを収録したLiveDVD。