Arch Linux
Arch Linux(アーチ・リナックス[2]、[ˈɑːrtʃ][3])は、Linuxディストリビューション[4]の1つであり、「シンプリシティ」、「ミニマリズム」、「エレガンス」さ、コードの正しさに焦点を当てて開発されている[5]。「シンプリシティ」(Simplicity、簡潔さ)とは、Arch Linuxの言うところでは「…不必要な追加・修正、あるいは複雑化を伴わない…」ことであり、それは初心者の立場よりも開発者の立場からの見たものだとしている[6]。
![]() | |
開発者 | Levente Polyák |
---|---|
OSの系統 | Unix系,Linux |
開発状況 | 活動中 |
ソースモデル | FLOSS |
初版 | 2002年3月11日 |
最新安定版 | ローリングリリース / インストール用ISOイメージは毎月初旬に更新[1] |
リポジトリ | |
対象市場 | 汎用 |
アップデート方式 | pacman |
パッケージ管理 | pacman |
プラットフォーム | x86-64 |
カーネル種別 | モノリシックカーネル |
ユーザランド | GNU |
既定のUI | Bash |
ライセンス | 様々 |
ウェブサイト | https://archlinux.org/ |
Arch Linuxは、ローリングリリースと呼ばれるリリースモデルを採用しており、他のLinuxディストリビューションで見られるような明確な「バージョン番号」や「リリース・スケジュール」を持たない。リポジトリ上のソフトウェアパッケージは日々新しいバージョンへと更新されており、定期的にソフトウェアアップデートを行うことで、システムを常に最新の状態に保つことができる。インストール用のイメージファイルは定期的に更新されているが、これは基本的にシステムパッケージ群の最新スナップショットに過ぎない[7]。
歴史
編集Arch Linuxは、2002年3月にジャッド・ヴィネットにより設立され、最初のリリースである 0.1(コードネーム Homer)は2002年3月11日に公開された。ジャッドは、別の最小主義ディストリビューションであるCRUXから着想を得てArchの開発を思い立った。彼は2007年10月1日までプロジェクトを率いたが、自身の時間不足を理由に辞任し、それ以降はアーロン・グリフィンがプロジェクトを率いている[8]。
デザインと理念
編集Arch Linuxの公式リポジトリはバイナリパッケージをベースとしている。これらのパッケージは、近代的なハードウェアのパフォーマンスを引き出すために、x86-64マイクロプロセッサを対象にしている。Portsやebuildのように、ソースコードのビルドおよびバイナリパッケージの作成を自動化するArch Build System(ABS)も提供されている。
Arch Linuxは、シンプルで無駄の無いシステムに焦点を当てており、ユーザを支援するために行なわれている努力はグラフィカルインタフェースの提供ではない(たとえば、パッケージマネージャのグラフィカル・フロントエンドは公式に提供されていない)。その代わりに、「素早くアクセスして編集できるように配置され、簡明なコメントが付けられた、きれいで能率的な構成ファイル群が整備されている」としている[5]。
「 | 管理や構築を複雑なツールに頼るシステムはエンドユーザにとって害になるだろう。(中略)「システムの複雑さを隠そうとすれば、より複雑なシステムになってしまうのが落ちだ」。中身を隠すための抽象化レイヤーは決して良いものではない。その代わりに、隠さないで済むように中身を設計すべきなのだ。 | 」 |
—アーロン・グリフィン |
initフレームワーク
編集Arch Linuxは、2012年11月4日より公式のinitシステムとしてsystemdを採用した[9]。
過去のArch LinuxではBSDスタイルのinitが使われていた。これは、柔軟性と引き換えにシンプリシティを得るもので、起動時にロードしたいモジュールや実行したいサービスは中心的設定ファイルの /etc/rc.conf
に単純に列挙していた[10]。
インストール
編集Arch Linuxのウェブサイトでは、CDもしくはUSBから起動できるISOイメージが提供されている。Arch Linuxのインストール作業はコマンドライン環境で行われる。パーティションの作成、ファイルシステムの作成・マウントなどを行い、pacstrap
という小さなシェルスクリプトを実行して基本システムをインストールする[11]。(以前はAIFというcursesベースの対話的インストーラが提供されていたが、メンテナの不足を理由に2012.07.15版よりインストール用イメージから削除された[12])。インストール直後の状態では、必要最小限のGNU/Linux環境 — すなわちLinuxカーネル、GNUツールチェーン、少数の追加モジュールとライブラリ、およびbashシェルのみが存在する[13]。その後のシステムの設定やデスクトップ環境などのソフトウェアの追加は手動で行う必要がある。
パッケージ管理
編集Pacman
編集すべてのパッケージは、Arch Linuxのために開発されたPacmanパッケージマネージャを使用して管理される。Pacmanは、パッケージのインストール・アップグレード・削除・ダウングレードを処理するとともに、依存関係の自動解決を行う[14]。公式のパッケージはArch Linuxのパッケージツリーから取得され、それらはx86-64用に最適化されている。パッケージは基本的にtar.xz形式で提供されている[15]が、2020年1月4日、tar.zst形式に切り替える方針が示された[16]。
リポジトリ
編集2011年9月時点で、以下の公式リポジトリが用意されている[17]。
- core
- 基本システムをセットアップするために必要なすべてのパッケージが収容される。
- extra
- 基本システムでは必要とされないパッケージが収容される。デスクトップ環境とそのプログラムはこれに含まれる。
- community
- コミュニティによりビルドされたパッケージが収容される。これには、十分な数の投票を受けて「トラステッドユーザ」(trusted user) により採用されたものが含まれる。
- multilib
- x86-64ユーザのためのリポジトリで、32ビットアプリケーションを64ビット環境で容易に実行できるように提供されている。
この他に、メインのリポジトリに収容される前のテスト段階のパッケージを提供するためのリポジトリがある。
- testing
- 「core」および「extra」リポジトリ用。
- community-testing
- 「community」リポジトリ用。
- multilib-testing
- 「multilib」リポジトリ用。
加えて、破損したパッケージがtestingリポジトリに置かれることを回避するために、試験的なリビルドを行うための「staging」および「community-staging」リポジトリが用意されている。過去に存在したunstableリポジトリは2008年7月をもって停止され、ほとんどのパッケージは他のリポジトリへ移動した[18]。これらの公式リポジトリに加え、利用者が提供する非公式リポジトリが存在する。この例としてAURがある。
リポジトリのセキュリティ
編集過去のArch Linuxでは、電子署名付きパッケージがサポートされておらず[19]、ダウンロード-インストールのプロセスにおいて、パッケージとメタデータの真正性が検証されていなかった。したがって、改ざんされた、もしくは悪意を持つリポジトリミラーによってシステムが危険に晒される可能性があった[20]。pacmanバージョン4から、データベースとパッケージの検証が可能になった。2011年11月より公式リポジトリにおいて新規パッケージへの署名が強制され、2012年3月の時点ではすべてのパッケージが署名され[21]、2012年6月よりパッケージ署名検証の運用が正式に開始された[22][23]。
Arch Build System
編集Arch Build System(ABS)は、ソースコードのビルドおよびPacman用バイナリパッケージの作成を自動化するための「Portsライクな」システムである[24]。ABSが提供するツールは、公式リポジトリのパッケージ作成に使われているだけでなく、一般のユーザも利用できる。
ABSでは、パッケージの構築に必要な情報をPKGBUILD
という名前のBashスクリプトとして記述する。PKGBUILDスクリプトには、ソースコードのダウンロード元、パッケージのメタデータ(名前やバージョン番号など)、ビルド時に必要なパッケージの一覧や、インストール時の依存関係、ソースコードをビルドするスクリプト、ファイルシステムへの配置を決めるスクリプトなどが、定められた仕様に従って記述される。
PKGBUILDスクリプトはABSのmakepkgツールによって処理される。makepkgは、PKGBUILDスクリプトの内容をもとに、ソースコードのダウンロードおよびビルド、Pacman用バイナリパッケージの作成を自動で行うシェルスクリプトである。これによって作成されたパッケージは、公式のパッケージと同様に、Pacmanを使ってインストールおよび管理を行うことができる。
AUR
編集Arch Build Systemによって、一般のユーザもソースコードからPacman用のバイナリパッケージを構築できる。この機能性をもとに、一般ユーザによって作られたPKGBUILDを収容するためのArch User Repository(AUR)という補完的なリポジトリが提供されている。
AURでは、一般ユーザによって作成された、公式リポジトリには存在しないパッケージのPKGBUILDスクリプトが提供されている。PKGBUILDスクリプトには、依存パッケージのリストと、ソースをArch Linuxのアーキテクチャに適合させるための構成処理が記述されている。これによりユーザは、ソースコードのビルドを簡略化することができ、さらにソフトウェアをPacmanのパッケージとしてインストールすることができる。これらのPKGBUILDスクリプトはAURのウェブサイトからダウンロードしてABSのmakepkgコマンドで利用できるが、「yaourt」のようなヘルパプログラムを使うことで、パッケージの検索・ダウンロード・ビルドのプロセスをさらに自動化することもできる[25]。
AURでは、以下の理由によりリポジトリに収容されないパッケージも提供されている。
- ライセンスの問題
- 再配布は認められていないが利用は自由なソフトウェアはAURに収容できる。AURには実際にそれらのソフトウェアを提供サイトから直接ダウンロードするPKGBUILDスクリプトが収容されている。例えばGoogle EarthやRealPlayerなどが該当する。
- 公式パッケージに変更を加えたもの
- AURには公式パッケージの様々なバリエーションも収容される。公式パッケージのベータバージョンなどもこれに該当する。
いかなるソフトウェアであっても一般ユーザによってPKGBUILDが提供されうる。あらゆるPKGBUILDは、ライセンスの問題や方針などのために意図的にAURに置く場合を除いて、ユーザから十分な投票を受けることでcommunityリポジトリに登録される可能性がある。
バージョン
編集ローリングリリース
編集Arch Linuxは、Gentoo Linuxなどのように、ディストリビューションの明確なバージョン名やリリース日を持たない「ローリングリリース」システムを採用している。リポジトリ上のパッケージは個別に日々更新されており、定期的なアップデートを行っていれば、システムを常に最新の状態に保つことができる[26]。Arch Linuxのインストール用イメージファイルは定期的にリリースされるが、これはパッケージ集合の最新スナップショットに過ぎず(インストール用ソフトウェアが修正されることはある)、各リリースごとにユーザの移動を奨めるものではない。パッケージおよび各種設定ファイルの更新を行えば、どのリリースをインストールしても違いが生じることはない。
ISOイメージリリース2009.02以降、最適なハードウェアサポートを行うために、インストール用イメージのリリースはカーネルのバージョンアップにあわせて行われることになった。これは、およそ3、4ヶ月ごとに新たなリリースが行われることを意味する[27]。
派生ディストリビューション
編集※Pacman系派生版一覧に掲載されるもの。
配布版 | 説明 |
---|---|
ArchBang | Arch Linuxを母体に、インストールメディアおよび標準のウィンドウマネージャにOpenboxを採用したもの[28]。 |
Artix Linux | systemdの代わりにOpenRC、runitまたはs6 initを使用するArch Linuxに基づくディストリビューション[29]。 |
BlackArch Linux | Arch Linuxを母体とした侵入テストを目的としたもの。 |
Chakra Linux | KDEを複数の機能をまとめたKDEmodデスクトップ環境を標準とし、Qt母体のグラフィカルユーザインタフェースなインストーラや更新機能、パッケージマネージャ(Pacmanのフロントエンド)などを提供し、Arch Linuxよりも扱いやすいディストリビューションを目標としている[30][31]。 |
EndeavourOS | Antergosの後継ディストリビューション[32]。 |
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[33] — ARMアーキテクチャで動作する。
- Arch Hurd — Linuxカーネルの代わりにGNU Hurdを使用している。
- Antergos — GUIインストーラーを用いて、Arch Linuxのインストールを手軽にしたもの。プロジェクト終了が2019年5月21日にアナウンスされた。
- AudioPhile Linux[34] — Fluxboxを採用した、オーディオ愛好家向けOS。
- Bluestar Linux[35] — Arch Linuxを母体にウィンドウマネージャKDEを採用し、多くのマルチメディアソフトウェアを収録したLiveDVD。
脚注
編集- ^ “Arch Linux Downloads”. 2015年7月19日閲覧。
- ^ 麻生二郎「PlugApps Linuxとは」 日経Linux:ITpro
- ^ “[arch] Pronnounciation of our beloved distribution's name”. 2008年9月7日閲覧。
- ^ “Arch Linux - ArchWiki”. 2013年2月18日閲覧。
- ^ a b “The Arch Way”. 2013年2月18日閲覧。
- ^ “phraktured.net: Archway”. 2008年9月7日閲覧。
- ^ “Rolling with Arch Linux”. lwn.net (2010年3月10日). 2011年9月30日閲覧。
- ^ “Arch Linux Forums / Arch Leadership”. 2008年9月7日閲覧。
- ^ “End of initscripts support”. archlinux.org (2012年11月4日). 2013年2月1日閲覧。
- ^ “Rc.conf”. wiki.archlinux.org. 2009年10月19日閲覧。
- ^ “Installation Guide”. Arch Wiki. 2013年2月1日閲覧。
- ^ “Arch Linux - News: Install media 2012.07.15 released”. 2012年9月28日閲覧。
- ^ “ArchWiki :: Beginners Guide - ArchWiki”. 2008年9月7日閲覧。
- ^ “ArchWiki :: Pacman - ArchWiki”. 2008年9月7日閲覧。
- ^ Pierre Schmitz (2010年3月23日). “Switching to xz compression for new packages”. Archlinux.org. 2010年3月23日閲覧。
- ^ Robin Broda (2020年1月4日). “Now using Zstandard instead of xz for package compression”. Archlinux.org. 2020年1月7日閲覧。
- ^ Official Repositories, wiki.archlinux.org 2012年11月23日閲覧。
- ^ “Arch Linux Newsletter 08-04-2008” 2008年9月7日閲覧。
- ^ “FS#5331 - Signed packages”. 2011年8月7日閲覧。
- ^ “Attacks on Package Managers”. cs.arizona.edu (2008年7月10日). 5 September 2010時点のオリジナルよりアーカイブ。2010年9月14日閲覧。
- ^ Allan McRae (2011年12月17日). “Pacman Package Signing – 4: Arch Linux”. 2012年2月29日閲覧。
- ^ “Having pacman verify packages”. Gaetan Bisson (2012年6月4日). 2012年6月4日閲覧。
- ^ “Install media 2012.07.15 released”. archlinux.org (2012年7月22日). 2012年8月13日閲覧。
- ^ “ArchWiki :: ABS - The Arch Build System - ArchWiki”. 2008年9月7日閲覧。
- ^ “Intervju: Arch Linux: Popular KISS distro”. [1]. 2008年10月24日閲覧。
- ^ “DVD-Guides.com - Arch Linux Review”. 2008年9月7日閲覧。
- ^ Aaron Griffin (2009-02-16), 2009.02 ISO Release
- ^ ArchBang
- ^ Artix Linux
- ^ Chakra
- ^ DistroWatch, DistroWatch.com: Chakra GNU/Linux, distrowatch.com 2011年9月1日閲覧。
- ^ EndeavourOS
- ^ Arch Linux ARM
- ^ Audiophile Linux Distrowatch
- ^ Bluestar Linux Distrowatch