bokumin.org

Github

Linuxディストリビューションのすすめ【初心者向け】

Linux Distributions Guide for Beginners

 

はじめに

 

Windows 10サポート終了後も古いPCを活用したい方や、サーバ構築の学習などでLinuxを試してみたい方向けの記事です。

 


Linuxには無数のディストリビューションが存在しますが、実は現代の主要ディストリビューションはほぼ同じです。その理由がsystemdです。

 

systemdによる統一

 

かつてのLinuxはSysVinitという仕組みで、/etc/init.d/配下のシェルスクリプトを順番に実行していました。シンプルですが起動は遅く、依存関係も手動管理でした。

 

systemdはサービスファイル(.service)で宣言的に管理し、並列起動と依存関係の自動解決に対応しており、現代のマルチコアCPUに最適化されています。Ubuntu、Fedora、Debian、openSUSEなど、主要ディストリビューションはほぼ全てsystemdを採用しており、systemctlコマンドやjournalctlの使い方は共通です。

 

パッケージマネージャー(APT、DNF、Zypper)やデスクトップ環境に違いはあっても、システムの心臓部は同じです。一つのディストリビューションで学んだ知識は他でもそのまま使えます。

 

ただし、systemdは多機能ゆえにブラックボックス化している面もあります。従来のrc.localのようなシンプルなシェルスクリプトでの制御を好む声も根強いです。効率性は認めつつも、透明性の高いUnix的アプローチにも魅力があります。

 

目的別の選び方

 

メモリ使用量はディストリビューションの違いというよりも、採用するデスクトップ環境(GNOME、KDE、Xfce、twmなど)によって大きく変わります。お使いのPCのスペックに応じて、適切なGUIを選択してください。

 

Arch+KDEの場合(1555MiB)
KDE Plasmaの場合、数百MBでの実装が可能です。

 

 

FreeBSD+twmの場合(379MiB)
twmの場合、最小構成なら1MB程度で動作が可能です。

 

 

ディストリビューションの難易度に関しては、個人的な所感となっていますが、インストールの簡単さ・初期設定の手間・トラブル時の情報量(日本語の情報があるか)などを基準にしています。
以下、Linuxディストリビューションの紹介です。

 

安全に使いたい初心者向け

 

Linux Mint(難易度易)

 

古いPCをWindowsのように使いたいなら、Mintが最適です。インストール直後からすぐ使えて、特別な知識は不要です。日本語にも対応しています。32bit版もdebianベースなら存在しています。

 

Zorin OS(難易度易)

 

Ubuntuベースで、WindowsやmacOSに似たレイアウトを選択できます。特にWindows風のUIに切り替えられるため、Windowsからの移行をスムーズに行いたい人に適しています

 

Linuxを学びたい初心者向け

 

Ubuntu(難易度易)

 

Linuxユーザの使用率トップのOSで、情報量が圧倒的です。困ったときの解決策がほぼ必ず見つかります。systemdやAPTなど、Linux全般の基礎を学ぶのに最適です。

 

macOS風のデザインを求める人向け

 

elementary OS(難易度易)

 

Ubuntuベースですが、独自のPantheonデスクトップ環境を採用しており、macOSに似たUIと操作感を提供します。macOSのデザインが好きな方におすすめです。

 

安定性を最優先する人向け

 

Debian(難易度易)

 

徹底的にテストされた安定性が最大の特徴です。サーバー用途や、長期間安定して動作させたい環境に適しています。パッケージは古めですが、信頼性は抜群です。32bit版の提供もあります。

 

MX Linux(難易度易)

 

Debian安定版ベースで、軽量かつ使いやすいです。初心者向けツールも充実しています。

 

商用Linux学習向け

 

RHELやSLESといったエンタープライズLinuxの学習に向いています。SELinuxやFirewalldなど、企業環境で重視される機能を学べます。

 

Fedora(難易度易)

 

RHELの上流プロジェクトで、最新技術がいち早く取り入れられます。約6ヶ月ごとのリリースサイクルで、新しい機能や技術をいち早く試したい人に適しています。

 

openSUSE(難易度易)

 

SUSE系はYaSTがよく特徴として挙げられますが、個人的にはGRUBから直接スナップショットで回復できるのが大きな利点です。
Ubuntuなどいくつかの主要ディストリビューションでもこれは可能ですが、openSUSEは設定不要で標準機能として使えるのが強みだと思います。

 

AlmaLinux / Rocky Linux(難易度易)

 

RHELの無償クローンとして登場したもので、CentOS後継の代表的なディストリビューションです。商用環境の学習や検証に最適です。

 

Oracle Linux(難易度易)

 

RHELと互換性があり、Oracleデータベース環境の学習に向いています。エンタープライズサポートが必要な場合は有償版もありますが、基本的には無償で利用できます。

 

カスタマイズ性を求める人向け

 

Gentoo(難易度高)

 

カスタマイズ性を求めるなら最適なOSです。ソースからのコンパイルが基本なので、自分のCPUに最適化されたバイナリを生成できる反面、コンパイル時間がかなり長くなります。Firefoxのビルドに数時間かかることもあり、時間的な余裕が必要です。 Gentoo Handbookで「なぜこの設定が必要なのか」を理解しながら進められるため、学習教材としての価値は高いです。32bit版への対応もしています。

 

Arch Linux(難易度中〜高)

 

「難しい」と言われますが、実態は異なります。インストール時にブートローダーやパーティション設定を全て手動で行う必要がありますが、CLIに慣れている人なら、ArchWikiを見ながら進めれば問題ありません。最近はarchinstallといった便利なコマンドもあり、そこまで難しくないと思います。Slackwareのように一からビルドする必要もなく、難しいのはセットアップ段階だけです。

 

pacmanは使いやすく、AURで最新ソフトウェアにもアクセスできます。必要なものだけをインストールして自分だけの環境を構築できるのが魅力です。

 

Manjaro(難易度易)

 

Archベースですが、グラフィカルなインストーラーと設定ツールを提供します。Archの柔軟性とローリングリリースの恩恵を受けつつ、初心者でも扱いやすいのが魅力です。Archを簡単に使いたい人向けです。

 

Unix思想を求める人向け

 

Slackware(難易度高)

 

個人的に最も難しいと思っているOSです。依存関係の自動解決がなく、多くをソースからビルドする必要があります。学習教材として最適です。32bit版にも対応しています。
さらにSysVinitを採用しており、Linux系ディストリビューションの中で最もUnix思想が色濃く残っています。
シンプルなシェルスクリプトでのシステム管理、透明性の高い設定ファイル構造など、BSD系OSに近い思想を持ちます。FreeBSD、OpenBSD等を学ぶ予定があるなら、Slackwareでの経験はかなり勉強になると思います。

 

Devuan(難易度易〜中)

 

Debianから派生したsystemdを使わないディストリビューションです。インストールはdebianと同様で、簡単です。デフォルトのGUIはXfceだったと思います。

 

私の場合

 

現在、WebサーバはOpenSUSE TW、FWサーバはFreeBSD、クライアントPCにArchLinuxDebianなどなどという形で運用しています(会社はSlackWareなど)。

 

openSUSE TWはローリングリリースでありながらスナップショット機能があるため、更新で問題が起きても即座に戻せる安心感があります。Webサーバのように頻繁に更新したいけど安定性も求められる用途に最適です。個人的にはsystemdに良い印象をもっていませんでしたが、毛嫌いせず触れてみようと思い、使ってみましたが、スナップショット機能がかなり使いやすくお気にいりになりました。

 

FreeBSDをFWサーバに選んだのは、pfファイアウォールのシンプルさと、rc.confによる設定の一元管理が気に入ったからです。systemdに慣れた後でrc系の設定に触れると、シンプルっていいなと再認識できます。

 

クライアントPCではArchDebianを使い分けています。Archは最新のソフトウェアをすぐ試せる環境として、Debianは長期間安定して使いたいメイン機として運用しています。

 

※FreeBSDはLinuxではありませんが、Unix思想を純粋に受け継いだOSです。rc.confでシステム設定を一元管理できるシンプルさ、透明性の高さは、systemd全盛の今だからこそ学びが多いです。

 

まとめ

 

systemdの普及で多くのディストリビューションが共通基盤を持つようになりました。FHSにもほぼ差異はないので、目的に応じてディストリビューションを選び、可能なら複数触れてみるといいと思います。systemdを使わないSlackwareやBSD系にも挑戦すれば、設計思想の違いを体感でき、Unix系システムへの理解が格段に深まります。
誰かの参考になれば幸いです。

 

おわり