Arch と他のディストリビューションの比較
このページでは Arch Linux と他の GNU/Linux ディストリビューション、また UNIX ライクな OS との比較をしています。Arch Linux を利用するのが適しているかどうか迷っている人のために簡単な説明を加えていきます。ある程度は役に立つとは思いますが、実際にディストリビューションを試してみることが比較する最善の方法だということを忘れないで下さい。
もっと詳しい比較は Wikipedia:Comparison of operating systems や Wikipedia:ja:Linuxディストリビューションの比較を見てください。
以下では全て、Arch Linux だけが他のディストリビューションと比較されています。コミュニティによる x86_64 以外のアーキテクチャへの移植は Arch ベースのディストリビューション を参照してください。
目次
ソースベース
ソースベースのディストリビューションは移植性が高く、OS とアプリケーションをコントロールしコンパイルするのに優位な点(特定の CPU アーキテクチャに最適化できる)がありますが、そのかわりソースをコンパイルするのに時間を費やさなくてはならないという欠点があります。Arch Linux ではすべてのパッケージは x86_64 アーキテクチャのみにコンパイルされています。
CRUX
- CRUX はミニマリストディストリビューションで、KISS 原則に沿っています。Judd Vinet は CRUX に感銘を受け、Arch を作りました。
- CRUX は BSD スタイルの init スクリプトを使います。Arch は systemd を使います。
- Arch はローリングリリースシステムを採用していますが、CRUX はおよそ1年ごとにリリースされます。
- どちらも Ports ライクなシステムを持ち、*BSD のようにビルドを楽にする基盤を持っていることも同じです。
- Arch Linux では pacman を使って、バイナリのパッケージ管理したり、Arch Build System をシームレスに動作させます。CRUX はコミュニティによって開発されている prt-get と呼ばれるシステムを使い、Ports システムと連携して依存解決を行いますが、すべてのパッケージはソースからビルドされます (ただし CRUX のインストールにはバイナリを使います)。
- Arch Linux と CRUX はどちらも公式に x86_64 のみをサポートしています。
- Arch Linux はローリングリリースにのっとった大量のバイナリパッケージのレポジトリ、さらに Arch User Repository を用意しています。CRUX は更に軽量な公式サポートの Ports システムを提供しており、控えめなコミュニティリポジトリがあります。
LFS
- LFS (Linux From Scratch) は単純にドキュメントとして存在しています。GNU/Linux システムを動かすための最小パッケージのソースコードの入手、マニュアルコンパイル、パッチ、コンフィグレーションをスクラッチで行うようユーザーに命じています。LFS は限りなくミニマルで、ベースシステムをビルド・カスタマイズする素敵な経験を得ることができます。
- LFS にはオンラインリポジトリがありません。ソースを自分で手にいれ、コンパイルしインストールすることになります (手動のパッケージ管理の方法が LFS ヒントの中にあります)。
- Arch Linux には systemd や強力な pacman パッケージマネージャが付いており、x86_64 に最適化してコンパイルされたパッケージを提供します。Arch Linux のベースシステムでは、Arch のコミュニティや開発者による何千ものバイナリパッケージを pacman を使ってインストールでき、Arch Build System 用の PKGBUILD ビルドスクリプトもあります。また Arch にはパッケージを便宜にビルド・カスタマイズするための makepkg ツールがあり、出来たパッケージはそのまま pacman でインストールできます。
- Judd Vinet はスクラッチから Arch Linux を作り、pacman を C 言語で記述しました。歴史的に、Arch Linux は時々ユーモアとして「便利なパッケージマネージャ付き Linux」 (Linux, with a nice package manager) と表現されることがあります。
Gentoo/Funtoo Linux
- Gentoo Linux は Arch Linux と同じローリングリリースを採用しています。これによってパッケージは比較的最新に保たれています。
- ユーザーが設定する「USE フラグ」によってソースコードから直接コンパイルすることで Gentoo のシステムは成り立っています。Arch Linux はコンパイル済みの x86_64 バイナリを入れるシステムですが、Ports ライクなシステムを使ってソースコードからパッケージをインストールすることも可能です。一般に Arch Linux はビルドとアップデートが速く、Gentoo はより細かくシステムをカスタマイズ可能です。
- Arch Linux は x86_64 アーキテクチャのみをサポートしていますが Gentoo は公式に x86 (i486/i686), x86_64, PPC/PPC64, SPARC, Alpha, ARM, MIPS, HPPA, S/390, Itanium アーキテクチャをサポートしています。
- Gentoo の公式パッケージ・システム管理ツールは Arch のものよりも複雑で「パワフル」に出来ています。Gentoo の中核となる機能 (USE フラグ, SLOT など) には同等の機能が Arch Linux に存在しないものがあります。理由の一つとして Arch が主としてバイナリを使うディストリであるというのもありますが、作りをシンプルにして"オーバースペック"にならないようにするという Arch の設計思想の違いも大きいでしょう。
- OS のインストール時はどちらも最小のベースシステムのみをインストールするので、手動でシステムカスタマイズを行う必要があります。systemd を使いやすいと思うのであれば、Gentoo ユーザーは Arch Linux の様々なところを快適だと感じることができるでしょう。
一般向け
これらのディストリビューションは広い範囲での使用をみこんでいて、利用方法を選ばない汎用性があります。
Debian
- Debian は Linux ディストリビューションで一番巨大なプロジェクトであり、コミュニティであり、stable・testing・unstable のそれぞれのブランチをあわせると14万8千以上にもなるバイナリ パッケージ を提供しています。Arch で利用できるバイナリパッケージの数はそれに及びませんが、AUR も含めれば、その数は拮抗します。
- Debian はフリーソフトウェアの思想にとても熱情を持っています。Arch はそれに比べると甘く、GNU によって「フリーでない」と判断されたパッケージも含みます。
- Debian のデザイン・アプローチは安定性と厳重なテストに焦点をおいています。Debian の Stable は「凍った」パッケージです。最大で 5年間 のサポートが約束されています。Arch のパッケージは Debian の Stable や Testing よりも新しく、Unstable ブランチに相当します。
- Debian は多くのアーキテクチャに対応しています: alpha・arm・hppa・i386・x86_64・ia64・m68k・mips・mipsel・powerpc・s390・sparc。Arch は公式対応は x86_64 のみです。
- Arch はカスタマイズビルド・外部ソース由来のパッケージのインストールを Ports ライクなシステムを有することでサポートしています。Debian にはそれがなく、おおむねその巨大なバイナリリポジトリに頼っています。
- Arch のインストールによって作られるのは最小限のベース環境だけで、システムコンフィグレーションが透明化されています。Debian にもいくつかインストールの方法がありますが、自動的な設定の方に重きを置いています。
- Arch は基本的にソフトウェアライブラリにヘッダーファイルも入っていますが、Debian はヘッダーファイルは個別にダウンロードする必要があります。
- Arch はパッチを最小限に抑えており、そうすることで上流のレビューが困難になる問題を避けています。一方、Debian は多くの人に向けてパッケージを自由にパッチを適用しています。
Fedora
- Fedora はコミュニティによって開発されていますが、Red Hat による法的なサポートを受けています。しばしばブリーディングエッジテストベッドリリースシステムと称されます。Fedora のパッケージとプロジェクトは RHEL に (たまに他のディストリビューションにも) 取り込まれます。Arch もブリーディングエッジですが、その意味するところはローリングリリースであり、他のディストリビューションのようなテストブランチはありません。
- Fedora のパッケージは RPM です。管理には DNF パッケージマネージャを使います。Arch はパッケージを管理するために pacman を使います。
- Fedora は公式リポジトリに MP3 メディアサポートや他のノンフリーなソフトウェアを用意していません。フリーソフトウェアの思想のためですが、サードパーティのレポジトリにはそれらのパッケージが存在します。Arch はそうしたことに厳格ではないので、ユーザーに選択を委ねています。
- Fedora は最小構成だけでなくグラフィカルインストーラーを含めた多くのインストールオプションがあります。Fedora にはユーザーが選ぶことができるデスクトップ環境を選りすぐっています。一方 Arch は最小構成のインストールをするためのスクリプトだけを提供しています。
- Fedora は定期的なリリースサイクルを持っています。個別のバージョンで FedUp ツールを使ってアップデートすることをサポートしています。Arch はローリングリリースを採用しています。
- Arch には Ports システムがあります、Fedora にはありません。
- Arch と Fedora は中級・上級ユーザーや開発者をターゲットにしています。どちらもユーザーがプロジェクトに貢献することを求めています。
- Fedora は SELinux、GCJ コンパイルパッケージ (Sun の JRE 代替) の統合やアップストリームへの多くの貢献についてコミュニティーの承認を得ています。他のプロジェクトと比べてレッドハットや Fedora の外部開発者は Linux のカーネルコードに一番貢献しています。
- Arch Linux はユーザーのための様々な記事がある wiki を持っています。Fedora の wiki は「wiki」の言葉通りに、開発者・テスター・ユーザーたちのすばやい情報の交換のために使われています。エンドユーザーのための wiki を意味しません。Fedora の wiki はトラッカーやコーポレート wiki に似ています。
Slackware
- Slackware は BSD スタイルの init スクリプトが標準です。Arch は systemd を採用しています。
- Arch は pacman パッケージマネージャを供給しているので、Slackware の標準ツールとは異なり、オートマティックな依存解決とシステムアップデートを行います。Slackware のユーザーは基本的に手動で依存解決を行なっています。Slackware のプレインストールされているライブラリや依存の素晴しい提供と同じように、提供しているシステム制御のレベルが例示されるでしょう。
- Arch はローリングリリースを採用しています。Slackware のリリースサイクルはより保守的で、安定したパッケージを好みます。Arch はこの点「最前線」です。
- Arch Linux では公式リポジトリに沢山のバイナリパッケージがありますが、Slackware の公式リポジトリはそれよりも質素です。
- Arch には Ports ライクな Arch Build System とユーザーの PKGBUILD の巨大な集合である AUR があります。大きさは Arch には及びませんが、Slackware には Arch の PKGBUILD に似た Slackbuilds slackbuilds.org という半公式のリポジトリがあります。Slackware ユーザーは Arch Linux の様々なところを快適だと感じることができるでしょう。
初心者向け
「初心者用(newbie)ディストリ」と呼ばれる、似た思想で構築されている初心者向けのディストリビューションは数多くありますが、Arch はそれらとは全く異なります。できるだけミニマルなところから構成することで GNU/Linux を勉強しようと思っている人には Arch はベターかもしれません。Arch のインストールでインストールされるパッケージは比較的少ないからです。ディストリビューションの特徴の差異を以下に記述します。
Ubuntu
- Ubuntu は広く人気を集めている Debian ベースのディストリビューションで、Canonical Ltd. によって商業的にサポートされています。Arch は独立系の、スクラッチから作られたシステムです。
- Arch と Ubuntu にはそれぞれ全く違うゴール、そしてターゲットユーザーがあります。Arch は do-it-yourself アプローチを好むユーザーのために作られているのに対し、Ubuntu はユーザーフレンドリーな全自動のシステムを提供します。Arch はベース状態からインストールするミニマリストデザインをとっており、ユーザーはそれぞれの目的のためにカスタマイズすることが求められています。Ubuntu からキャリアを開始して、Arch に移行したユーザーもたくさんいます。
- Arch は、コミュニティの提供するサポートを越えて、特定のユーザーインターフェースに偏って開発されることはありません。しかし、Canonical の商業的な性質から論争を招くような決定が行われることもあります。例えば Unity の Dash メニューに広告を含めたりユーザーデータを収集したりすることが挙げられます。Arch は独立した、コミュニティによるプロジェクトであり、商業的な議題があがるようなことはありません。
- Ubuntu は6ヶ月ごとにリリースします。Arch はローリングリリースです。
- Arch には Ports ライクなシステムがあります。ユーザーが pacman パッケージマネージャで使うことができるソースパッケージを共有できる Arch User Repository もあります。Ubuntu はより複雑な apt を使い、また Personal Package Archives によってバイナリパッケージが再配布できるようになっています。
- コミュニティにも違いが見受けられます。Arch のコミュニティは Ubuntu のコミュニティと比べるとその規模は小さく、Arch への貢献が求められます。反対に、Ubuntu のコミュニティは巨大で、開発・パッケージング・リポジトリのメンテナンスにかかわらないユーザーにも寛容です。
Linux Mint
- Linux Mint は Ubuntu の派生として誕生し、後に Debian をベースとする LMDE (Linux Mint Debian Edition) が追加されています。他方、Arch は独立したディストリビューションであり独自のビルドシステムとリポジトリを使っています。
- Mint には MintTools という簡易なメンテナンス用のグラフィカルツールが含まれています。Arch が提供するのは pacman などのシンプルなコマンドラインツールだけであり、システムの管理はユーザーに一任されます。
- Mint の新しいバージョンは、Ubuntu の約1ヶ月後、6ヶ月ごとにリリースされます。LTS 版は5年間のサポートがあります。Linux Mint Debian Edition (LMDE) は Debian Stable ベースで、Mint パッケージのアップデートとセキュリティアップデートしか受け取りません。一方、Arch はフルローリングリリースのディストリビューションです。
openSUSE
openSUSE は RPM パッケージフォーマットを利用しており、YaST2 という GUI 設定ツールを持っています。Arch ではそのようなものは用意していません。つまり、openSUSE は、GUI 環境が必要で、自動で設定してくれることを求める初心者に向いています。
Mandriva/Mageia
Mandriva Linux (旧名: Mandrake Linux) は、すべての人にとって使いやすい GNU/Linux を作ることを目標に、1998年に作られました。RPM ベースの urpmi パッケージマネージャを装備しています。Mageia は元 Mandriva 従業員によって作られた Mandriva のフォークで、Mandriva の商業的立ち位置に反対して、非営利でコミュニティ主導です。Arch はもっとシンプルなアプローチを取っており、テキストベースかつ手動の設定が必要で、中級・上級ユーザーを対象にしています。
*BSD
- *BSD は同じ起源を持ち、カリフォルニア大学バークレー校の成果から直接作られ、フリーの再配布可能な、コストのかからない、
UNIX
システムを形成しています。*BSD は GNU/Linux ディストリビューションではありませんが、UNIX
ライクな OS ではあります。*BSD は AT&T のUNIX
コードに由来しています。 - Arch と *BSD は緊密に調和した基盤と Ports システムのコンセプトを共有していますが、Arch のような GNU/Linux システムに比べ、OpenBSD のカーネルとユーザーランドのプログラム、シェルやコモンツール (
ls
,cp
,cat
,ps
) は同じリポジトリで一緒に開発されています。 - BSD ライセンス は一般に coder を保護します。逆に GPL では、code が保護されます。Arch は GPL ライセンスでリリースされています。
- *BSD の派生についてより詳しく知るには、Wikipedia:ja:BSDの子孫 を参照してください。
参照
- DistroWatch - Linux ディストリビューションのニュースとレビュー