Linux道場入門編
第2回ディストリビューションとは
今回はディストリビューションについてのお話です。
Linuxを使おうと思った際に最初に悩むのが、ディストリビューションといわれるLinuxの配布形式の選定です。知らない人が見るとディストリビューションというものがそもそも何なのかがわかりにくく、あたかもLinuxがたくさんあるように思われるかもしれません。最初にどのディストリビューションを選ぶかによって、Linuxの捕らえ方が変わってくるほど大きな違いがあるものもあります。
今回は、そもそもLinuxのディストリビューションとは何なのかをお話していきたいと思います。
広義のLinuxと狭義のLinux
Linuxとは、本来OSのコアであるカーネルといわれるものをさす言葉です。カーネルとは、OSの本来の役割であるハードウェアの制御やファイル、ソフトウェアの実行、リソース等の管理を行う部分で、普段ユーザがカーネルの動作を目にすることはありません。実際にユーザが目にする部分はアプリケーションであったり、OSの管理機能を利用するユーティリティソフトであったりします。最近のOSパッケージには様々なソフトウェアが最初から入っているため、 OS本来の部分がどの部分なのかが非常に見えにくくなっているのも事実です。たとえば、カーネルとその他のソフトウェアは以下の図のように表現することもできます。
つまり普段目にしているOSはOSのコア以外のものも含まれており、それを普段OSとして認識しているといえます。上の図でいうと中心にあるものが Linuxのカーネル部分となり、この部分が本来Linuxといわれる部分です。これが狭義の意味でのLinuxです。しかし実際にLinuxカーネルのみがあったとしても、それを利用するソフトウェア一式が存在しないと実際に使えるOSとしては成立しません。
- ※カーネルだけではコマンド実行もできません。それどころか起動もできないでしょう。
通常Linuxを利用する場合、カーネル以外にも様々なソフトウェアが組み合わされた状態で利用します。このカーネル以外のその他のソフトウェアを一式含んだ状態が広義のLinuxです。つまり一般的にいうLinuxとは、この広義の意味でのLinuxをさします。
ディストリビューションとは
このように、カーネルだけではユーザはOSを利用することが困難です。そこで一般的なOSの形にするために様々なソフトウェアと組み合わせる必要があります。しかし、1から構成を自分で構築するのは時間と労力、そしてある程度の知識が必要になります。
そこで、LinuxカーネルとOSを構成するその他のソフトウェアを組み合わせる煩雑さをユーザから解放するために、最初からそれらを組み合わせた形で配布するという形が生まれます。これがディストリビューションです。つまり、ディストリビューションとはカーネルとそれをとりまくソフトウェアセットということになります。通常Linuxといった場合、このディストリビューションを指していることがほとんどです。
最初のディストリビューションはSlackwareで、最もシンプルなLinuxディストリビューションといわれています。他にも代表的なディストリビューションとしてRedhat、SuSE 、Fedora、Ubuntu、Vine、Debian GNU/Linuxなどがあります。こういったディストリビューションはバージョンの違いこそあれ、Linuxカーネルを使っている点においてはまったく同一です。異なる点は、Linuxカーネルと組み合わせるアプリケーションとしてどういったアプリケーションを組み合わせているか、インストール形式、パッケージの管理方法、システム構成などです。このようなディストリビューションの違いによってあたかも複数のLinuxが存在するように見えますが、それはLinuxカーネルと組み合わされたものがことなるというだけです。
様々なディストリビューション
ディストリビューションはそのベースとなるものによって大きく分けて3つの系統に分類することができます。それぞれ、ベースとなるディストリビューションの名前をとってSlackware系、Redhat(rpm)系、Debian系といわれます。
- Slackware系
- Slackware、Plamo、SLAX等
- Redhat(rpm)系
- Fedora、CentOS、MIRACLE、RedFlag、PS2 Linux、Turbo、Vine、SUSE等
- Debian系
- Debian/GNU Linux、Ubuntu、KNOPPIX、Omoikane、Linspie等
どのようなディストリビューションを選択するかは環境によって異なりますが、もともとはユーザの嗜好にあわせたものを選択するというのがディストリビューション選択のポイントでした。現在ではハードウェアやソフトウェアのサポートなどの理由からディストリビューションを選択するというケースもあります。こういったサポートというものがよくなされるのは最大の派閥であるRedhat系のLinuxです。Redhat Linuxはrpmと呼ばれるパッケージ管理システムの扱いやすさから幅広いユーザ層を持っており、多くのディストリビューションがRedhat Linuxをベースとしています。
様々なディストリビューションという形でLinuxが存在していますが、ベースとなる技術はすべてのディストリビューションで共通のものです。いろいろなディストリビューションを使っていても、1つのディストリビューションを使っていてもLinuxを使っていることには変わりはありません。
Linuxには多くのディストリビューションが存在し、中には消えていくものもあります。このようなディストリビューションの多さは他のOSにはない Linuxの特徴です。これはある意味では混乱のもとになるものですが、自身の実力や環境に合ったものを選択できるという意味では、ユーザ自身に選択の決定権があることもLinuxらしい特徴だといえます。
コラム執筆/末永 貴一
株式会社エイチアイ研究開発部 部長
ヒューマンインターフェイスの研究開発、コンテンツの開発を行う株式会社エイチアイで次世代技術の研究開発を行う業務を担当している。 オープン系のシステム開発事業、教育事業を経て、自社独自の組込み機器向け3DリアルタイムレンダリングエンジンであるミドルウェアのMascotCapsuleを中心とした開発に従事した。数年前にLinuxを知ってからはサーバ構築、開発、教育、執筆などさまざまな場面で関わるようになり、現在では組込み開発でもLinuxを利用することもある。