My Dev#002 Distro
Linuxを始めよう
前回の記事でLinuxを選ぶ理由は大体書いたので,今回はディストリビューションについて書きたいと思います.
ディストリビューションとは
OSの心臓部(核)である「Linuxカーネル」に,基本コマンド群,パッケージ管理システム,およびデスクトップ環境などを組み合わせ,ユーザーがすぐにOSとして使える状態にパッケージングした配布形態のことである. Linuxの場合,カーネルと周辺ソフトウェアがそれぞれ独立したコミュニティで開発されることがほとんどで,多数のディストリビューションが存在する.
狭義のOSと広義のOS
狭義のOS(カーネル)
ハードウェアの抽象化,メモリ管理,プロセススケジューリングなど,システムが動作するための「最小限かつコアとなる機能」のみを指す. 厳密には本来OSとはこの部分を表す言葉である.
広義のOS(ディストリビューション)
狭義のOS(カーネル)に加えて,シェル,基本コマンド(GNUユーティリティ),ライブラリ,デスクトップ環境など,ユーザーやアプリケーションが実用的に利用できる「環境全体」を指す. 一般的にはここまで含めてOSと呼ぶことが多い.特にWindowsやMacだとカーネルだけを意識することがないので広義のOSが世間に浸透したと考えられる.
ディストリビューションの選び方
ディストリビューションを選ぶ基準を3つ紹介します.
パッケージ管理ツール
Linuxでは,Windowsの「.exe」やMacの「.dmg」のようにインストーラーをWebから落としてくるのではなく,専用の管理コマンドを使ってリポジトリ(公式サーバー)から安全にアプリを導入するのが基本です.この仕組みがディストリビューションの使い勝手を大きく左右します.
APT(Debian / Ubuntu系)
sudo apt install <パッケージ名> というコマンドでお馴染みの,世界で最も情報量が多い管理ツールです.依存関係(そのアプリを動かすのに必要な他のパーツ)を自動で綺麗に解決してくれます.
RPM / DNF(Red Hat / RHEL系)
主にサーバー用途で使われるRed Hat系で採用されているツールです.堅牢性が高く,パッケージの競合や依存関係のチェックが非常に厳格に行われるため,ミッションクリティカルなシステムに向いています.
Pacman(Arch Linux系)
pacman -S <パッケージ名> という非常に軽量で高速なコマンドラインツールです.公式リポジトリだけでなく,ユーザーコミュニティが作成した膨大なパッケージを利用できる「AUR(Arch User Repository)」という仕組みを採用しています.
更新方式
OSやソフトウェアのアップデートをどのような頻度とポリシーで行うかという「更新方式」は,システムの安定性と直結する非常に重要な選択基準です.
固定リリース(ポイントリリース)
「Ubuntu 24.04」や「RHEL 9」のように,数年ごとにしっかりとテストされた固定バージョンがリリースされる方式です.バージョン内での大きな仕様変更がないため,不具合が起きにくく,開発環境やサーバーを長期間安定して運用できます.
ローリングリリース
Arch Linuxなどに採用されている方式で,OSの「メジャーバージョン」という概念がありません.開発元で新しいソフトウェアがリリースされると,数日〜数週間で手元のシステムにどんどん降ってくるため,常に最新のカーネルや開発環境(Neovimや最新のコンパイラなど)を使い続けることができます.
デスクトップ環境
Linuxは,画面にウィンドウを表示したりマウスで操作したりするための「デスクトップ環境(GUI)」すらも,自分の好みに合わせて完全に入れ替えることができます.ディストリビューションによって,標準で同梱されている環境が異なります.
ディストリビューションの種類
Debian / Ubuntu系
パッケージ管理に世界で最も情報量が多い「APT」を採用し,更新方式には長期間の運用が保証された「LTS(固定リリース)」を主流とし,デスクトップ環境には洗練された「GNOME」を標準搭載している.初心者向けのUbuntuから堅牢なDebianまで,Web上にトラブルシューティングの情報が最も豊富に存在するため,迷ったらこの系統から選ぶのが一番安全である.僕もこれを使ってます.
Red Hat系
パッケージ管理に厳格な依存関係チェックを行う「DNF(RPM)」を採用し,更新方式には企業の基幹サーバー等で真価を発揮する極めて堅牢な「固定リリース」を徹底し,デスクトップ環境はサーバー用途を見据えた「標準CUI(必要に応じてGNOME等の追加が可能)」という構成をとっている.商用OSであるRHELや,そのクローンであるRocky Linux・AlmaLinuxが属しており,実務のインフラ環境を視野に入れた運用に向いている.
Arch Linux系
パッケージ管理に軽量高速な「Pacman」と巨大なユーザーリポジトリである「AUR」を組み合わせ,更新方式にはOSのバージョン更新という概念がない「ローリングリリース」を採用し,デスクトップ環境は「標準では何も同梱せずユーザーが完全に一から選定する」という徹底したミニマリズムを貫いている.最新のカーネルや開発ツールを常に追いかけ,Neovimやシェル環境など自分だけの爆速なターミナル環境を極限までカスタマイズしたいこだわり派に最適な系統である.ローリングリリースの性質上,依存関係のトラブルは起きやすいので結構玄人向け(らしい).一度くらいは使ってみたい.
Ubuntuフレーバーという選択肢
ここまで書いた内容から,とりあえず趣味でLinuxを触ってみたい人はUbuntuを選ぶのが妥当だと思います.ただそれだと標準的すぎるというか,僕としてはもうちょっと玄人感が欲しいのでUbuntuフレーバーをお勧めしたいです.
Ubuntuフレーバーとは
Ubuntuは非常に優れたOSですが,標準のデスクトップ環境である「GNOME」はかなり洗練されている反面,少し動作が重かったり,カスタマイズ性が低い側面もあります.そこで登場するのがUbuntuフレーバーです.
フレーバーとは,OSのコア部分(パッケージ管理や安定したLTSの仕組み)はUbuntuのものをそのまま使いつつ,「標準のデスクトップ環境(GUI)だけを別の環境に差し替えて公式配布されている派生バージョン」のことです.
フレーバーの種類
Kubuntu
Ubuntuのコアに「KDE Plasma」を組み合わせたフレーバーである.Windowsに近い親しみやすい画面レイアウトを持ちながら,デスクトップの見た目やエフェクト,挙動の細部まで自由自在に作り込める圧倒的なカスタマイズ性が魅力である.
僕が使ってるのはこれです.
Xubuntu
軽量で無駄のないデスクトップ環境「Xfce」を搭載したフレーバーである.豪華なアニメーションなどを排したシンプルな構造になっており,PCのスペックを問わず動作が極めて軽快であるため,ターミナル中心の軽快な開発環境を構築したい人に適している.
Lubuntu
低スペックPCでの動作を極限まで追求し,「LXQt」という非常に省メモリな環境を採用した最軽量クラスのフレーバーである.無駄なバックグラウンド処理が徹底的に削ぎ落とされているため、OS全体のメモリ消費を最小限に抑えたいミニマリストに向いている.
Ubuntu MATE
かつてのLinuxで主流だったクラシックなデスクトップ環境(GNOME 2)の操作感を現代にアレンジした「MATE」を搭載するフレーバーである.伝統的で直感的なメニュー配置と,現代的な動作の軽快さがバランスよく両立されている.
Ubuntu Budgie
洗練された美しいビジュアルが特徴の「Budgie」デスクトップを採用したフレーバーである.Macを彷彿とさせる洗練されたトップパネルやシンプルなUIパーツが最初から美しく整えられており、デザイン性にこだわりたい人に適している.
最後に
Kubuntuについてもうちょっと書こうと思ってたのですが長くなったのでここで終わりにします. KDE Plasmaや周辺ソフトウェアについては次回以降記事にします.
ではまた.