起源となるLinuxディストリビューション
前述のとおりLinuxディストリビューションは、Slackware系、Red Hat系、Debian GNU/Linux系の三つに大別されます。そもそもSlackwareとは、Patrick Volkerding氏が作り出したLinuxディストリビューション。現在でも開発が続けられているLinuxディストリビューションとしてはもっとも古く、現在もSlackware teamに参加するメンバーの手を借りながら、年一回のリリースが行われています。筆者も初めてLinuxというOSに触れたのは、このSlackwareでした(図08)。
シンプルな構成はLinuxの概念や構造を知る上で実に役立つことから、現在でも学ぶ意欲がある方向けの入門ディストリビューションとしては最適だと信じています。後述するLinuxディストリビューションと大きく異なるのが、パッケージ管理システムを事実上搭載していない点。Slackwareでは、実行ファイルや設定などの関連ファイルなどを圧縮ファイルでまとめた形式で配布しています。
厳密に言えばレポジトリも用意されているため、パッケージ配布システムは備えていますが、ユーザーがLinux構造を意識せずに使うのは少々難しいでしょう。パッケージ間の依存関係も考慮されず、パッケージメンテナによる修正も最小限に抑えられているため、ユーザーはLinuxの動作とパッケージの内容を理解し、動作を把握しなければなりません。だからこそSlackwareは"学ぶ意欲がある方向け"のLinuxディストリビューションなのです(図09)。
Red Hatは、現在でも存在するLinuxディストリビューションを開発している法人企業。その名から"赤帽"と呼ばれることもある同ディストリビューションは、洗練されたパッケージシステムで一時代を築きました。最初は社名を用いたRed Hat Linuxをリリースしていましたが、2003年のバージョン9を最後にコンシューマ(消費者)向けサポートを終了し、ディストリビューション名を「Red Hat Enterprise Linux」に改名。企業向けのサポートにシフトしました。
一方でコンシューマ向けとしてFedora Project(フェドラプロジェクト)を立ち上げ、同名のLinuxディストリビューション「Fedora Core」シリーズの提供を開始。2007年のバージョン7から呼称を「Fedora」に変更し、現在でも年2回のタイミングでリリースが行われています。本稿でもここから呼称をFedoraに変更しましょう。
Fedora最大の特徴はRPM(RPM Package Manager)によるパッケージ管理の存在です。そもそもLinuxではソースコードをダウンロードし、自身の手でコンパイルするのが一般的でしたが、その手間を省くために考えられたのがパッケージ管理という概念。Red Hatが開発したRPMは、コンパイル済みバイナリファイルやソースコード、設定ファイルや各種情報を記述したspecファイルなどが1ファイルにまとめられています。ユーザーはパッケージファイルを導入・削除することで、自身の環境を簡単に管理できるのです(図10)。
最後はDebian GNU/Linux。Ian Murdock(イアン・マードック)氏が大学生時代に設立した開発プロジェクトチームから生み出されたLinuxディストリビューションは、Debianフリーソフトウェアガイドラインの精神にのっとり、すべてがフリーな構成でパッケージングされています。このあたりに興味がある方はDebian社会契約を一読されてみるといいでしょう。
筆者も長年、自宅サーバーにはDebian GNU/Linuxを使用していますが、このLinuxディストリビューションを選択している理由の一つがメンテナンスの容易さ。Debian GNU/LinuxはパッケージシステムとしてAPT(Advanced Packaging Tool)を採用しており、依存関係の柔軟な動作を選択できるため、システムが不安定になることはありません。また、あらかじめ設定を行えばセキュリティホールを塞いだパッケージのみ自動的に更新するといった設定も行えます。サーバーOSとして使用してもメンテナンスコストも最小限に抑えられるでしょう(図11~12)。