Arch と他のディストリビューションの比較
テンプレート:Related articles start (日本語)
このページでは Arch Linux と他の GNU/Linux ディストリビューション、また UNIX ライクな OS との比較をしています。Arch Linux を利用するのが適しているかどうか迷っている人のために簡単な説明を加えていきます。ある程度は訳に立つとは思いますが、実際にディストリビューションを試してみることが比較する最善の方法だということを忘れないで下さい。
目次
ソースベース
ソースベースのディストリビューションは移植性が高く、OS とアプリケーションをコントロールしコンパイルするのに優位な点(特定の CPU アーキテクチャに最適化できる)がありますが、そのかわりソースをコンパイルするのに時間を費やさなくてはならないという欠点があります。Arch Linux ではすべてのパッケージは i686・x86_64 アーキテクチャに最適化されており、i486/i586 のバイナリを提供するディストリビューションよりパフォーマンスの面で優れています。
Gentoo Linux
- Gentoo Linux は Arch Linux と同じローリングリリースを採用しています。これによってパッケージは比較的最新に保たれています。
- ユーザーが設定する「USE フラグ」によってソースコードから直接コンパイルすることで Gentoo のシステムは成り立っています。Arch Linux はコンパイル済みの i686/x86_64 バイナリを入れるシステムですが、Ports ライクなシステムを使ってソースコードからパッケージをインストールすることも可能です。一般に Arch Linux はビルドとアップデートが速く、Gentoo はより細かくシステムをカスタマイズ可能です。
- Arch Linux は i686・x86_64 アーキテクチャのみをサポートしていますが、Gentoo は公式に x86、PPC、SPARC、Alpha、AMD64、ARM、MIPS、HP/PA、S/390、sh、Itanium アーキテクチャをサポートしています。
- Gentoo の公式パッケージ・システム管理ツールは Arch のものよりも複雑で「パワフル」に出来ています。Gentoo の中核となる機能 (USE フラグ, SLOT など) には同等の機能が Arch Linux に存在しないものがあります。理由の一つとして Arch が主としてバイナリを使うディストリであるというのもありますが、作りをシンプルにして"オーバースペック"にならないようにするという Arch の設計思想の違いも大きいでしょう。
- OS のインストール時はどちらも最小のベースシステムのみをインストールするので、手動でシステムカスタマイズを行う必要があります。Gentoo を使えば Arch Linux と同じ快適を感じることができるでしょう。
Sorcerer/Lunar-Linux/Source Mage
- Sorcerer/Lunar-Linux/Source Mage (SLS) は同じ起源をもったソースベースのディストリビューションです。
- SLS はパッケージを記述するよりシンプルなスクリプトファイルを持ち、コンパイルの設定にグローバルな設定ファイルを使います (Arch Build System に似ています)。SLS のツールは依存性チェックや任意選択、パッケージのトラッキング・削除・アップグレードを行います。SLS ファミリーにバイナリパッケージは用意されていませんが、インストールされたパッケージを以前のバージョンに簡単に戻す機能があります。
- インストールする際には shell と ncurses menus によるシンプルなシステムを用い、後から任意でシステムをリコンパイルできます。
- Arch Linux と同じく、デフォルトの WM/DE/DM はありません。また Xorg はインストール時に含まれていません。複数の X サーバー代替を利用できます。(Xorg 6.8/7, XFree86)
ミニマリスト
ミニマリストディストリビューションは Arch Linux と多くの類似点があります。技術的視点から見て、これらディストリビューションは「シンプル」だと考えられています。
LFS
- LFS(Linux From Scratch) は単純にドキュメントとして存在しています。GNU/Linux システムを動かすための最小パッケージのソースコードの入手、マニュアルコンパイル、パッチ、コンフィグレーションをスクラッチで行うようユーザーに命じています。LFS は限りなくミニマルで、ベースシステムをビルド・カスタマイズする素敵な経験を得ることができます。Arch Linux は systemd や強力な pacman パッケージマネージャーを加えた i686/x86_64 に最適にコンパイル済みの同じようなパッケージを提供します。
- LFS にはオンラインリポジトリがありません。ソースを自分で手にいれ、コンパイルしインストールすることになります (手動のパッケージ管理の方法が LFSヒント の中にあります)。Arch Linuxのベースシステムでは、Arch のコミュニティ・デベロッパによる何千のバイナリパッケージを pacman を使ってインストールでき、Arch Build System 用の PKGBUILD ビルドスクリプトがあります。また Arch には
.pkg.tar.xz
パッケージを便宜にビルド・カスタマイズするための makepkg ツールがあり、そのまま pacman でインストールできます。 - Judd Vinet はスクラッチから Arch Linux を作り、pacman を C 言語で記述しました。歴史的に、Arch Linux は時々ユーモアとして「便利なパッケージマネージャ付き Linux」(Linux, with a nice package manager) と表現されます。
CRUX
- Arch Linux の創始者、Judd Vinet は Arch を作る前、CRUX に感銘を受け、愛用していました。CRUX は Per Lidén によって作られたミニマリストディストリビューションです。Judd Vinet は CRUX や BSD の思想にインスパイアされ、Arch をスクラッチから作り、pacman をCでコーディングしました。
- Arch Linux と CRUX には共通の指針が複数あります: どちらもアーキテクチャに最適化され、ミニマリストで、K.I.S.S. 原則に沿っています。Ports ライクなシステムを持ち、*BSD のようにビルドを楽にする小さな基盤を持っていることも同じです。Arch Linux では pacman を使って、バイナリのパッケージ管理したり、Arch Build System をシームレスに動かしています。CRUX はコミュニティによって開発されている prt-get と呼ばれるシステムを使い、Ports システムと連携して依存解決を行います。しかしすべてのパッケージはソースからビルドされます。(CRUX のインストールにはバイナリを使いますが)。
- Arch Linux は公式に x86_64 と i686 のみサポートしています。CRUX は i686 をサポートしています。
- Arch Linux はローリングリリースにのっとった大量のバイナリパッケージのレポジトリ、さらに Arch User Repository を用意しています。CRUX はより軽量な Ports システムをサポートし、控えめなコミュニティリポジトリがあります。
Slackware
- Slackware と Arch はエレガンスとミニマリズムにフォーカスしたシンプルなディストリビューションという点でとても似ています。
- Slackware は完全に vanilla(カーネルに何もパッチをあてていない状態)なことで有名です。Arch は破損を避けたりパッケージをよりクリーンにコンパイルするためにパッチをあてています。
- Slackware は BSD スタイルの init スクリプトが標準です。Archは systemd を採用しています。
- Archは pacman パッケージマネージャを供給し、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 と同じ快適を感じることができるでしょう。
一般向け
これらのディストリビューションは広い範囲での使用をみこんでいて、利用方法を選ばない汎用性があります。
Debian GNU/Linux
- Debian は Linux ディストリビューションで一番巨大なプロジェクトであり、コミュニティであり、 stable・testing・unstable のそれぞれのブランチは3万を超えるバイナリパッケージを提供しています。Arch の利用できるバイナリパッケージの数はそれに及びませんが、AUR も含めれば、その数は拮抗します。
- Debian はフリーソフトウェアの思想にとても熱情を持っています。Arch はそれに比べると甘く、GNU によって「フリーでない」と判断されたパッケージも含みます。
- Debian のデザイン・アプローチは安定性と厳重なテストに焦点をおいています。そして有名な "Debian 社会契約" に基づいて作られています。Arch の焦点はシンプル・ミニマリズムそしてブリーディングエッジです。Arch のパッケージは Debian の Stable や Testing よりも新しく、Unstable ブランチに相当します。
- Debian と Arch は主となるパッケージマネージメントを提供します。
- Arch はローリングリリースです。Debian の Stable は「凍った」パッケージです。Debian unstable はローリングリリースです。
- Debian は多くのアーキテクチャに対応しています。alpha、arm、hppa、i386、x86_64、ia64、m68k、mips、powerpc、s390、sparc。Arch は公式対応は i686 と x86_64 のみ、コミュニティの移植として arm 版(例えば Raspberry Pi 向け)だけです。
- Arch はカスタマイズビルド・外部ソース由来のパッケージインストールを Ports ライクなシステムを有することでサポートしています。Debian にはそれがなく、おおむねその巨大なバイナリリポジトリに頼っています。
- Arch のインストール時のシステムはミニマルベースのみです。システムコンフィグレーションが透明化されています。Debian にもいくつかインストールの方法がありますが、自動的な設定の方に重きを置いています。
- Debian はデフォルトでは SysVinit を使っています、ユーザーが systemd や upstart を設定することも可能です。Archは systemd を採用しており、全体的に優れたパフォーマンスを発揮します。
- Arch はパッチを最小に押さえています、そうすることでレビューが困難になる問題を避けています。Debian はおうようにパッチを行います。
Fedora
- Fedora はコミュニティによって開発されていますが、Red Hat による法的なサポートを受けています。それはしばしばブリーディングエッジテストベッドリリースシステムと称されます。Fedora のパッケージとプロジェクトは RHEL に(たまに他のディストリビューションにも)取り込まれます。Arch もブリーディングエッジですが、その意味するところはローリングリリースであり、他のディストリビューションのようなテストブランチはありません。
- Fedora のパッケージは RPM です。管理には YUM パッケージマネージャを使い、オフィシャルなグラフィカルパッケージ管理ツールも用意されています。Arch は tar.xz パッケージを管理するために pacman を使い、グラフィカルフロントエンドは公式には用意していません。
- Fedora は公式リポジトリに MP3 メディアサポートや他のノンフリーなソフトウェアを用意していません。フリーソフトウェアの思想のためですが、サードパーティのレポジトリにはそれらのパッケージが存在します。Arch はそうしたことに厳格ではないので、ユーザーに選択を委ねています。
- Fedora は最小構成だけでなくグラフィカルインストーラーを含めた多くのインストールオプションがあります。Fedora にはユーザーが選ぶことができるデスクトップ環境を選りすぐっています。一方 Arch は最小構成のインストールはほんのすこしのスクリプトのみです。
- Fedora は定期的なリリースサイクルを持っています。個別のバージョンで FedUp ツールを使ってアップデートすることをサポートしています。Arch はローリングリリースを採用しています。
- The Arch Way はシンプル・軽量・エレガンスそしてユーザーの利便性を重視しています。対して Fedora Core Values はフリーソフトウェア・コミュニティ開発・ブリーディングエッジシステムイノベーションを重視しています。
- Arch には Ports システムがあります、Fedora にはありません。
- Arch と Fedora は中級・上級ユーザーや開発者をターゲットにしています。どちらもユーザーがプロジェクトに貢献することを求めています。
- Fedora は SELinux、GCJ コンパイルパッケージ (Sun の JRE 代替) の統合やアップストリームへの多くの貢献についてコミュニティーの承認を得ています。レッドハットや Fedora の外部開発者は Linux のカーネルコードについて他のプロジェクトと比べて一番貢献しています。
- Arch Linux は様々な記事を持つユーザーのための wiki を持っています。Fedora の wiki は 「wiki」 の言葉通りに、開発者・テスター・ユーザーたちのすばやい情報の交換のために使われています。エンドユーザーのための wiki を意味しません。Fedora の wiki はトラッカーやコーポレート wiki に似ています。
Frugalware
- Arch はコマンドラインをよく使います。
- Frugalware は JFS ファイルシステムをデフォルトでサポートしていません。
- Arch と Frugalware はどちらも i686 に最適化されています。
- Arch は初めに最小構成をインストールして、それから pacman を使ってユーザーのニーズにあわせて拡張していきます。Frugalware はすでにソフトウェアやデスクトップ環境が選ばれた DVD からインストールします。
- Frugalware は定期的なリリースサイクルを持っています。もう一度言うと、Arch はシンプル・ミニマリズム・コードの正確性そしてローリングリリースによる最前線のパッケージに焦点をあてています。
初心者向け
ときどき「newbie ディストロ」と呼ばれ、似た思想で構築されている初心者向けのディストリビューションは数多くありますが、Arch はそれらとは全く異なります。できるだけミニマルなところから構成することで GNU/Linux を勉強しようと思っている人には Arch はベターかもしれません。Arch のインストールは比較的パッケージが少ないからです。ディストリビューションの特徴の差異を以下に記述します。
Ubuntu
- Ubuntu は広く人気を集めている Debian ベースのディストリビューションで、Canonical Ltd. によって商業的にサポートされています。Arch は独立系の、スクラッチから作られたシステムです。
- Arch と Ubuntu にはそれぞれ全く違うゴール、そしてターゲットユーザーがあります。Arch は do-it-yourself アプローチを好むユーザーのために作られているのに対し、Ubuntu はユーザーフレンドリーな全自動のシステムを提供します。Arch はベース状態からインストールするミニマリストデザインをとっており、ユーザーはそれぞれの目的のためにカスタマイズすることが必要です。一般的に、開発者や鋳掛師(機械とその部品を修理し実験することを楽しむ人)は Ubuntu よりも Arch が好ましいでしょう。しかし Ubuntu からキャリアを初めて Arch に移行したユーザーもたくさんいます。
- 最近の Ubuntu の開発はタッチスクリーンデバイスに重きをおいている感じがあります。Arch はユーザーコミュニティと連携して開発することで、ユーザーの目的に沿ったモデルをつくることを優先しています。
- Ubuntu は6ヶ月ごとにリリースします。Arch はローリングリリースで、毎月新しいスナップショットが作られます。
- Arch には Ports ライクなシステムがあります。Ubuntu にはありません。
- コミュニティにも違いが見受けられます。Arch のコミュニティは Ubuntu のコミュニティと比べるとその規模は小さく、Arch への貢献が求められます。反対に、Ubuntu のコミュニティは巨大で、開発・パッケージング・レポジトリのメンテナンスにかかわらないユーザーにも寛容です。
Mandriva
Mandriva Linux (旧名:Mandrake Linux) は、すべての人が GNU/Linux を使いやすくすることをゴールに、1998年に作られました。RPM ベースの urpmi パッケージマネージャを装備しています。Arch はシンプルをゴールに作られました。テキストベースかつ手動の設定が必要で、中級・上級ユーザーを対象にしています。
openSUSE
openSUSE は RPM パッケージを使っていて YaST2 という GUI 設定ツールを持っています。パッケージ管理などユーザーが必要な設定を一度に行えます。Arch ではそのようなことは The Arch Way に反するので用意していません。つまり、openSUSE は、GUI 環境が必要で、自動で設定してくれることを求める初心者に向いています。
PCLinuxOS
- PCLinuxOS は人気の Mandriva ベースのディストリビューションで、完全なデスクトップ環境を持っています。そのユーザーフレンドリーなデザインは「シンプル」と称していますが、Arch の定義でいうシンプルとは意味が違います。Arch は根っこからカスタマイズできるシンプルなシステムを目指していて、経験あるユーザーに向いています。
- PCLOS は RPM をラッパーした apt パッケージマネージャを使います。Arch は独立して開発された pacman を使い
.pkg.tar.xz
パッケージを扱います。
- PCLOS には GUI が整っています。GUI のハードウェア設定ツールや Synaptic パッケージ管理フロントエンドがあり、シェルを使う必要はほとんどありません。Arch ではコマンドラインが必須で、システム設定や管理・メンテナンスがシンプルになるように作られています。
- PCLOS は 256 MB RAM を最小必要環境としています。Arch はもっと軽量で、さらに少ないシステムメモリ環境でも動作可能です。i686 インストールには 64 MB RAM でも十分であり、最新のシステムでも問題なく動くと思われます。
The *BSDs
*BSD は同じ起源を持ち、カリフォルニア大学バークレー校で作られたものから直接作られ、フリーの再配布可能な、コストのかからない、UNIX
システムを形成しています。それらは GNU/Linux ディストリビューションではありませんが、UNIX
ライクな OS ではあります。Arch と *BSD は緊密に調和した基盤と Ports システムのコンセプトを共有しています。init フレームワークは一見似ていますが、コード上は全く関係していません。例外は Arch の vi
はオリジナルの BSD の vi
だということです。(しかしほとんどの *BSD はオリジナルの BSD の vi
を使っていません)。*BSD は AT&T の UNIX
コードに由来していたことがあり、真の意味で UNIX
の遺産です。*BSD の派生についてより詳しく知るには、ベンダーのサイトを見て下さい。
FreeBSD
- Arch と FreeBSD はどちらも 'Ports' システムでコンパイルされたソフトウェアを提供しています。
- 他の *BSD のように、FreeBSD のベースは本来それぞれのアプリケーションが FreeBSD に 'port' され動作するシステムとして作られました。反対に、(Arch のような) GNU/Linux ディストリビューションは雑多なソースから集められた混合物です。
- FreeBSD のライセンスは一般に coder を保護します。逆に、GPL では、code が保護されます。Arch は GPL ライセンスでリリースされています。
- FreeBSD では Arch と同じく、決定はパワーユーザーであるあなたに委ねられます。Arch と比較して一番おもしろい OS かもしれません。パッケージの新しさは同等であり、大きくて、スマートで、活動的・現実的なコミュニティがあります。
- システムは大変似ており、FreeBSD を使うことで Arch と同じ快適を得られるでしょう。
NetBSD
- NetBSD はフリーで、セキュアかつ高い移植性をもった
UNIX
ライクなオープンソースの OS であり、64-bit Opteron マシンのデスクトップから携帯デバイスまで50以上のプラットフォームで動作します。クリーンなデザインと先進的な機能は生産・研究において有効で、ユーザーサポートも充実しています。多くのアプリケーションが pkgsrc (NetBSD Packages Collection) を通して簡単に動作します。
- Arch は NetBSD ほどのデバイス汎用性はもっていませんが、i686 には自信があります。
- NetBSD の pkgsrc は Arch の ABS に似たソースベースのインストール方法です。pkg_tools を使うことでバイナリパッケージを得られます。
- Arch はいくつか NetBSD と類似点があります: 手動の設定が必要な点、ミニマリストで軽量な点、Ports システムもバイナリパッケージも使えて実動的な開発者とコミュニティがある点。
OpenBSD
OpenBSD プロジェクトはフリーかつマルチプラットフォームな 4.4BSD ベースの UNIX
ライクな OS を作っています。
- OpenBSD は可搬性・標準化・コードの正確性・高度なセキュリティ・暗号に焦点をあてています。一方、Arch の焦点はシンプル・エレガンス・ミニマリズム・最前線のソフトウェアです。OpenBSD は"おそらくナンバーワンのセキュリティ OS"を自称しています。
- OpenBSD は Arch と同じように小さくてエレガントなインストールを行います。
- 簡単なインストールやプログラムの管理のための Ports パッケージシステムはありますが、OS の一部ではありません。
- Arch のような GNU/Linux システムに比べ、OpenBSD のカーネルとユーザーランドのプログラム、シェルやコモンツール (
ls
,cp
,cat
,ps
) は同じリポジトリで一緒に開発されています。これはほかの BSD ベースの OS も同じです。