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

From ArchWiki
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

テンプレート:Article summary start テンプレート:Article summary text テンプレート:Article summary heading テンプレート:Article summary wiki テンプレート:Article summary wiki テンプレート:Article summary heading テンプレート:Article summary link テンプレート:Article summary end このページではArch Linuxと他のGNU/Linuxディストリビューション、またUNIXライクなOSとの比較をしています。Arch Linuxを利用するのが適しているかどうか迷っている人のために簡単な説明を加えていきます。お役に立てれば光栄ですが、実際にディストリビューションを試してみることが比べる最善の方法だということを忘れないで下さい。

ソースベース

ソースベースのディストリビューションは移植性が高く、OSとアプリケーションをコントロールしコンパイルするのに優位な点(特に特定のCPUアーキテクチャに最適化する場合)がありますが、そのかわりソースをコンパイルするのに時間を費やさなくてはならないという欠点があります。Arch Linuxではすべてのパッケージはi686・x86_64アーキテクチャに最適化されており、i386/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アーキテクチャをサポートしています。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)

SLSには複雑な歴史があります。詳細はthe SourceMage wikiに書かれています。

ミニマリスト

ミニマリストディストリビューションは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 Linxuを作る前、Judd VinetはCRUXに感銘を受け、愛用していました。CRUXはPer Lidénによって作られたミニマリストディストリビューションです。CRUXとBSDに共通の思想にインスパイアされてArch Linuxはスクラッチから作られ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サポートに而してコミュニティによってx86-64、PPC、64-bit PPC版が開発されています。

Arch Linuxはローリングリリースシステムにのっとった大量のバイナリパッケージのレポジトリ、さらにArch User Repositoryを用意しています。CRUXはよりスリムダウンしたPortsシステムをサポートし、それに加え控えめなコミュニティリポジトリがあります。

Slackware

  • SlackwareとArchはエレガンスとミニマリズムにフォーカスしたシンプルなディストリビューションという点でとても似ています。
  • Slackwareは謙虚で完全にvanillaなことで有名です。Archは破損を避けたりパッケージをよりクリーンにコンパイルするためにパッチをあてています。
  • SlackwareはBSDスタイルのinitスクリプトが標準です。Archはsystemdを採用しています。
  • Archはpacman (日本語)パッケージマネージャを供給し、Slackwareの標準ツールとは異なり、オートマティックな依存解決とシステムアップデートを行います。Slackwareにはインストール済みのライブラリと依存を供給しますが、Slackwareのユーザーは典型的に手動で依存解決を行なっています。
  • Archはローリングリリースを採用しています。Slackwareのリリースサイクルはより保守的で、安全でstableなパッケージを好みます。Archはこの点で「最前線」です。
  • Arch Linuxはオフィシャルレポジトリに沢山のバイナリパッケージがありますが、Slackwareのそれはより質素です。
  • ArchにはPortsライクなArch Build System (日本語)とユーザーのPKGBUILDの巨大な集合のAURがあります。大きさはArchには及びませんが、SlackwareにはArchのPKGBUILDに似たSlackbuilds slackbuilds.orgというセミオフィシャルレポジトリがあります。Slackwareを使えばArch Linuxと同じ快適を感じることができるでしょう。

一般向け

これらのディストリビューションは広い範囲での使用をみこんでいて、ほとんどのOS利用に使える汎用性があります。

Debian GNU/Linux

  • Debianは非常に巨大なプロジェクトであり、コミュニティであり、stable・testing・unstableのそれぞれのブランチは2万を超えるバイナリパッケージを提供しています。Archの利用できるバイナリパッケージの数はそれに及びませんが、AURも含めれば、その数は拮抗します。
  • Debianはフリーソフトウェアの思想にとても熱情を持っています。Archはそれに比べると甘く、GNUによって「フリーでない」と判断されたパッケージも含みます。
  • Debianのデザイン・アプローチは安定性と厳重なテストに焦点をおいています。Archの焦点はシンプル・ミニマリズムそしてブリーディングエッジです。ArchのパッケージはDebianのStableやTestingよりも新しく、Unstableブランチに相当します。
  • DebianとArchは主となるパッケージマネージメントを提供します。
  • Archはローリングリリースです。DebianのStableは「凍った」パッケージです。
  • 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を使っています。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は定期的なリリースサイクルを持っています。個別のバージョンはPreUpgradeツールを使ってアップデートすることをサポートしています。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はインディペンデントにスクラッチから作られたシステムです。
  • 2つのプロジェクトは全く違うゴール・ターゲットユーザーを持っていると言えます。Archはdo-it-yourselfアプローチを好むユーザーのために作られているのに対し、Ubuntuはユーザーフレンドリーな全自動構成のシステムを提供します。Archはベースからインストールするミニマリストデザインをとっており、ユーザーがそれぞれの目的のためにカスタマイズすることに頼っています。一般的に、開発者や鋳掛師(機械とその部品を修理し実験することを楽しむ人)はUbuntuよりもArchが好きでしょう。しかしUbuntuからキャリアを初めてArchに移行したユーザーがいることも事実です。
  • 最近のUbuntuの開発はタッチスクリーンデバイスに重きをおいている感じがあります。Archはユーザーコミュニティと連携して開発することでユーザーの目的に沿ったモデルをつくることに集中しています。
  • Ubuntuは6ヶ月ごとにリリースします。Archはローリングリリースで、毎月新しいスナップショットが作られます。
  • ArchにはPortsライクなシステムがあります。Ubuntuにはないです。
  • コミュニティにも違いが見受けられます。ArchのコミュニティはUbuntuのコミュニティと比べるとその規模は小さく、ディストリビューションに貢献することをすすめています。反対に、Ubuntuのコミュニティは巨大で、開発・パッケージング・レポジトリのメンテナンスにかかわらないユーザーにも寛容です。

Mandriva

Mandriva Linux(旧名:Mandrake Linux)は1998年にすべての人がGNU/Linuxを使いやすくすることをゴールに作られました。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"を自称しています。
  • ArchとOpenBSDは小さくてエレガントなベースインストールを行います。
  • 簡単なインストールやプログラムの管理のためのPortsパッケージシステムはありますが、OSの一部ではありません。
  • ArchのようなGNU/Linuxシステムにくらべ、OpenBSDのカーネルとユーザーランドのプログラム、シェルやコモンツール(ls, cp, cat and ps)はおなじリポジトリで一緒に開発されています。これはほかのBSDベースのOSも同じです。