筆者は「Linux」を使い始めてから数十年になるが、これまでに作られたディストリビューションのほとんどを試してきたと言っても過言ではない。その中には、ユーザーフレンドリーなものもあれば、そうでないものもあった。「こんなに難しいOSを使いこなせるんだ」と自慢したいがために、わざわざ扱いにくいディストリビューションに挑戦したくなったこともある。一方で、初期状態で問題なく使える環境が必要な場面もあった。
最近になってLinuxに興味を持った人なら、「Ubuntu」「Linux Mint」「elementary OS」といった、最初に試すべきディストリビューションのリストを目にしたことがあるだろう。では逆に、コマンドラインの操作に習熟し、多くのことを手動で行えるようになるまでは、手を出さない方がよいディストリビューションについてはどうだろう。そうしたディストリビューションのリストは、あまり見かけないのではないか。
では、そのリストには、具体的にどのようなディストリビューションが含まれているだろうか。本記事では、その代表的なものをいくつか紹介する。
1. 「Linux From Scratch」
Linux From Scratch(LFS)は最も難解なLinuxである。厳密には、ディストリビューションではないからだ。LFSは、独自のディストリビューションを一から構築するための一連の手順である。難しそうと思った人もいるはずだ。実際に難解である。(クールなLinuxディストリビューションを構築すること以外に)LFSが存在する理由の1つは、以下の3つの重要な概念を深く学習する機会を提供することだ。
- カーネルのコンパイル
- ベースシステムソフトウェアのインストール
- ハードウェアドライバーの設定とインストール
これら3つの概念をしっかり理解すれば、Linuxでできることが無限に広がる。さらに、LFSですべての作業を完了すれば、カスタムLinuxディストリビューションが完成する。このディストリビューションは、自分で使うこともできるし、世界に配信することもできる。
2. 「Gentoo Linux」
Gentoo Linuxは、現在利用可能なLinuxディストリビューションの中で最も難しい。Gentooがそれほど難解なのは、OSからアプリまで、すべてをソースからコンパイルする必要があるからだ。アプリをソースからコンパイルした経験がある人なら、依存関係のスパイラルがどれほど厄介であるかご存じだろう。アプリXをコンパイルしようとしたら、アプリYに依存していることが分かったが、アプリYはアプリZに依存している、といった具合だ。筆者は依存関係の問題を解決するのに何時間も費やしたことがあるが、決して楽しい経験ではなかった。システム上のすべてのアプリでそれを実行することを想像してみてほしい。
Linuxの基礎をマスターしたという実感が得られるまでは、Gentooについて考える必要さえない。
3. 「Arch Linux」
Arch Linuxをここで取り上げたのは、インストールプロセスがほかのディストリビューションほどユーザーフレンドリーではないからだ。Archのいくつかのフォーク(「Manjaro」など)と違って、GUIのOSインストーラーは存在しないため、すべてコマンドラインから操作する必要がある。とはいえ、初心者でもインストールすることは可能だ。開発元は、archinstallコマンドによって、インストールプロセスをある程度簡素化している。ユーザーは最初にインストールファイルを作成する代わりに、archinstallコマンドを実行して質問に答えるだけでいい。
archinstallが利用できるとはいえ、ArchをLinux初心者に薦めたいとは思わない。