Arch Linux

Linuxディストリビューションの1つ

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

Arch Linux
開発者 Levente Polyák
OSの系統 Unix系,Linux
開発状況 活動中
ソースモデル FLOSS
初版 2002年3月11日 (22年前) (2002-03-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マイクロプロセッサを対象にしている。Portsebuildのように、ソースコードのビルドおよびバイナリパッケージの作成を自動化する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 編集

 
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 EarthRealPlayerなどが該当する。
公式パッケージに変更を加えたもの
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を母体に、標準のウィンドウマネージャXfceKDEを採用したもの。コミュニティ版としてCinnamonMATELXDEEnlightenmentOpenBoxが提供されている。
Parabola_GNU/Linux-libre Linux-libreカーネルを使用しており、フリーソフトウェアのみで構成されている。
SystemRescue英語版 ストレージからブートできないOSのレスキュー用Live CDディストリビューション。

その他の派生版 編集

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

脚注 編集

  1. ^ Arch Linux Downloads”. 2015年7月19日閲覧。
  2. ^ 麻生二郎「PlugApps Linuxとは日経Linux:ITpro
  3. ^ [arch] Pronnounciation of our beloved distribution's name”. 2008年9月7日閲覧。
  4. ^ Arch Linux - ArchWiki”. 2013年2月18日閲覧。
  5. ^ a b The Arch Way”. 2013年2月18日閲覧。
  6. ^ phraktured.net: Archway”. 2008年9月7日閲覧。
  7. ^ Rolling with Arch Linux”. lwn.net (2010年3月10日). 2011年9月30日閲覧。
  8. ^ Arch Linux Forums / Arch Leadership”. 2008年9月7日閲覧。
  9. ^ End of initscripts support”. archlinux.org (2012年11月4日). 2013年2月1日閲覧。
  10. ^ Rc.conf”. wiki.archlinux.org. 2009年10月19日閲覧。
  11. ^ Installation Guide”. Arch Wiki. 2013年2月1日閲覧。
  12. ^ Arch Linux - News: Install media 2012.07.15 released”. 2012年9月28日閲覧。
  13. ^ ArchWiki :: Beginners Guide - ArchWiki”. 2008年9月7日閲覧。
  14. ^ ArchWiki :: Pacman - ArchWiki”. 2008年9月7日閲覧。
  15. ^ Pierre Schmitz (2010年3月23日). “Switching to xz compression for new packages”. Archlinux.org. 2010年3月23日閲覧。
  16. ^ Robin Broda (2020年1月4日). “Now using Zstandard instead of xz for package compression”. Archlinux.org. 2020年1月7日閲覧。
  17. ^ Official Repositories, wiki.archlinux.org, https://wiki.archlinux.org/index.php/Official_Repositories 2012年11月23日閲覧。 
  18. ^ “Arch Linux Newsletter 08-04-2008”. https://web.archive.org/web/20080827113821/http://www.archlinux.org/static/newsletters/newsletter-2008-Aug-04.html 2008年9月7日閲覧。 
  19. ^ FS#5331 - Signed packages”. 2011年8月7日閲覧。
  20. ^ Attacks on Package Managers”. cs.arizona.edu (2008年7月10日). 2010年9月5日時点のオリジナルよりアーカイブ。2010年9月14日閲覧。
  21. ^ Allan McRae (2011年12月17日). “Pacman Package Signing – 4: Arch Linux”. 2012年2月29日閲覧。
  22. ^ Having pacman verify packages”. Gaetan Bisson (2012年6月4日). 2012年6月4日閲覧。
  23. ^ Install media 2012.07.15 released”. archlinux.org (2012年7月22日). 2012年8月13日閲覧。
  24. ^ ArchWiki :: ABS - The Arch Build System - ArchWiki”. 2008年9月7日閲覧。
  25. ^ Intervju: Arch Linux: Popular KISS distro”. [1]. 2008年10月24日閲覧。
  26. ^ DVD-Guides.com - Arch Linux Review”. 2008年9月7日閲覧。
  27. ^ Aaron Griffin (2009-02-16), 2009.02 ISO Release, https://www.archlinux.org/news/434/ 
  28. ^ ArchBang
  29. ^ Artix Linux
  30. ^ Chakra
  31. ^ DistroWatch, DistroWatch.com: Chakra GNU/Linux, distrowatch.com, http://distrowatch.com/table.php?distribution=chakra 2011年9月1日閲覧。 
  32. ^ EndeavourOS
  33. ^ Arch Linux ARM
  34. ^ Audiophile Linux Distrowatch
  35. ^ Bluestar Linux Distrowatch

外部リンク 編集

関連項目 編集