Arch Linux

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
Arch Linux
Archlogo.png
開発元企業 / 開発者 Aaron Griffin
OSの系統 Linux
開発状況 活動中
ソースモデル FLOSS
初リリース 2002年03月11日(12年前) (2002-03-11
最新安定版リリース ローリング・リリース / インストール用ISOイメージ2014年1月5日
対象市場 汎用
アップデート方式 pacman
パッケージ管理 pacman
対応プラットフォーム i686, x86_64
カーネル種別 モノリシックカーネル
ユーザランド GNU
既定のユーザインタフェース Bash
ライセンス 様々
ウェブサイト https://www.archlinux.org/

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

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

歴史[編集]

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

デザインと理念[編集]

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

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

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

—アーロン・グリフィン(phraktured.net: Archwayより)

initフレームワーク[編集]

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

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

インストール[編集]

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

パッケージ管理[編集]

Pacman[編集]

すべてのパッケージは、Arch Linuxのために開発されたPacmanパッケージマネージャを使用して管理される。Pacmanは、パッケージのインストール・アップグレード・削除・ダウングレードを処理するとともに、依存関係の自動解決を行う[12]。公式のパッケージはArch Linuxのパッケージツリーから取得され、それらはi686およびx86_64用に最適化されている。パッケージは基本的にtar.xz形式で提供されている[13]

リポジトリ[編集]

2011年9月時点で、以下の公式リポジトリが用意されている[14]:

core
基本システムをセットアップするために必要なすべてのパッケージが収容される。
extra
基本システムでは必要とされないパッケージが収容される。デスクトップ環境とそのプログラムはこれに含まれる。
community
コミュニティによりビルドされたパッケージが収容される。これには、十分な数の投票を受けて「トラステッドユーザ」(trusted user) により採用されたものが含まれる。
multilib
x86_64ユーザのためのリポジトリで、32bitアプリケーションを64bit環境で容易に実行できるように提供されている。

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

testing
「core」および「extra」リポジトリ用。
community-testing
「community」リポジトリ用。
multilib-testing
「multilib」リポジトリ用。

加えて、破損したパッケージがtestingリポジトリに置かれることを回避するために、試験的なリビルドを行うための「staging」および「community-staging」リポジトリが用意されている。過去に存在したunstableリポジトリは2008年7月をもって停止され、ほとんどのパッケージは他のリポジトリへ移動した[15]。これらの公式リポジトリに加え、利用者が提供する非公式リポジトリが存在する。この例としてAURがある。

リポジトリのセキュリティ[編集]

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

Arch Build System[編集]

Arch Build System (ABS)は、ソースコードのビルドおよびPacman用バイナリパッケージの作成を自動化するための「Ports英語版ライクな」システムである[21]。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」のようなヘルパプログラムを使うことで、パッケージの検索・ダウンロード・ビルドのプロセスをさらに自動化することもできる[22]

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

ライセンスの問題
再配布は認められていないが利用はフリーなソフトウェアはAURに収容できる。AURには実際にそれらのソフトウェアを提供サイトから直接ダウンロードするPKGBUILDスクリプトが収容されている。例えばGoogle EarthRealPlayerなどが該当する。
公式パッケージに変更を加えたもの
AURには公式パッケージの様々なバリエーションも収容される。公式パッケージのベータバージョンなどもこれに該当する。

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

バージョン[編集]

ローリング・リリース[編集]

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

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

派生プロジェクト[編集]

関連項目[編集]

脚注[編集]

[ヘルプ]
  1. ^ [arch] Pronnounciation of our beloved distribution's name”. 2008年9月7日閲覧。
  2. ^ Arch Linux - ArchWiki”. 2013年2月18日閲覧。
  3. ^ a b The Arch Way”. 2013年2月18日閲覧。
  4. ^ phraktured.net: Archway”. 2008年9月7日閲覧。
  5. ^ Rolling with Arch Linux”. lwn.net (2010年3月10日). 2011年9月30日閲覧。
  6. ^ Arch Linux Forums / Arch Leadership”. 2008年9月7日閲覧。
  7. ^ End of initscripts support”. archlinux.org (2012年11月4日). 2013年2月1日閲覧。
  8. ^ Rc.conf”. wiki.archlinux.org. 2009年10月19日閲覧。
  9. ^ Installation Guide”. Arch Wiki. 2013年2月1日閲覧。
  10. ^ Arch Linux - News: Install media 2012.07.15 released”. 2012年9月28日閲覧。
  11. ^ ArchWiki :: Beginners Guide - ArchWiki”. 2008年9月7日閲覧。
  12. ^ ArchWiki :: Pacman - ArchWiki”. 2008年9月7日閲覧。
  13. ^ Pierre Schmitz (2010年3月23日). “Switching to xz compression for new packages”. Archlinux.org. 2010年3月23日閲覧。
  14. ^ Official Repositories, wiki.archlinux.org, https://wiki.archlinux.org/index.php/Official_Repositories 2012年11月23日閲覧。 
  15. ^ “Arch Linux Newsletter 08-04-2008”. https://www.archlinux.org/static/newsletters/newsletter-2008-Aug-04.html 2008年9月7日閲覧。 
  16. ^ FS#5331 - Signed packages”. 2011年8月7日閲覧。
  17. ^ Attacks on Package Managers”. cs.arizona.edu (2008年7月10日). 2010年9月5日時点のオリジナルよりアーカイブ。2010年9月14日閲覧。
  18. ^ Allan McRae (2011年12月17日). “Pacman Package Signing – 4: Arch Linux”. 2012年2月29日閲覧。
  19. ^ Having pacman verify packages”. Gaetan Bisson (2012年6月4日). 2012年6月4日閲覧。
  20. ^ Install media 2012.07.15 released”. archlinux.org (2012年7月22日). 2012年8月13日閲覧。
  21. ^ ArchWiki :: ABS - The Arch Build System - ArchWiki”. 2008年9月7日閲覧。
  22. ^ Intervju: Arch Linux: Popular KISS distro”. [1]. 2008年10月24日閲覧。
  23. ^ DVD-Guides.com - Arch Linux Review”. 2008年9月7日閲覧。
  24. ^ Aaron Griffin (2009-02-16), 2009.02 ISO Release, https://www.archlinux.org/news/434/ 
  25. ^ DistroWatch, DistroWatch.com: Chakra GNU/Linux, distrowatch.com, http://distrowatch.com/table.php?distribution=chakra 2011年9月1日閲覧。 
  26. ^ コミュニティエディションとしてCinnamonMATELXDEEnlightenmentが提供されている

外部リンク[編集]