はじめに
Linuxの学習で躓くポイントの一つに「ディストリビューション」というものがあり、初学者の方だとこれがなんなのかよくわからないこともあると思います。(私もその一人でした。)
「ディストリビューションってよくわからんな~」と思いながら色々見ていたところ、LPI-JAPANさんの記事 「Linux道場入門編 第2回 ディストリビューションとは」 が非常に分かりやすかったので、こちらを参考にまとめました。
概要
- Linuxとは
- ディストリビューションとは
- ディストリビューションの種類
Linuxとは
Linuxは本来「OSのコアであるカーネル」を指す言葉であり、カーネルはOSが持つコア機能の管理を行う部分になります。
Linuxとは、本来OSのコアであるカーネルといわれるものをさす言葉です。カーネルとは、OSの本来の役割であるハードウェアの制御やファイル、ソフトウェアの実行、リソース等の管理を行う部分で、普段ユーザがカーネルの動作を目にすることはありません。実際にユーザが目にする部分はアプリケーションであったり、OSの管理機能を利用するユーティリティソフトであったりします。最近のOSパッケージには様々なソフトウェアが最初から入っているため、 OS本来の部分がどの部分なのかが非常に見えにくくなっているのも事実です。たとえば、カーネルとその他のソフトウェアは以下の図のように表現することもできます。
※「Linux道場入門編 第2回 ディストリビューションとは」より引用
普段私たちが目にするOSはOSのコア以外の部分も含まれており、それをOSとして認識することが一般的です。
ですが上記の引用文に書かれているようなコア機能が本来のカーネル部分となり、この部分が本来Linuxと呼ばれるものになります。
これが狭義の意味でのLinuxですが、実際にLinuxカーネルのみで存在していてもそれを利用するソフトウェアが存在しなければOSとしては成り立たないため、「カーネル」+「それを利用するソフトウェア」を組み合わせた一式の状態を広義の意味でLinuxと呼ぶことが多く、一般的にはこちらの意味で使われています。
ディストリビューションとは
カーネルだけをユーザーが利用するのは非現実的であり、一般的なOSとして利用するためには様々なソフトウェアを組み合わせる必要があります。
しかしそのような構成をユーザー自身が一から構築するのはかなり難しいため、そのセットを配布してくれているものが「ディストリビューション」です。
※「ディストリビューション」=「カーネル+ソフトウェア群」のセット
一般的にLinuxと呼ぶ場合はこのディストリビューションを指します。
ディストリビューションの種類
ディストリビューションにもいくつか種類があります。個人的に馴染み深いのはUbuntuやDebian、Redhatあたりです。
- Slackware(最初のディストリビューションで最もシンプル)
- Redhat
- SUSE
- Fedora
- Ubuntu
- Vine
- Debian
- CentOS
- GNU/Linux
これらは大きく3つの系統に分類することができます。
- Slackware系
- Slackware
- Redhat(rpm)系
- Fedora
- CentOS
- Vine
- SUSE
- Debian系
- Debian/GNU Linux
- Ubuntu
いずれもLinuxカーネルを使用していることが共通していますが、異なる点としてはカーネルと組み合わせるアプリケーションの種類、インストール形式、パッケージの管理方法、システム構成があります。
最後に
使用するハードウェアやソフトウェアに合わせてディストリビューションを選ぶことになると思いますが、根本的な部分の仕組みはどれも同じだということがわかりました。
これを機に、読んでくれた方のLinuxへの苦手意識が減ると嬉しいです。(自分への戒めも兼ねて)
元の記事にはLinuxに関する様々な記事が掲載されているので、よかったら読んでみてください。