あなたがOSの開発者だったとします。自分でOSを作るとしたら、どんなものを作りたいですか?「こういうものが欲しい!」というニーズや、「OSはこうであるべきだ!」などの理想があると思います。
例えば、
「サーバとしての動作に特化した、硬派なOSが欲しい」
「万人が使いやすいGUIのOSにしたい」
「クリエイター向けのOSが欲しい」
「ひたすらシンプルでミニマルなOSにしたい」
「MacOSみたいな綺麗で使いやすいGUIのOSにしたい」
「Windowsから移行しやすいOSにしたい」
などのようなニーズや理想があるでしょう。
Linuxはオープンソースで、ソースコードが公開されており自由に改造することが出来ます。Linuxのカーネルのソースコードを元にして、自分たちの理想のOSを実現するために、Linuxカーネルとその動作に必要なプログラム、及び理想のOSに必要な機能やデザインをまとめたものをLinuxディストリビューションと呼びます。
前項で示した「無数に存在するLinuxベースのOS」の1つ1つがディストリビューションで、ざっくりといえばLinuxOSの「種類」と言い換えることも可能です。
「ニーズ」や「理想」に応じてカスタマイズされた様々なディストリビューションが存在しており、上記で例示したような「ニーズ」や「理想」をもとに開発されたLinuxディストリビューションは全て実在しています。
そんなLinuxに対して、WindowsやMacOSはMicrosoftやAppleがソフトウェアのソースコードに対して知的財産権を所有しているため、一般ユーザがOSをコードレベルで改造して一般公開することは許されません。このような性質はオープンソースの対としてプロプライエタリと呼ばれます。こう書くとプロプライエタリは良くないことのように見えますが、自由度が低くなりコストがかかる代わりに髙い安定性や、一般ユーザーでは簡単に構築できないような機能の提供、充実したサポートが担保されると考えれば、これもまた一長一短です。
Linuxのディストリビューションとしては、いくつかの流派があります。企業向けで商用環境に特化したRed Hat Enterprise Linux系(単にRed Hat系とも)、企業・個人を問わず適用可能でユーザーフレンドリーなものが多くGUI環境も充実したDebian系、古参のディストリビューションで機能がシンプルすぎて扱いづらい故にカスタマイズの自由度も高いSlackware系などがあります。それぞれ、RedHat、Debian、Slackwareというディストリビューションが大元にあり、それらを改造したディストリビューションの一群をこのようにひとまとめにしています。そのほか、いずれの流派にも属さない独立系というものも存在します。
これらの各系統を表にざっくりとまとめたのが以下です。
Red Hat系の大元であるRed Hat Enterprise Linuxは企業向けサポートのついた有償ディストリビューションでした。お金がかかるので、Red Hat相当の安定性や機能を無償で利用したいと思った人たちがRedHatを元に、RHELクローンと呼ばれるディストリビューションを開発することが増えていきました(これもまたオープンソースならではです)。
企業が業務で利用するアプリケーションに対応していることが多く、様々な企業環境で用いられています。また、Red HatクローンのCentOSはRedHatとほぼ同等の機能を持ちながら無償ということで長らく"poorman's RHEL"(貧乏人のRed Hat)として絶大なシェアを持っていました。学習用途としてもよく用いられ、検索して見つかるインターネット上の日本語のドキュメントも非常に多くなっています(研修などでもよく用いられてきました)。ただし、諸般の事情から2020年以降は下火になりつつあります。興味がある方は「CentOS 終了」で検索してみてください。
その他、AWS EC2で使用されるAmazon LinuxはRed Hat系ベースであるとされています(ただし公式にベースディストリビューションの発表はありません)。
Debian系は歴史が古く、インターネット上の情報も非常に多いです。また、企業向け/個人向けやサーバ用途/デスクトップ用途を問わず幅広い環境に適用できるのも強みと言えるでしょう。Debian系ディストリビューションの1つであるUbuntuはそのユーザーフレンドリーさや、サーバにもデスクトップにも使える懐の広さから企業個人問わずシェアが急増しており、世界ではトップクラスのシェアを持ちます。Ubuntuは現在のところ、個人で普段使いのLinux PCを持ちたいケースで選択肢としては最もポピュラーです。Ubuntu以外でも、Linux Mint、Zorin OS、MX LinuxなどGUIに特化したデスクトップ向けのディストリビューションが多く存在します。また、Raspberry Pieで動作しているRaspberry Pi OSもDebianがベースとなっています。
Slackware系の大元のディストリビューションであるSlackwareは機能がシンプルで、「生」のLinuxに近いディストリビューションであるといえます。余計な機能がなく、新しく何かをインストールする場合にも、インストール用のコマンドがあるわけではなくソースコードからプログラムを自力でビルドする必要があります。利用する難易度は非常に高いですが、余計な機能がないので動作としては非常に安定しており、スキルの高いエンジニアであれば商用環境で採用することも多いディストリビューションです。また、先述した通り、「生」のLinuxカーネルに近いのでSlackwareを使うことはLinuxスキルの向上に直結します。そのため学習用・修行用ディストリビューションとして利用する個人エンジニアも多いです。
Arch Linuxのロゴ
独立系ディストリビューションは上記3分類に属さないディストリビューションですが、独立系でもArch LinuxやopenSUSE、Gentoo Linuxなどのディストリビューションは派生を生み出し、Arch系など新しい流派を生みつつあります。Chromebookに搭載されているChromeOS(ChromiumOS)はGentoo系のディストリビューションです。
Arch Linuxは扱いの難しいディストリビューションですが、Arch LinuxをベースにしたManjaroは扱いやすいデスクトップ向けのディストリビューションとして個人ユーザーに人気となっています。スマホでおなじみAndroidも、独立系ディストリビューションとしてカウントされます。
このようにLinuxとひとくちに言っても、用途に応じて様々なディストリビューションが存在します。商用環境であればノウハウの多いRedhat系やDebian系を選択することは多くなっていますが、個人利用であれば何を選んでも構いません。お気に入りのディストリビューションを探してみるのも、Linuxの楽しみのひとつと言えます。ちなみに、どの系統を選んでも大元のカーネルが同じなので基本操作はほぼ共通です。Linuxに元々含まれていない、追加でインストールするアプリケーションはディストリビューションが違うと全く操作や設定方法がまるで違うことはあります。
Linux学習の入り口としてはUbuntuが扱いやすくオススメです。普段使いできるLinux PCを構築してみることは、Linuxスキルアップの第一歩です。Ubuntuでいろいろと試してみたら他のディストリビューションにトライしてみると良いでしょう。Distowatchというサイトでは、新興ディストリビューションも含めた様々なディストリビューションの情報や人気ランキングなどを見ることができます。ここで人気の高いディストリビューションを試してみるのもいいかもしれません。
参考:Distrowatch(英語)
なお、本コースではUbuntu環境の構築を取り扱います。
本項の最後に、Linuxのディストリビューション系統図を転載します。Linuxの世界の奥深さを感じ取れるはずです。(ただしチョットフルイです)
なお、Wikipediaではもっと長大な系統図を見ることができます。 Wikipedia:Linuxディストリビューション