linuxのリリース頻度について
Linuxには、ローリングリリースと固定リリースとの二種類が主にあります。
ローリングリリースは、常に最新の状態にOS等を維持するようにして更新があればその通知が来たりします。
固定リリースは定期的にアップデートが行われ、普段は早急な問題や更新があった場合にだけ更新されるという感じです。
PC(あるいはシステム)を常に最新の状態にしたい人にはローリングリリースモデルが良いでしょうし、できるだけアップデートをせず機能を維持したい場合は固定リリースの方が良いかと思います。
windowsのように勝手に通知もなく更新(主にダウンロード)されますが、Linuxの場合でも同じような自動更新の設定はあるかと思いますが、基本的にはまず通知があります。
通知にはその通知を受けられるソフトや拡張機能などが必要ですが、勝手に更新されない設定をして自分のタイミングで更新するのが良いと個人的には思います。
通知を受けられるソフトや拡張機能なついては、たいていはデスクトップ環境に統合されているか、ない場合は機能だけはありつつも(アイコン)表示するには拡張機能が必要と言う感じかと思います。
Windowsの場合
Linuxで説明する前に多くの人がご存知のWindowsの場合ではどうかと言うと、ハイブリットなアップデートモデルが採用されていて、22H2、23H2、24H2などといった固定リリースされる更新があり、またそれより短い頻度で月次品質更新プログラム(毎月第2火曜、日本は水曜か)ら更新するものと、Delivery Optimizationで、何かしらのたびに更新されるものなどが入り混じっています。
特にDelivery Optimizationは通知もなしに勝手にダウンロードして勝手にインストールされるのが多くの人に不評です。何か大事なことをしていてネットの帯域を使われたくないとかでも容赦なくダウンロードもしますしアップデートもされます。
Windowsの説明などでは作業のじゃまをしないように配慮されているということですが確実に邪魔します。特にWi-Fiがない場所でスマホなどを用いてテザリングをしている環境でもWindows Updateは勝手に行われますし、それだけで現在の通信帯域や通信量が逼迫してようが無視して実行してきます。
もちろんそれらこちら側の事情はWindowsにはわかりませんからしょうが無いのですが、分かる方法もあるのです。それが通知です。
Windows Updateは1週間とか決めた分だけ停止(延長)することも可能ですが、停止できない物があるのも事実で、少なからず通知はしてから行うように改善してほしいものです(私が通知を切っているだけかも知れませんが)。
linuxのリリース頻度一覧
固定リリースタイプのディストリビューション
備考 | |
---|---|
Debian(Stable) | 数年おきにメジャーリリースがあり、リリース後は基本的にセキュリティアップデートと 重要なバグ修正のみ行われます |
Ubuntu(LTS) | 2年毎に長期サポート版がリリースされ、5年のサポート期間が提供される (一部有料で更に延長可能)。通常版は6ヶ月毎にリリース |
Red Hat Enterprise Linux | 約3年おきにメジャーバージョンがリリース |
Alma Linux/ Rocky Linux | RHELのリリースに追従して新しいバージョンがリリース |
Fedora Workstation | 約6ヶ月毎に新しいバージョンがリリース |
Linux Mint | Ububtu/Debianのリリースサイクルに準拠 |
openSUSE Leap | 定期的に新しいバージョンがリリース |
- Stable: 安定版
- LTS: Long Term Support 長期サポート
ローリングリリースタイプのディストリビューション
ローリングリリースは常に最新の状態に保つという性質なので、更新はその都度行われ開発チームの準備ができたものから随時小さなアップデートしてリリースされます。
一部触れていますが自動で更新することも可能で、一旦通知のみ受け取りその後に自身でアップデートするというのが一般的です。なぜならそのリリースが必ずしも問題がないのかはわからないからで、Arch Wikiなどにも自身で確認してからアップデートするようにという注意書きもあります。
ほとんどのリリースはテストされてからリリースされているはずですが、すべての環境でテストされているわけではなく後から問題が判明することもあるからです。
仮にアップデートして問題があった場合にダウングレードするための機能もあり、ディストリビューション次第ではあるもののたいていは通知後すぐにアップデートしても問題ないことが多いですが、必ずそうだとは言い切れないのも事実なので、システムメンテナンス - ArchWikiの「システムをアップグレードする前に読んでください」の項を参考にして下さい。
どういう場合に問題があるかは、
- グラフィック関係のドライバによるもの
- システムにログインできなくなる(ログインマネージャ等が動作しない)
とかはとても困ります。Linux自体は動作していてログインできないだけならまだコマンドプロンプトを出せば解決できる場合も希望もありますが、画面が映らないとか操作ができない系は特に困ります。
Arch Linux | Arch系 | 子や孫にあたるディストリビューションもほぼローリングリリース |
---|---|---|
Manjaro Linux | Arch系 | 上記通り、Arch Linuxの子に当たるManjaroもローリングリリースです |
openSUSE Tumbleweed | SUSE系 | openSUSEのLeapとは違う事に注意 |
Gentoo Linux | Gentoo系 | |
NixOS | 独立系 |
その他、ハイブリッド、セミローリングなど
Debian(Testing/Unstable) | 次期安定版に向けた開発版で厳密なローリングとは違いながら継続的に更新されます |
---|---|
CentOS Stream | RHELのアップストリーム開発ブランチで、RHELの次期マイナーリリースに何が含まれるかを事前に確認できるローリングプレビューのような性質を持っている |
ここまでが事前準備的な話です。ここからがそれぞれの説明になります。
linuxの系統別 解説
表にあるratingは、Disto Watchの各ディストリビューションのページの一番下にあるユーザーによる使用感のratingです。これらはあくまで目安として、それぞれに母数も異なり好みも違いますので。
しかし良いポイントがついているものはそれなりの理由もあると考えて下さい。
Debian系統
Debian系統の特徴は、APTパッケージ管理、安定したパッケージリポジトリ、幅広いハードウェアサポート。
親 | rating | 子 | rating | 孫 | rating |
---|---|---|---|---|---|
Debian | 8.9 | Ubuntu | 7.7 | Linux Mint | 8.8 |
Pop!_OS | 8.0 | ||||
Zorin OS | 8.5 | ||||
elementary OS | 5.0 | ||||
Linux Lite | |||||
KDE neon | 7.7 | ||||
(Debian) | Kali Linux | 8.7 | – | – | |
Parrot Security | 8.3 | – | – | ||
antiX | 8.3 | MX Linux | 8.0 | ||
Devuan GNU+Linux | 9.1 | Peppermint OS | 7.6 |
※ Linux LiteのRatingがプラグインの関係で見えてない場合があります。ratingは7.9です。
パッケージマネージャ
APTコマンドはAdvanced Package Toolの略でフロントエンド(ラッパー)です。これらはリポジトリの情報を、入力されたコマンドから探して、内部でどのパッケージをどこからダウンロードするか、どのようにインストールするか、あるいはアンインストールしたり、アップグレードをしたりをdpkg
などを呼び出し実行させます。
aptはdpkgのフロントエンドであり、依存関係の解決やリポジトリの操作を行い、最終的なインストールや削除の処理はdpkgに委ねます。dpkgは単体でパッケージを扱えますが、依存関係を自動的に処理しないため、通常はaptを使う方が簡単で安全です。
依存関係(Dependencies)とは:
Linuxシステムにおいて、あるソフトウェアを動かすために必要な他のライブラリやパッケージのことを指します。たとえば、GUIアプリをインストールしようとすると、その描画に必要なGTKライブラリや、画像処理に使うlibpngなどが自動的に追加される場合があります。
firefoxをインストールする場合、apt install firefox
とターミナルで打つだけですが、aptはfirefoxの各種情報をリポジトリから探し、必要なライブラリは何か、それらライブラリのある場所、ダウンロード後どこに入れるか?どの順番でダウンロードすれば良いか?など様々なことを事前に行っているわけです。
リポジトリ(Repository)とは:
Linuxにおけるリポジトリとは、ソフトウェアパッケージの保管場所のことです。これはインターネット上のサーバーであることが多く、ユーザーがパッケージマネージャ(例:apt, dnf, pacmanなど)を使ってソフトウェアをインストール・更新する時に、このリポジトリから必要なファイルが取得されます。
Debian系では.deb
ファイルを扱いますが、これらはソースコードがそのまま入っているわけではなくコンパイル済み(バイナリ形式)のプログラム本体とそれに関する必要なファイルがまとめられたアーカイブファイルになります。
Debian系ではバイナリパッケージの他にソースパッケージもあります。一般的にapt install ...
はバイナリパッケージを扱います。これはwindowsでいう.exe
に近いでしょうか。ソースパッケージのインストール手順はちょっと手間なので必要な際にはどこかで検索して下さい。時間もかかりますし。
Ubuntuフレーバー(バリアント)
LinuxカーネルとUbuntuのコアシステム(Debianパッケージ、aptマネージャーなど)は同じで、異なるデスクトップ環境やプリインストールされたアプリケーションのセットを言い、特定の用途やユーザー層に合わせたカスタマイズがあらかじめ行われている公式派生版の事をいいます。
これらはUbuntuの開発元によって公式に認識、サポートされており、通常のUbuntuデスクトップ版と同じリリースサイクルとリポジトリを共有されています。つまり簡単に言えばデスクトップ環境などが違うだけと思っても良いと思います。
本来は元のUbuntuの状態からそれぞれを導入していけば同じようにシステムを構成できるわけですがそれらを予め正しく作られているので面倒な作業を端折ってすぐにシステムを使用し始められます。
各種フレーバーはそれがどういったものであるかが分かりやすい名称をつけられていたりします。例えば以下にあるKubuntuであれば、KDE Plasmaデスクトップ環境を使用したUbuntuであると言う具合です。それ以外のものはデスクトップ環境がディストリビューション名の後に続くだけなのでよりわかりやすく名称が付けられています。
Kubuntu(KDE Plasma)
Plasmaのモダンで美しいデスクトップ環境は豊富なカスタマイズが可能です。細かな設定をどこかに記述して実行せずともWindowsのように位置を変えたり表示方法を変更したりなどが簡単に行えます。

デスクトップエフェクトや多彩なテーマなどが多いと思います。KDEの統合されたアプリケーションがあり、Dolphin(ファイルマネージャー)、kMail(メールクライアント)、konsole(ターミナル)などがシームレスに統合されています。
Xububtu(Xfce)
Xfceはリソース消費が少なく、比較的安定していていることで知られています。古いPCや低スペックなハードウェアでも快適に動作します。Windows95~7あたりのイメージであればそんなに大きく離れていないのではないかと思います。ただ、もっとLinux的な感じはあります。

GnomeやDKEほどではないにしてもある程度のカスタマイズもでき見た目は若干古さは残りつつも大きく見た目を変えないことでの利便性は高く、シンプルな使いやすいデスクトップ環境であると思います。
Lubuntu(LXQt)
以前はLXDEでしたが、現在はLXQtになっています。公式フレーバーの中では最軽量な部類でリソース消費も低く、少ないメモリ、CPUでも動作するように設計されています。

古いPCや非常に限られたリソースしか持たないデバイスでもインストールするのに最適だろうと思います。その分、余計な機能は削られWebブラウジング、オフィス作業、メディア再生などの基本的な日常よくやることに特化しているという感じでしょうか。
他にも、
- Ubuntu MATE
- Gnome2のデスクトップ環境を蘇らせたMATEデスクトップを採用。Xfceのような古いWindowsのような感じで使用できます
- Ubuntu Budgie
- モダンで美しいBudgieデスクトップ環境を採用し、シンプルながら洗練されたデザインが特徴的
- Ubuntu Studio
- マルチメディア制作に特化したフレーバーで、低遅延カーネルと関連する多数のプロ向けソフトウェアがプリインストールされています
- Edubuntu
- 教育機関向けに設計され、それら用途に適したソフトウェアがプリインストールされています
- Ubuntu Cinnamon
- Linix MintのCinnamonデスクトップ環境を採用。Gnome2ベースの伝統的ながらモダンな操作感でWindowsユーザーにもわかりやすいデスクトップ環境です
- Ubuntu Unity
- かつてのUbuntuの標準デスクトップであったUnity環境を継続して提供
- Ubuntu Kylin
- 中国市場向けに最適化されたフレーバーで、中国語のフォントや、IME、一般的な中国のサービスとの統合が含まれます。




ここまで見てもらってわかるようにフレーバーとはつまりはデスクトップと環境の違いが主で、中身はいずれもUbuntuであり、操作感はほぼ同じです。同じアプリケーションが違う所に入っているだけとか、設定方法が若干違うというだけです。見た目にモダンなデスクトップ環境はそれだけリソースを消費するため、Windows7以降が動作するぐらいのPCが必要になるだろうと思います。
もちろん最新のPCにXubuntuを入れても何も問題はありませんし、スペックが余りすぎるためそれで満足できるかはまた別の話になるかも知れません。ちょっとしたUIのアニメーションが楽しかったりするわけですが、ウィンドウの表示の仕方などがシンプルすぎるとちょっと物足りなさを感じるとは思うと思います。
個人的には、Gnome、Plasma、Xfce、Cinammonあたりが使い始めるのには良いのではないかと思います。これらはUbuntuだけではなく他のディストリビューションでも同様です。しかしながらこれらは個人の好みもあり、また独自にカスタマイズされているバージョンがあるディストリビューションもあるので、色々と使ってみて自分に合うものを探してください。
Red Hat系統
開発版 | rating | ローリングプレビュー | rating | 商用版 | rating | クローン(無償版) | rating |
---|---|---|---|---|---|---|---|
Fedora | 8.2 | CentOS Stream | 5.2 | Red Hat Enterprise Linux | 7.6 | Rocky Linux | 9.0 |
AlmaLinux | 8.1 |
Red Hat系統の特徴は、YUM/DNFパッケージ管理。企業向け(RHEL)。
パッケージマネージャ
dnf
コマンドは、元々Red Hat系のディストリビューションでは、yum
(Yellowdog Updater, Modified)コマンドが使われていたわけですが、yumに潜在的にあった問題点(ドキュメント不足、依存関係解決アルゴリズムの不備)を改善して更にそれをおしゃれに洗練するという意味を込めてDandified YUMと名付けられ、それの省略形としてdnfが使用されるようになりました。
Red Hat系のディストリビューションのパッケージの殆どはバイナリ形式(RPMファイル)で提供されており、(必要な場合は)リポジトリを追加した後dnf install ...
でインストールします。非公式のパッケージはCOPR(Copr Build system)としてやはりビルド済みのRPMパッケージを提供しており、制作者がソースをビルドしてRPMを作成して、ユーザーはそれを利用する形になっています。
バイナリ形式とは:
ソースコードとは違って、それをコンピューターがすぐに実行できる0および1などに変換された形式を言います。内容はともかくビルドしなくてもすぐに実行できる形式と理解してokかと
ビルド済みのパッケージをインストールするためにユーザーは外部リポジトリからdnfの設定に追加してインストールします。追加作業は最初の一度のみで、その後は通常のdnf install ...
でインストールなどができるようになります。
つまり提供する側がバイナリを用意してそれをインストールするwindowsなどと大きく変わらない方法を取っているかと思います。windowsではソフトごとにインストール・アンインストールなどを行う必要がありますが、それらはRed Hat系ではdnfで集中管理されており、他のディストリビューションでもコマンド自体は異なりますがパッケージマネージャ形式の管理が一般的です。
Red Hat Enterprise LinuxとFedora、その他の関係
FedoraはRed Hatが支援するコミュニティディストリビューションであり、Red Hat Enterprise Linux(RHEL)の実験場とも言える位置づけにあります。Fedoraで試された技術は、安定性を重視したRHELに取り込まれる形で流用され、企業向けに提供されています。
企業に利用されるということで一般のlinuxよりも堅牢なシステムや、安全な仕組みが必要になる事をFedoraというコミュニティをRed Hatが支援し、そこから得られた技術を企業向けのディストリビューションに還元していきまた支援もするというよくできた循環的なシステムができ上がっています。
CentOS StreamはRHELの次期リリースの開発ブランチであり、RHELの更新内容が適用される前にそれらをテストできる場として提供されます。従来のCentOS(RHELクローン)とは異なり、RHELの「直前バージョン」という性格を持ちます。
RHELは商用のディストリビューションです。AlmaLinux / Rocky Linuxは無償のディストリビューションです。AlmaLinux / Rocky LinuxはRHELのクローンのような存在で、かつてあったCentOS(無償版)がなくなり、新たにCentOS StreamとしてRHELのローリングプレビューという立ち位置になったことに反発してCentOS(無償版)の代わりとして誕生しました。
しかし商用のディストリビューションのクローンができるわけがないと普通であれば想像するはずです。ただRHELの場合は、RHEL自体は有料ながらそのベースとなるオープンソースコンポーネントのソースコードはGPLなどのライセンスによって公開義務があり、これらをAlmaLinux / Rocky Linuxは合法的に再ビルド(ロゴや名称を変更し、独自の改変も加えたり)でRHELとバイナリ互換の無償ディストリビューションとして提供しているのです。
商用などの違いはありますが、RHELをArch Linuxと見立てた場合に、AlmaLinux / Rocky LinuxはManjaroやEndeavourOSという立ち位置ということかと思います。
更にここで内容が同じものであればRHELが存続できるわけがないと思う人もいると思いますが、そこには企業向けレベルの24時間365日のサポートがあり、深刻なシステム障害があった場合でもRed Hatの専門エンジニアが迅速に対応する仕組みになっており、これが企業向けの最大の価値になっているのです。これらは無償のディストリビューションではありえません。
RHELはサーバー管理、特に何かしらのバックボーンとなっているシステムを動かしているものに使用され、ここに問題があることは許されないのです。そのため完全サポートが必要な企業が多くあり、そういった企業はサポートがあることの安心を買っているのです。
AlmaLinux / Rocky LinuxはOS技術はRHELと同等であるというのは売りにはなりますが無サポートを企業の根幹に置くことはできないため個人使用に留まるわけです。
Arch系統
rating | ||
---|---|---|
親 | Arch Linux | 9.2 |
子 | Manjaro | 8.1 |
EndeavourOS | 8.5 | |
CachyOS | 7.9 | |
Garuda Linux | 8.4 |
Arch系統の特徴は、pacmanパッケージ管理、ローリングリリースでカスタマイズ性が高い。
パッケージマネージャ
pacmanはあのパックマンをもじった意味合いが込められています。本家でゲーム中のドット(餌)を食べていくように、依存関係をどんどん解決しながらインストールしていくという意味や、お化けになった敵キャラを食べていくように、不要になったパッケージや依存関係、あるいはキャッシュを片付けるというような意味も込められているわけです。
Arch Linuxでは「Keep It Simple, Stupid (KISS)」と言われる哲学があって、シンプルである事こそ最良であると言う原則があり、パッケージマネージャのpacmanもその哲学を反映しています。
pacman.conf(設定ファイル)に、
#Misc option
Color
ILoveCandy
と言う設定があり(あるいは書くと)、ダウンロードのプログレスメーターの代わりに「・(ドット)」で状況が表示され、それをcやCと文字がアニメーションしながら、さもパックマンがドットを食べていくような演出を出せます。
pacmanが扱うのは基本的にはバイナリ形式のパッケージで、公式リポジトリにあるパッケージを管理します。これらは.pkg.tar.zst
(以前は.pkg.tar.xz
)という拡張子を持っています。
一方ユーザーリポジトリ(AUR:Arch User Repositoryで公開されているパッケージ)はバイナリファイルは含まれていません。これらは.pkg.tar.zst
にビルドするためのPKGBUILDというシェルスクリプトファイルになっています。
よって悪意のあるコードが含まれている可能性はあるため、ユーザーはそれらを事前に調べてからインストールする必要があります。それらの事からAURでインストールするためにはpacmanではなくyay
などのAURヘルパーが使用されます。yayではその記述はpacmanと同様ながら、
sudo yay -S <パッケージ名> //このようには書かない
yay -S <パッケージ名> //これでok
のようにしてsudo
を求めません。
yay はユーザー権限でパッケージをビルドし、インストール段階のみ sudo で root 権限(管理者パスワードの要求)を使ってシステム領域にインストールします。
ビルド段階ではユーザー領域で展開しパッケージを作り、インストール段階でシステムにインストールされます。
Arch Linuxは「シンプルでミニマル」と言う哲学を持ち、ユーザー自身が様々な事をカスタマイズしていくという形を取っています。それはそれで素晴らしいことですがあまりにも敷居が高いため、Arch開発陣はシステムの精度を高めるのに注力し、それらを表示するGUIなどは別で開発をして、それらを融合すると言う形がとられ、それらを取りまとめたものがManjaroやEndeavourOSなどになります。
これらはArch Linuxをより簡単にユーザーに届けるために開発されており、競合であったり兄妹ディストリビューションと言うのが最もわかりやすい関係かもしれません。
ManjaroもEndeavourOSも比較的新しいディストリビューションなのでまだ孫に当たるようなディストリビューションは出てきていませんが、今後もしかするとそれらに該当するものが登場する可能性はあります。
人間でも同じ家庭に育ちながら全然違う性格の兄弟がいるように、CachyOSもGaruda LinuxもManjaroやEndeavourOSとはまた違う様相を呈しています。CachyOSは性能特化で独自のリポジトリも持っており、最適化パッケージを提供していますが、これらはピーキーであり、じゃじゃ馬のような一面も持っています。高い性能を発揮できる反面それらが一部の環境では問題になることもあり、それが故にある程度新しいハードウェアで使用する事を想定しているようにも見えます。
Garuda LinuxもCachyOSのように、性能重視で見た目にも派手、Dr460nized(Dragonized)バージョンはKDE Plasmaデスクトップ環境をベースにカスタマイズされたもので、視覚的な美しさとパフォーマンスに優れています。しかし、それらを滞り無く動作させるためには比較的新し目なPCである必要があるかも知れません。
Garuda Linuxでは、2025年に登場したMochaと言うエディションもあり、これらはDr460nizedエディションとは対象に落ち着いた色合いで統一されており、ベースのデスクトップ環境はKDE Plasmaで、開発者向けのツールが充実されているということです。一方開発者向けと言いながらゲーム用途でも性能を発揮するという報告もあり、必要に応じでそれらパッケージを手動で追加することで幅広く対応できるようになると思います。
Garuda、chacy共にi3初代のノートPCで動作させたことがありましたが特別問題はなかったものの、性能的にはi3のそれ以上は必須と思ってもらって差し支えないかと思います。もとよりGaruda Linuxは要求スペックが他のディストリビューションと比較してもやや高めです。
Garuda LinuxはBTRFS(英語)ファイルシステム採用でスナップショットなどが撮れ、問題があった場合にスナップショットの所まで戻って復旧ができるなどを最初から組み込んでいます((インストール時に別のファイルシステムを選ぶことも可能です))。またChaotic-AURと言う豊富なプレビルドパッケージのリポジトリもあり、他のArch系ディストリビューションでも利用できます。これらのおかけでダウンロードしてすぐ様々なアプリが使用できるようになっています。
もしこれらがなければFlathubなどを利用するしかないでしょう。通常はソースを入手してダウンロードした後ビルドして実行可能な状態にします。これがファイル容量もダウンロード時間も更にビルド時間もかかってしまうのです。
もちろんChaotic-AURにないソフトウェアパッケージは通常のやり方通りにする必要があるわけですがこれらのお陰でかなりすぐにパッケージの利用が可能になっています。
SUSE系統
開発先行版 | 商用製品版 | rating | 無償安定版 | rating |
---|---|---|---|---|
openSUSE Tumbleweed | SUSE Linux Enterprise | 8.5 | openSUSE Leap | 8.8 |
SUSE系統の特徴は、Zypperパッケージ管理、Tunbleweed(ローリング)とLeap(固定)リリースがある。YaST設定ツールが特徴。
パッケージマネージャ
Zypperはパッケージ管理ライブラリ「libzypp」のフロントエンドでRed Hat系のdnf
やDebian系のapt
と同じようなものです。これらと同じように、
sudo zypper install <パッケージ名>
として使用され、zypper in
とした短縮形も使用されます。独自の機能として、sudo zypper patch
というのがあり、セキュリティパッチや瀑修正などを行う際に修正を行います。
更に、btrfsファイルシステムのスナップショット機能と連携して、パッケージのインストールやアップデートで問題があった際に、変更を元に戻す事(ロールバック)ができます。
ZypperはRPMパッケージベースでRed Hat系と同様です。
バージョンの話やその他諸々
openSUSE TumbleweedはSUSE Linux Enterpriseの開発版(アップストリーム)のような役割を果たしており、SUSE Linux Enterprise(SLE)はTumbleweedのコードを元に企業向けに厳密にテストして安定化された商品製品です。
openSUSE LeapはSLEの安定したコア部分をベースにコミュニティが追加のパッケージや機能(主にはデスクトップ環境など)を加えて無償で提供している安定版(stable)です。
openSUSEには2つのバージョンがあり、それらはSLEと密接に関係し互いに技術提供をしながら開発されているような感じです。これらは[Fedora → RHEL ← CentOS] →AlmaLinux/Rocky Linuxと似ていますが、SUSE系はleapがSLEのコードをベースにしている分より密接な関係を持っています。
状況がわかりにくい感じですが、Tumbleweedが最新の実験場でそれらを徹底的にテストしてSLEが作られ、それをleapが受け継いでいます。
新しい技術や機能を試したいのであればTumbleweedで、新しい機能よりももっと安定した環境でサーバーの運営や開発環境などを持ちたい場合はleapという感じです。
これらはTumbleweedがローリングリリースとleapが固定リリースという点からも読めるかと思います。
openSUSE及びSLEではYaSY
(Yet another Setup Tool)、もう一つのセットアップツールと言うものがあります。Linuxの細かな設定をGUI及びCUIでわかりやすく行える機能があるわけです。
windowsでいうコントロールパネルのような感じです。基本的にはデスクトップ環境がある場合はGUIでそうでない場合はCUIで動作するようになっています。
それぞれの項目がモジュール化されていて、必要なものだけを呼び出したりあるいは追加することができるようになっています。
企業などでは多くの設定ファイルを共有する必要がありますが、YaSTによって設定をXMLで書き出し複数のシステムを自動でインストール・設定できるAuto YaSTという機能もあります。
openSUSEはここまでの内容を読んでもらってわかるように、もう一つのRed Hat系という感じのものであり、決して使いにくいとか玄人向けというわけではありません。もちろんすべてのディストリビューションが玄人向けな使い方もできるのですが。
市場でもRed HatとSUSEはエンタープライズのlinux分野においては二大競合企業でもあります。
Gentoo系統
親 | rating | 子 | rating |
---|---|---|---|
Gentoo Linux | 8.6 | Calculate Linux | 8.1 |
Gentooはシステムを深く理解し、自身の用途に最適化した環境を構築したいユーザー向けです。コンパイルベースの構成ゆえに、初心者には導入や運用の難易度が高いですが、高度なカスタマイズや性能最適化が可能です。パッケージマネージャにはPortageが採用されています。
パッケージマネージャ
前述したようにパッケージマネージャにはPortageが採用され、これはBSD系のPortsシステムに触発されています。他のディストリビューションと違う点としては、他のディストリビューションがバイナリ形式でパッケージを配布しているのに対して、Genrooではソースコードをローカル環境でコンパイルしてからインストールすることを基本としています。
そのため自身の環境に完全に最適化されたバイナリを作成できるのと、ソースコードを確認できるために安全であるかの検証なども可能で、不要なものを入れなくて済むという点から考えて理屈の上では最も効率的で高速なシステムを構築できますが、それができないのが素人です。なので玄人向け、自分のシステムがどういうものであるかを理解して、かつOSの構造もわかっている人が使うようなディストリビューションと言われるが所以です。
インターフェースとしてはemergeが使用されます。必要な依存関係(ライブラリや他のプログラム)を自動で解決しビルド順序を決定します。USE
フラグとプロファイルを組み合わせることで最小のベースシステムから様々な用途に特化したシステムが構築できます。
GUIは一切ないインストーラーで、コマンドラインから手動でパーティションを分けたりとベースシステムを構築することになります。またローカルでコンパイルするためインストールに時間がかかります。OSだけで何時間もかかるかも知れません。最悪1日潰れることもあるかも。
これらはアップデートも同様です。
Calculate Linuxはインストーラーを持ち、各種デスクトップ環境をプリインストールしたISOを提供していますが、根本的にはPortageを使用しているためGentooよりは手頃ですがその敷居は他のものより高いと言えると思います。
そもそもGentooを選ぶユーザーは最初からインストール自体が複雑でパッケージのインストールなども複雑になりがちではあるもののできあがったシステムは最適化できておりそれらを望むユーザーであるため簡略化した導入や管理が簡単なディストリビューションを求めているわけではないのです。それらを選ぶのであれば最初から他のディストリビューションを選べば済むのでユーザーの質に違いがあるとも言えます。
OSのGUIインストーラーがないという点からしてもArch Linuxを想像される方がいるかと思いますが、Archはコマンドラインでインストールするもののパッケージはバイナリ形式で配布されておりGentooとはわけが違います。
その他の系統
rating | |
---|---|
Alpine Linux | 8.8 |
NixOS | 9.0 |
Alpine Linux
Alpine Linuxは、最小限のリソースで動作するように設計されていて、Dockerイメージのベースとしては数MBと言う驚異的な小ささを誇ります。
多くのディストリビューションがGNU C Library(glibv)を標準のCライブラリとして採用していますが、Alpine Linuxはより軽量でセキュリティに焦点を当てたmusl libcを採用していて、これによりバイナリのサイズが小さくなり、依存関係が簡素化されるものの一部のglibcに依存するアプリの互換性問題が発生する可能性もあります。
セキュリティが強化されていると言うのは色々とありますが、デフォルトでSSHなどのサービスが無効化されていたり、不要なサービスによる攻撃対象領域を最小限にしています。
パッケージマネージャーは独自のapk
(Alpine Package Keep)というパッケージ管理システムを採用しています。これはシンプルで高速で効率的なパッケージ管理が可能です。
最も主要な用途としてはDockerコンテナのベースイメージ(Node.js、GO、Redisなど)が、その軽量性とセキュリティ特性からAlpine Linuxをベースに採用しています。同じような理由で、組み込みデバイス/loTデバイス(Raspberry Piなど)のようなリソースが限られていた小型デバイス、loTデバイスのOSとして適しています。
こういった使い方をするため一般的なデスクトップ利用や多機能なサーバー用途には向いていませんが、「小さく、速く、セキュアに」動作する必要がある環境、特にコンテナ化されたアプリケーションの基盤としてその真価を発揮するディストリビューションです。
NixOS
ここまでのディストリビューションがパッケージマネージャを持っているのに対して、NixOSはそれに変わる「Nix」と言う純粋関数型のパッケージマネージャを基盤としてシステム全体を宣言的に管理すると言う手法を取っています。
パッケージマネージャ
Nixは、パッケージのビルドプロセスを「Derivation」と呼ばれる厳密なレシピとして扱います。Derivationはインストールに必要なソース、ビルドスクリプト、環境変数など全てのものを元に一意のハッシュ値が生成され、パッケージの識別子として利用されます。
このように入力されたものから作られた一意のハッシュ値があるため、他の環境で動かないという問題を可能な限りなくすという高い再現性(Reproducible)を持っています。
一意のハッシュ値を管理しているため、あるソフトではpython 3.8を使用し、違うソフトではpython3.10を使うということが可能になります。同じものを使用するもののバージョン違いのものをシステム内に共存しておけるということです。
NixOSのシステムの更新は世代として管理されてコマンド1つで簡単に以前の安定した状態にロールバックすることもできます。何かを更新中に問題が発生してもシステムは整合性のとれた状態を保ちます。
これらはシステムの構築でも役立ち、一度それまでに構築されたシステムは変更されずに、設定ファイルを変更して再ビルドすることで新しいシステム環境が生成されます。
一部だけ変更してそれが原因でシステムの破壊が起こるということが極力行われないようになっているわけです。
新しいシステムが生成されても古いシステムは設定ファイルが残るだけなので、それを利用してロールバックできるという仕組みです。これはつまりテストで新しい環境やソフトを導入したが以前の方が良かったとした場合に元に戻せるということです。気軽にテストできると言えます。
もちろん自身で作ったアプリのセーブデータは別途保存する必要があります。例えば書きかけのmdファイルやコードの保存などです。しかしそのアプリケーション自体は設定ファイルで既に一意のハッシュ値として世代管理されていて新規生成されるのでWindowsのシステムの復元などのように差分やメモリ状態を完全コピーして持っているわけではないのです。
ロールバックしたシステムは新規に生成されたものです。それはNixOSがもつ、その時点のシステムをどのように構築するかと言う記述に基づいたNix設定と一意のハッシュ値付きのパッケージ群へのリンクの組み合わせがなせる技です。
よってWindowsのようにその時の状態に戻した場合に既にウィルスが混入していたとか、プログラムに不備があったとした場合、復元しても完全に元に戻るわけではないですが、NixOSは設定ファイルが間違ってさえいなければ完全にクリーンインストールしたような状態で生成されます。
同じ入力からは同じ出力しか生み出されないように、システム全体が関数で作られているため新しく生成されたものに以前の問題が引き継がれるなどということはありません。
設定ファイルの確認など
設定ファイルはシンタックスチェックが行われ、Nix言語で何が間違っているかを教えてくれます。イメージとしては、Nix設定ファイルはWindowsのレジストリにあたり、とても優秀便利なレジストリエディタがついていると言う感じかと。
例えばブール値でtrue/falseしか受け取らないコマンドがあったとして、そこに数値をいれるとエラーが出ると、当たり前だけども間違いがちな事もどこが間違っているかを教えてくれます。つまり型エラーのチェックなどです。
何かしらのサーバーの設定を書いたとして、そのポート番号が間違っていて正しく動作しなかったというような場合まではNixOSが面倒を見てくれるわけではありません。サーバー自体が正しく動作するような整合性はとれるようにエラーなどを出してくれるかも知れませんが、ポートの間違いは使用する人それぞれで違ったりしますからエラーは出ないのです。
Windowsのレジストリエディタと違う点はライブ編集ではなく再構築することになるという点です。ライブ編集は設定を変えれば即座に環境が切り替わりますが、NixOSは設定ファイルを変更したらシステム全体を必要に応じて再構築して新しいシステムに切り替えます。
これらから想像するように、比較的本域でwindowsを使用している人であれば理解はある程度早いと思いますが、それに合わせて新たにNixOSとは何かなどを覚える必要があり、これらの学習コストは決して低くはありませんが、正しく設定したら常に正しく出力するという再現性、ロールバックの容易さなどNixOSを理解すればそれらが他のディストリビューションにはない強力な機能であることが理解できると思います。
どのような人向けか
開発の場面では良いかも知れません。同じ開発チームで自分と他の人が違う環境で自分では動くけども他では動かないというような場合に、flake.nix
などの設定ファイルを使ってプロジェクトに必要な全ての依存関係(言語のバージョンの統一、Node.js、コンパイラ、データベースなど)を完全に宣言的に定義でき、このファイル1つを共有すればどのNixOSが入っているPCでも全く同じ環境を再現できるわけです。
既に問題なく動作しているシステムがあったとしてconfiguration.nix
にデスクトップ環境や、利用しているアプリ、設定ファイル、フォントやテーマ等を書いておき、それを新しく使用する人のNixOSが入ったPCにコピーして新たに生成すれば同じものが再現されるのでとても楽に同じ環境を作れます。
一方これらは個人の状態もコード化しておけば、いつでも理想の環境を再生成できるということにもなります。
全体的にはGitのようなバージョン管理システムをOS内に持っているとイメージすると分かりやすいかもしません。
親に当たるディストリビューションについて
親に当たるものはLinuxカーネルをコアに持ち、独自にデスクトップ環境やパッケージマネージャやファイルマネージャなどを組み合わせて作られるディストリビューションで、いわゆる独立系と言われるものに該当します。
これらには、デスクトップ環境などを持たないものもあり、CLIでコマンドでの操作を前提としているものもあります。これらはとても軽量で組み込み系のOSとして利用されたりすることもありますが、デスクトップ環境を導入すれば通常のOSとして使用することも可能ではあります。
諸々な所感
Linuxのインストールについて
このページで挙げたほとんど、少なくても子に当たるディストリビューションはグラフィカルなインストーラー(Calamaresなど)があってほとんどの人はUSBからISOを起動できるようにするだけ((BIOS、UEFIの設定でUSBから起動できるように。またISOも単にUSBに保管するのではなくUSBから起動した時にそこから動作するように書き込む必要がある))で最初にライブ環境が起動し、そこから任意のストレージにISOの内容を書き込むような手順を踏む感じになると思います。
Calamaresとは:
ディストリビューション中立的なGUIベースのLinuxインストーラーで、Qt(C++)を使って開発されており、柔軟なモジュールシステムにより、さまざまなディストリビューションが自分たちに合ったインストール手順を組み立てることができます。
特別迷うような部分もなく、ノートPCであればWi-FiのSSID(無線LANの電波名)とパスワードを入力してネットに繋ぐ、デスクトップであればLANケーブルで接続するだけ、そのどちらの方式も持っているならそれぞれのやりやすい方法でと簡単な事でネットワークに繋がるのでほとんどがオンラインインストールすることになるかと思います。
ネット環境が無しでもインストールすることはでき、オフラインインストールと言いますが、この場合はオプションや最新のパッチなどが当たらない状態でインストールすることになるのでやや不便かもしれません。またそれが原因で手動設定になってよりLinuxを導入する事が大変な自体になったりもします。
M.2 SSDであればインストール自体は15~30分ぐらいで終わります((ネット環境・速度にもよる))。Windowsのようにインストールした後、Windows Updateが走ったりでお待ち下さいの画面からしばらく待つ必要もありません。
デスクトップ環境について
デスクトップ環境は色んな種類があって何から始めて良いのかどれが良いのかと迷うことがあるかと思います。個人的な好みとしてはLinuxをノートPCで使用するのでGnomeを使用しますが、もしデスクトップで使用する場合は、GnomeよりもCinnamon(ディストリビューションにあればですが)とか、Xfce、あるいはKDE Plasma、Mateあたりが使いやすいかも知れません。これらは個人の好みもあるので何が一番良いかは難しいわけですが。
Awesomeやbspwm、i3、Swayなどはキーボードでウィンドウの操作もしようというような、もちろんマウスも動作はするのですが、ちょっと玄人好みのデスクトップ環境(ウィンドウマネージャー)になっているので、ここらは後回しでも良いと思います。
Linuxの操作に慣れて、使用している中でデータを別で何かしらに保存していつでも元に戻せるという環境を作った上で、実際にそれらウィンドウマネージャーを使用している人の使用感や操作方法、環境設定などを熟知してから使うことをオススメします。

上の画像はSwayの画面です。Arch LinuxでSwayを利用していると言うのがわかります。Swayはi3で慣れたユーザーがwayland環境でも容易に移行できるようにi3(こちらもウィンドウマネージャ)からフォークされて作られました。
私達が普段使用しているWindowsはスタッキング(あるいはスタック)型のウィンドウマネージャです。積み重なっていくというような感じです。マウス操作に適していてTabキーなどでウィンドウ間の移動などもできますがほとんどの人はマウスを使用しているかと思います。ノートPCでタッチパッドがあってもマウスを使用する場合が多いと思います。
一方Swayなどのウィンドウマネージャはタイル型と呼ばれます。これは画面いっぱいに(設定で作れますが)隙間なくウィンドウを並べていくと言う感じです。これらはマウスで操作もできますが、基本的にはキーボードで完結するように作られており、よくドラマなどでハッカーめいた人たちがキーボードをカチャカチャ、ッターンとやっているのを一般人が見て「そんなキーボードをカチャカチャしねぇよ」と言うコメントを寄せられる事もありますが、これらはカチャカチャ ッターンするのがデフォです。
自身でレイアウトを変更する事もできますしスタックさせる事もできたと思いますが、仮想デスクトップを切り替えてウィンドウの操作だけでやるのが一般的です。画像を見てもわかるようにたくさんのアプリなどが画面に並んでいます。
アプリそれぞれのメモリ消費はありますが、SwayなどはWaylandに最適化されており(1から作られた)、無駄がないのでとても軽くアプリケーションの動作を阻害しません。よって一般的なスタック型のウィンドウマネージャーはそれだけで多機能だったりもあり特別それが重いという感覚はありませんが、機能をそぎ取ったものは尚一層軽くなるのはイメージしてもらえるだろうと思います。
デスクトップ環境の一つであるGnomeのウィンドウマネージャにはMutterというのが使われていますが、たとえMutterがWaylandに対応したデフォルトのウィンドウマネージャだとしてもSwayの方が軽量です。そもそもSwayはWayland専用に設計されていますからカスタマイズしない限り通知であったり、諸々のウィンドウマネージャーにあるような機能は別で導入する必要があり、それらカスタマイズが初めての人には難しいと思うので、分かりやすいウィンドウマネージャがデフォルトになっていると理解してもらうとよいかと思います。
どれぐらい軽くなるかをAIに聞いてみた所、Gnome(Wayland)でおおよそ700~1200MBですが、Swayでは100〜250MB程度(構成により変動)という返答がありました。本来であれば、ウィンドウマネージャ同士を比較すべきですが、GnomeのMutterはGnomeに統合されており、Mutterが持っている機能も連携して動作しています。しかしSwayはそれ単体のウィンドウマネージャでMutterと同等の機能を持たせるためにはユーザー自らがそれに対応するツール群を導入する必要があり、それらを含めても軽量であるということだろうと思います。
これらSwayの設定を含めてテキストベースの設定になったりすることが初心者向けではないとも言えるため、中~上級者向けのウィンドウマネージャと言われるわけです。
X11とWaylandについて
全てがそうなっているというわけではないですが、最近のディストリビューションでは、それまでのX11からwaylandが採用されるケースが増えました。KDE Plasma(5.20以降、2020年辺りかららしいです)や、Fedora(34以降)でもそうで、Arch系のEndeavourOSでもそうなっています。
ディストリビューション毎に、あるいはデスクトップ環境毎に異なるという感じで、X11でもWaylandでもどちらでもいけますよという感じのオプションにはなっています。
個人的にはGnomeを使用しているのでwaylad以外はあまり知らないという感じでもあるのですが、特別これと言って違いはないと思っていました。しかし、実のところスケーリングと解像度の問題で、waylandの方が新しいものであるので高解像度(HiDPI)ディスプレイでのスケーリングでも問題なく処理できる所、X11の設定をそのまま受け継がないなどの問題がありWaylandで個別に設定する必要があるそうです。
KDEのテーマ(ユーザーがカスタマイズして公開しているテーマ)などはX11向けに制作されていることもあり、そのままでは正しく動作しないものもあると言うので、それらを適用する場合はwaylandをサポートしているかどうかも確認事項になるのではないかと思います。
またWaylandに完全対応していないと、例えばですがターミナルエミュレーターのyakuakeなどではログアウト後にシステムトレイに復元されない問題もあると言います。これらはKDEのwaylandの話ではあるのですが、Gnomeなど他のデスクトップ環境でもある可能性があります。
一方、Waylandのメリットとしては新しいモダンな設計で((X11は1984年の古い設計))、最新のGPUなどにも対応し最適化されています。高解像度ディスプレイやマルチモニターなどのスケーリングも改善されていたりします。
waylandがモダンな設計であるから全てが優秀というわけではなく、X11はその年月がっと稼働してきた実績も洗練された技術もあり、多くの場合正しく動作しますが、設計的に新しい機器では問題が出ることでもあり、そのあたりはWaylandの方がメリットはありそうながらまだ洗練され尽くしていないという不備もあるわけです。
そのため、どちらを使っても大きな問題がでるわけではないですが大きくはないが使い方によっては深刻な問題に繋がることもあるため、どちらの方が自身の環境・使用用途に最適かを考えて使用する必要があります。だいたいwaylandで困ったらX11で動かしてみたらどうだ?と聞かれるような感じです。
Linuxのファイルシステムについて
一般的にはOSをインストールした後からファイルシステムを変更する事はとても困難であるため、OSインストール前にこれらをよく理解しておく必要がありますが、わからなければext4を使用する推奨設定で大丈夫です。
Ext4
Linuxの標準ファイルシステム。堅牢性、パフォーマンス、信頼性に優れています。
どれが良いのかを迷ったらLinuxではこれにしておけばだいたい問題ないと思います。標準ですからこれに対して他にどういう機能が必要かを考えて下さい。
XFS
大規模なファイルや大量のデータを扱うのに適したジャーナリングファイルシステム。サーバー環境で使用される。
並列I/O性が高く、多くのファイルが同時に弓書きされるような環境で強みを発揮します。RHELのデフォルトファイルシステム。
規模なデータベースサーバー、ファイルサーバー、Webサーバーなど、大量のデータや高負荷なI/Oを扱うサーバー環境。仮想ディスクイメージや動画ファイルなど、非常に大きなファイルを扱うことが多い場合などに良く、一般用途ではオーバースペックな場合が多い。
Btrfs
スナップショット、Raid機能、データ整合性のためのチェックサムなど、多くの先進的な機能を備えた新しいファイルシステム。スナップショットによって特定の時点でのファイルシステムの状態を保存して、いつでもその時の状態に戻すことができます。誤った操作でファイルを削除したり変更したりしてしまった場合や、OSのアップデートなどで問題が発生した場合にロールバックできる機能は強力です。
一方、snapperなどのBtrfs管理ツールでそれらロールバックの操作諸々を別途覚える必要があります。ローリングリリースのディストリビューションはシステムの変更が起こりやすいので導入するのも良いと思います。
ZFS
元はSolarisで開発された非常に強力なファイルシステム。データ整合性、容量管理、スナップショット、RAID機能などが特徴ですが、ライセンスの問題でLinuxカーネルに直接統合されていないため、扱いが難しい場合があります。
FAT32 / NTFS
Windowsと互換性のあるファイルシステムも、Linuxでマウントして読み書きが可能です。
その他、インストール時に聞かれるSWAPパーティションやファイル
これらはメモリが不足した際に一時的にディスクをRAMのように使う領域。それ用にSwapパーティションを作らず、Swapファイルを使用することケースも増えています。特別な使い方をするのでないなら推奨設定でok
Linuxのソフトウェアのインストールについて
通常は、ディストリビューションそれぞれのパッケージマネージャとリポジトリに従ってアプリをインストールしたり管理するわけですが、直接インストールした場合はそのアプリに必要なライブラリなどを同時にインストールすることになります。
これは当たり前のことですが、あるアプリはライブラリのバージョン2まで対応でそれ以降には対応していないとか、あるアプリは2以降に対応している等とした場合に、どちらかのバージョンのライブラリが上書きされてしまったりして片方のアプリが動作しなくなってしまう場合があります。
多くのライブラリ開発者はバージョンが違ってもある程度は対応できるように互換性をもたせたりするわけですが、誰かアプリ作者等がそのライブラリをフォークして利用した場合、古いバージョンを新しいバージョンでも動作するように改変したり、また逆であったりして何とか動作させようと試みたりしたりでこんがらがってきたりするわけです。
きちんと管理されたものであればそれらは何も問題はないのですが、問題がある場合がやはりありそれらを解決するためにFlatpakやsnapなどは開発されていると言っても過言ではないと思います。
前述したNixOSで一意のハッシュ値を管理して違うバージョンのものも動作するようにするという考えも元を辿ればこの依存関係の問題(Dependency Hell)を解決しようとする試みなのでしょう。
近年では、Flatpak・Snap・AppImageといったディストリビューション共通で動作するアプリ配布方式が登場しており、特にGUIアプリケーションの導入が簡単になっています。
これらはユニバーサルパッケージングシステムとも言われます。それらが説明される場合に、「アプリケーションをサンドボックス化して」などと言われますが、このサンドボックス化というのがわかりにくいかも知れません。
アプリをインストールすると、そのアプリはシステム全体にアクセスできる権限を持つことがあり、もしそのアプリが悪意のあるものであったりバグがあったりするとPC全体に悪影響を及ぼす可能性があります。サンドボックスはそういったリスクからシステムを守るための仕組みです。根本的にはアプリをシステムから隔離した場所に置き、その場の中でだけ動作するようにするようにします。
イメージとしては仮想空間でアプリを動かしているようなイメージです。あくまでイメージですが。アプリを安全な囲いの中に閉じ込めることでセキュリティを高め、システムの安全性も保ちユーザーが安心してアプリを使えるようにした仕組みになります。
一方、アプリによりけりですがそのアプリが広範囲な権限を要求する場合(ホームディレクトリの全体へのアクセス権や、ネットワークのフルアクセス権、またその他システムデバイスへのアクセス権など)、技術的にはサンドボックス化されてはいるわけですが、その壁が非常に薄いものになり、効率的にサンドボックス化されているとは言えなくなってしまいます。
この事からサンドボックス化されていて隔離されているから安全だと盲信してはいけないという面もあることは忘れないようにして下さい。
Flatpakにはマニフェストが含まれていてそこにアプリがどのような権限を要求するかは記載があるのでそれらを確認するのも大切です。コマンドラインからでは、
flatpak info --show-permission <app-id>
で調べることができます。
flatpak permission
ではシステム上のflatpakアプリのパーミッションの概要を確認できます。
結果的にですが、そのアプリを直接インストールしてしまえばそれら権限を与えることになるので同じと言えば同じなわけですが、サンドボックス化されている分、flatpakの方が権限を絞れてる分だけは安全とも言えます。よってここから言えることは、
- できるだけユーザーディレクトリにインストールできる方法を探す
- システム全体で使用するのではなくユーザー限定にする
ということが大事で、Windowsなどでも半ばそのようになっているはずです。一人で使用するので全体にインストールしても同じだろうと考えるのもわからないわけではないのですが、ユーザーインストールができるのであれば権限をユーザーまでで止められるようにするのが最も良い方法であるのも確かです。
しかし、そうできない、あるいはしにくいものもあると思います。そういった場合にFlatpakなどのインストールの仕方は選択肢が増えるという意味でも覚えて損はない方法だと思うわけです。
ファイルサイズが増加する場合がある
Flatpakなどは、必要なライブラリやフレームワークをひとつにしたものであり、それらを一般的にはランタイムと言いますが、これらが原因でファイルサイズが増加する場合があります。
よって、元から巨大なファイルサイズをもっているアプリなどは直接インストールする方が良いのかも知れませんがそれらは使用している環境やストレージの容量にも関係するので何とも言いにくい部分があります。
前述した依存関係地獄からの開放と考えれば多少のファイルサイズの増加は必要悪なのかもしれません。最も良いのは使用する役割を分けて不要なものをインストールせず、専用に近いPCを構築するのが最適だと思いますが、面倒だと言えばそうなのでついひとつのPCで何でもしてしまいがちになるのは否めない所です。
個人的おすすめディストリビューション
多くのYoutuberやサイトなどでDisrto Watchを参考にMX Linuxなどが紹介されることが多いと思います。現在であればLinux Mintでしょうか。
しかしこれはごく単純にDistro Watchのトップページのページヒットランキングを参考にしているのではなかろうかと思います。沢山の人が見てるんだからよいディストリビューションに違いないという考え方と思いますが、それは間違いです。
単純に何かでたまたまその時にそのディストリビューションが注目されただけというのはありえます。例えばChromeOSを導入するに当たり、最初にMintを入れてから作業するとか(flexでない純粋なChromeOS)で、何かの作業をする際に現在のOSとは違う別のOSから起動させてというのに比較的軽量なディストリビューションが勧められることがあります。
もうひとつの指標としてユーザーレイティングがあり、それはこのページで書いてあるポイント(Ratingと表にある数値)です。これは実際に使用したユーザーが評価したポイントなのでページヒットランキングより信用できそうな気がしますが、これも母数を同じにしての同じテストをしての評価というわけではありません。なのであくまで使用者は高ポイントをつけているというだけの指標になります。
例えばFedoraはユーザーレイティングが8.2でした。これがページヒットランキングでは9位です。一方9.2がつけられている同じ系統のRocky Linuxは63位です。RedHatの所で解説しましたが、FedoraはRHELがスポンサーになっていて最新技術のテストの場となっています。それら技術がRHELに搭載された後に、それをクローンしているAlmaLinux / Rocky Linuxの方がFedoraよりも安定しているのは当然なのでユーザーレイティングも高いと言えると思います。
ポイントが高いはずのAlmaLinux / Rocky Linuxがもっと上位に来てもよいはずですが、上位に来るのはFedoraですからページヒットランキングがあてにならないということがここからもわかると思います。
このように、決してページランキングがディストリビューションの完成度を表しているのではないことから、ディストリビューション自体の人気ではなく何かしらきっかけにその時たまたま注目を浴びたランキングと言えるわけです。
こういった事項も含めて、個人的にオススメするディストリビューションは、
ランク | 名称 | 系統 | 備考 |
---|---|---|---|
1 | EndeavourOS | Arch系 | 管理人が使用しているため。+Gnome+ChaoticAUR使用 |
2 | Garuda Linux | Arch系 | ChaoticAURの元 |
3 | NixOS | 独立系 | 管理人が次に使うならこれと思ってるもの |
これらになります。単に好みのランクです。Debian/Ubuntu系ならPop!_OS
です。
私的な思いは抜きにして世界的な、2025年トレンドかつ総合的なランキングで言うと、
ランク | 名称 | 系統 | 最初の安定版 リリース年 | 主な開発国/設立国 |
---|---|---|---|---|
1 | Ubuntu | Debian系 | 2004 | イギリス |
2 | Arch Linux | Arch系 | 2002 | アメリカ |
3 | Fedora | Red Hat系 | 2003 | アメリカ |
4 | Linux Mint | Ubuntu系 | 2006 | アイルランド/フランス |
5 | Debian | Debian系 | 1993 | フランス |
6 | Pop!_OS | Ubuntu系 | 2017 | アメリカ |
7 | Manjaro | Arch系 | 2011 | オーストリア/フランス/ドイツ |
8 | NixOS | 独立系 | 2003 | オランダ |
9 | AlmaLinux / Rocky Linux | Red Hat系 | 2021 | アメリカ |
10 | openSUSE Tumbleweed | SUSE系 | 1994 | ドイツ/スイス |
となっています。openSUSEはSuSE Linuxとしてドイツではじまりました。基本的にはチームが作られてコミュニティメンバーが世界中にいてそれらがそれぞれの開発をしていたりするわけですが、主な開発チームがある国や拠点のある国などとしてまとめました。
他にもZorin OS、Kali Linux、MX Linuxなども人気があります。
ユーザーの好みや特定の用途((古いPCを再活用するためで使用とか、Windowsからの移行を意識したとか、セキュリティなどのテストなど))で何が良いかは変わるので一概に言えない部分もあるのですが、世界的に使用されているディストリビューションの傾向から見て何を選ぶべきかはおおよその判断材料になるかと思います。
Ubuntuにしても他の系統のディストリビューションにしても操作感などに違いはあるものの、デスクトップ環境が同じであればだいたい同じにも感じられる部分も多いのでLinuxとして何が良いかというのは愚問だと思います。
このページで説明したように、パッケージ管理の方法はそれぞれの系統によって異なります。そのため以前に何か使用されていてそれに慣れているというのであれば同じ系統から違うディストリビューションを選ぶと移行は楽になるだろうと思いますが全くLinuxを触ったことがないと言うとこのあたりが分かれ道になります。
もし安定したバージョンのアプリケーションを使用したいのであれば、Debian系が良いかも知れませんし、最新の状態で使いたいというのであればArch系が良いかと思います。これらがローリングリリース(最新の状態に保とうとする更新方法)か固定リリース(一定の期間でアップデートを配布する更新方法)でそれらは変わります。
またLinuxを使用するPCがどれぐらいのスペックであるかもディストリビューションを選ぶ目安になります。だいたいのディストリビューションがcore2以降のCPUであれば動作するようにはなってはいるものの快適さは違います。もちろんPCが新しい方が良いには決まっているので2025年、現時点ではIntelの6世代や7世代あたりを境にそれより古い世代のCPUであれば軽量なディストリビューションを選ぶべきですし、それ以降ならよっぽど重量級でなければ快適に使用できるだろうと思います。
何かあった際に再インストール(クリーンインストール)する時間を短縮するためにSSDの方が良いというのもありますから7世代以降が良いでしょうか。しかしSSDはSSDでまたHDDとは違う問題などもあり(TRIMコマンドなど)、もしlinuxでゲームもしたいとしたらVGAもそれなりのものを積んでいる必要もあり、対応している必要もありでWindowsのように他に別のバージョンが現行していないOSとは違うということを理解する必要があります。
一方で、環境さえ整えられたらSTEAM DECKでもわかるようにlinux系のディストリビューションでゲームはある程度可能なのです。そのためにもゲームだけではなく何にLinuxを使用するかをまず考えてPCのスペックにも照らし合わせ、ディストリビューションを選ぶことが大切だと思います。
これはWindowsでも同じことが言えますが一番重要で一番最初に考えるべきことですが、性能さえ良ければどれでも良いだろうと甘い考えで選べるのがWindowsでもあるので、それが一般向けであるということは言えると思います。
まとめ
よくLinuxはサーバー向けのOSだろう?と言われることがあります。そういう面ももちろんありますが決してそれだけのものではありません。
現在のLinuxは主要なWindowsにあるアプリケーションが対応していたりして、GUIで大抵のことはできるので何十年も前のようなコマンドラインで全部やるというようなことはありません。
もちろんそういう使い方もできますし、そういう使い方のものもあります。より簡単にWinodwsのように使えるようになっていると言うことだけは理解下さい。
その上でLinuxを使用することは無料で使用できるという点が一番大きい所かと思います。OSもそうですしそのアプリケーションもそうです。もちろん有料のものもありますがそれは多くはありません。
つまりサポートなどがないことで個人が無料で自由に使用できるという点が良さでもあり悪い点でもあるとも言えるのです。自由であるから自分で色々と調べる必要があるということですが、誰か一人二人は周りに詳しい人がいるかも知れないぐらいのものですから、全然臆すること無くその世界に入っていけると思います。
VS Code/GIMP/INKSCAPE/Krita/Slack/Discord/Zoom/Spotify/VLC/MPV/Audacity/Kenlive/HandBrake/OBS Studio/Blender/Git/Filezilla/PowerShell
こういったものがLinuxでもあります。スマホやwindowsなどとファイル交換を簡単にするにはLocalSendやWarpinator、Warpなどがあります。
ブラウザであれば、Firefoxはもちろん、ChromeもBrave、Vivaldi、Operaもあります。
たいていのWindowsソフトの代替ソフトはありますから普段使いには問題ないですが使い勝手はクロスプラットフォーム以外の場合は使いにくいと思われる可能性はあります。