Arch と他のディストリビューションの比較

提供: ArchWiki
2015年8月16日 (日) 18:20時点におけるKusakata (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

関連記事

このページでは Arch Linux と他の GNU/Linux ディストリビューション、また UNIX ライクな OS との比較をしています。Arch Linux を利用するのが適しているかどうか迷っている人のために簡単な説明を加えていきます。ある程度は役に立つとは思いますが、実際にディストリビューションを試してみることが比較する最善の方法だということを忘れないで下さい。

ソースベース

ソースベースのディストリビューションは移植性が高く、OS とアプリケーションをコントロールしコンパイルするのに優位な点(特定の CPU アーキテクチャに最適化できる)がありますが、そのかわりソースをコンパイルするのに時間を費やさなくてはならないという欠点があります。Arch Linux ではすべてのパッケージは i686・x86_64 アーキテクチャに最適化されており、i486/i586 のバイナリを提供するディストリビューションよりパフォーマンスの面で優れています。

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 は公式では x86_64 しかサポートしていません。
  • Arch Linux はローリングリリースにのっとった大量のバイナリパッケージのレポジトリ、さらに Arch User Repository を用意しています。CRUX は更に軽量な公式サポートの Ports システムを提供しており、控えめなコミュニティリポジトリがあります。

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) と表現されることがあります。

Gentoo/Funtoo 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 ファミリーにバイナリパッケージは用意されていませんが、インストールされたパッケージを以前のバージョンに簡単に戻す機能があります。
  • インストールする際にはシェルと ncurses menus によるシンプルなシステムを用いて設定を行い、後から任意でベースシステムをリコンパイルできます。
  • Arch Linux と同じく、デフォルトの WM/DE/DM はありません。また Xorg はインストール時に含まれていません。複数の X サーバー代替を利用できます (Xorg 6.8/7, XFree86)。

一般向け

これらのディストリビューションは広い範囲での使用をみこんでいて、利用方法を選ばない汎用性があります。

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 を採用しており、全体的に優れたパフォーマンスを発揮します。Debian の次の安定版リリースでは、systemd がデフォルトになります。
  • Arch は基本的にソフトウェアライブラリにヘッダーファイルも入っていますが、Debian はヘッダーファイルは個別にダウンロードする必要があります。
  • Arch はパッチを最小限に抑えており、そうすることで上流のレビューが困難になる問題を避けています。Debian はおうようにパッチを行います。

Fedora

  • Fedora はコミュニティによって開発されていますが、Red Hat による法的なサポートを受けています。しばしばブリーディングエッジテストベッドリリースシステムと称されます。Fedora のパッケージとプロジェクトは RHEL に (たまに他のディストリビューションにも) 取り込まれます。Arch もブリーディングエッジですが、その意味するところはローリングリリースであり、他のディストリビューションのようなテストブランチはありません。
  • Fedora のパッケージは RPM です。管理には DNF パッケージマネージャを使い、オフィシャルなグラフィカルパッケージ管理ツールも用意されています。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 に似ています。

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 と同じ快適を感じることができるでしょう。

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 はユーザーコミュニティと連携して開発することで、ユーザーの目的に沿ったモデルをつくることを優先しています。
    • また、Canonical の商業的な性質から論争を招くような決定が行われることもあります。例えば Unity の Dash メニューに広告を含めたりユーザーデータを収集したりすることが挙げられます。Arch は独立した、コミュニティによるプロジェクトであり、商業的な議題があがったりディストリビューションにブロートウェアを入れるようなことはありません。
  • Ubuntu は6ヶ月ごとにリリースします。Arch はローリングリリースで、毎月新しいスナップショットが作られます。
  • Arch には Ports ライクなシステムがあります。Ubuntu にはありません。
  • コミュニティにも違いが見受けられます。Arch のコミュニティは Ubuntu のコミュニティと比べるとその規模は小さく、Arch への貢献が求められます。反対に、Ubuntu のコミュニティは巨大で、開発・パッケージング・リポジトリのメンテナンスにかかわらないユーザーにも寛容です。

Linux Mint

  • Linux MintUbuntu の派生として誕生し、後に Debian をベースとする LMDE (Linux Mint Debian Edition) が追加されています。他方、Arch は独立したディストリビューションであり独自のビルドシステムリポジトリを使っています。
  • Ubuntu と同じように、Mint も"パワフルで使いやすく、最新で洗練されたオペレーティングシステム"を謳っており対象とするユーザーベースも同じです。ディストリビューションのパッケージに関するアプローチやターゲットは Arch のミニマリズムとは明らかに対極に位置しています。
  • Mint には MintTools という簡易なメンテナンス用のグラフィカルツールが含まれています。Arch が提供するのは pacman などのシンプルなコマンドラインツールだけであり、システムの管理はユーザーに一任されます。
  • Mint はメインの GUI として Cinnamon または MATE が搭載されており、他に KDEXfce4 が選べます。コーデックや flash、DVD の再生や MP3 のサポートが含まれており、中にはプロプライエタリなソフトウェアもあります。さらにバラエティ豊かな人気ソフトウェア Firefox, GIMP, LibreOffice, pidgin などが入っています。Arch のベースインストールには Xorg すら含まれておらず、ウィンドウマネージャやデスクトップ環境といったものは、後で必要な場合にインストールすることができます。また、Arch のデフォルトディストリビューションにはプロプライエタリソフトウェアは含まれていません。
  • Mint の新しいバージョンは、Ubuntu の約1ヶ月後、6ヶ月ごとにリリースされますが、サポートサイクルは少々異なっています。LTS 版は5年間のサポートがあり、LTS 版の間にはさまる3つのリリースは6ヶ月 (つまり次のリリースまで) しかサポートされません。LMDE 版は Debian Testing のリリースサイクルに従っており、Mint のウェブサイトでは"セミローリング"と解説されるように Debian Testing のテスト済みスナップショットを "Update Packs" として使うことで安定したシステムを実現しています。もっと頻繁にアップデートをして欲しい場合は、Testing や Unstable からアップデートをダウンロードするように切り替えることも可能です。一方、Arch はフルローリングリリースのディストリビューションです。
  • Mint はパッケージマネージャとして APT を使用します。Arch は pacman を使います。

openSUSE

openSUSE は RPM パッケージフォーマットを利用しており、YaST2 という GUI 設定ツールを持っています。これによってパッケージ管理などユーザーが必要な設定を一度に行えます。Arch ではそのようなことは The Arch Way に反するので用意していません。つまり、openSUSE は、GUI 環境が必要で、自動で設定してくれることを求める初心者に向いています。

Mandriva/Mageia

Mandriva Linux (旧名: Mandrake Linux) は、すべての人にとって使いやすい GNU/Linux を作ることを目標に、1998年に作られました。RPM ベースの urpmi パッケージマネージャを装備しています。Arch はもっとシンプルなアプローチを取っており、テキストベースかつ手動の設定が必要で、中級・上級ユーザーを対象にしています。

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 でも十分であり、最新のシステムでも問題なく動くと思われます。

*BSD

*BSD は同じ起源を持ち、カリフォルニア大学バークレー校の成果から直接作られ、フリーの再配布可能な、コストのかからない、UNIX システムを形成しています。*BSD は GNU/Linux ディストリビューションではありませんが、UNIX ライクな OS ではあります。Arch と *BSD は緊密に調和した基盤と Ports システムのコンセプトを共有していますが、コード上は全く関係していません。例外は 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ビットの 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 も同じです。

参照