私が Ubuntu を超えてしまったのには理由があります。不変ディストリビューションが最初の選択肢として適しています
Ubuntu のおかげで、私は 10 年間 Linux を使い続けてきましたが、私だけでなく、ほとんどの非ハードコア Linux ユーザーにとっても、もっと良い方法があることに気づきました。不変ディストリビューションはあなたの選択かもしれません。
そもそも、不変ディストリビューションとは何でしょうか?
読み取り専用の基本イメージが増分パッケージのインストールを置き換えます
不変、つまり「アトミック」ディストリビューションは、オペレーティング システムを、一度に 1 つずつインストールされるパッケージの山ではなく、単一のバージョン管理されたイメージとして処理します。ルート ファイルシステムは、通常の使用中は読み取り専用でマウントされるため、マシンの実行中に、迷走したスクリプト、不注意な sudo コマンド、マルウェアなど、何ものも静かにコア システム ファイルを書き換えることはできません。更新ではファイルにパッチが適用されません。完全な新しいイメージを構築し、現在のイメージと並行してステージングし、次回の起動時に切り替えます。新しいイメージが適切に構築できなかった場合、更新は単に適用されず、実行中のシステムが中途半端な状態になることはありません。
これは、Ubuntu やほとんどの従来のディストリビューションの動作方法とは異なる哲学です。 Ubuntu は apt に依存しており、一度に 1 つの依存関係解決ごとに、ライブ システムに対してパッケージを直接インストールおよび削除します。このアプローチは柔軟ですが、アップグレードの中断、PPA の破損、または依存関係チェーンの失敗により、システムが完全に不整合になり、場合によっては手動による修復が必要になる可能性があることも意味します。
Fedora は、イメージ ベースの更新を管理する rpm-ostree ツールと OSTree ツールを使用して、Silverblue と Kinoite でこのモデルの最新バージョンを普及させました。現在は「Fedora Atomic Desktops」という名前でグループ化されています。 openSUSE は、Aeon と Kalpa を通じて同じアイデアを提供しています。 Universal Blue は Fedora のベース上に構築され、Bazzite や Bluefin のような既製のイメージを生成し、Steam Deck 上の Valve の SteamOS は同じ基本的なコンセプトに基づいて実行されます。 NixOS は、関連性はあるものの別個の宣言的アプローチを採用しています。これらすべてにおいて、日常的なアプリケーションは通常、Flatpak を介して実行されるか、保護されたベース システムに直接インストールされるのではなく、保護されたベース システムから分離された隔離されたコンテナ内で実行されます。
Ubuntu (および他の人気ディストリビューション) に対する利点
ロールバックと分離により、Ubuntu の最も一般的な問題が解決されます
実用的な最大の利点はそのアトミック性です。更新は完全に完了するか、まったく行われないため、apt ベースのシステムで長年にわたって大きな苦痛を引き起こしていた壊れた途中の状態が解消されます。これに即時ロールバックを組み合わせます。以前のイメージはディスク上に保持されるため、起動時に古いイメージを選択するだけで不適切な更新を元に戻すことができ、依存関係の考古学は必要ありません。 Ubuntu では、不正なカーネルまたはドライバーのアップデートから回復することは、通常、ログを調べたり、パッケージを保留したり、完全に再インストールしたりすることを意味します。
構成のドリフトは、不変システムが先を行くもう 1 つの分野です。基本イメージはどのマシンでも同一であり、ビルド定義から再現できるため、新規インストールは置き換えたイメージとまったく同じように動作します。これは、複数のマシンを管理している人にとって重要であり、長期にわたる Ubuntu のインストールを時間の経過とともに推論したり、クリーンに再インストールしたりするのを難しくする 1 回限りの微調整のゆっくりとした蓄積を取り除くことができます。
セキュリティ上の利点は、読み取り専用ルートから直接得られます。コア システム ファイルは通常の動作中に単純に書き込みできないため、侵害されたアプリケーションや不注意なコマンドが影響を与える可能性ははるかに低くなります。 Ubuntu の Snap エコシステムは、個々のアプリのサンドボックス化の一部をジェスチャーしますが、その下の基本オペレーティング システムは完全に変更可能なままです。
アプリケーションの分離によりループが閉じられます。 Flatpak および Distrobox やツールボックスなどのコンテナベースのツールは、ユーザー ソフトウェアとその依存関係を OS や相互に分離し、従来の Ubuntu セットアップでサードパーティの PPA や依存関係の不一致によって日常的に引き起こされるライブラリの競合を回避します。
1 つ使用する必要がありますか?
ほとんどの新規インストールに適切な選択ですが、注意事項があります
これらのいずれも、不変ディストリビューションが Ubuntu や最も一般的なディストリビューションの完璧な代替品になるわけではなく、これは明確にする必要があります。システム レベルで必要なもの (カスタム カーネル モジュール、一般的ではないドライバー、特定の低レベル開発ツール) をインストールするには、通常、パッケージをイメージに重ねて再起動してそれを適用する必要があり、これは簡単な apt インストールよりも時間がかかります。システム ファイルを直接編集することを想定したワークフローは、一部の開発者やシステム管理者の間で一般的ですが、通常はホスト上ではなくコンテナ内で作業することによる調整が必要です。
とはいえ、恩恵を受けるのは幅広いグループです。悪質なアップデートに対するセーフティ ネットを必要とする人、Bazzite や SteamOS を介してゲーム用ハンドヘルドまたはデスクトップを実行している人、およびその場での詳細なカスタマイズよりも一貫性を重視する複数のマシンを管理している人などです。ビルトインのロールバックにより、アップデートが壊れて失われた午後になってしまうという不安がなくなるため、特に初心者にとっては最もメリットが大きくなります。
例外は以前よりも狭くなっています。頻繁にいじくり回すユーザー、ライブ ドライバー コンパイルを必要とする特殊なハードウェアを使用するユーザー、および完全に変更可能なルートを中心に純粋に構築されたワークフローは、今のところ従来のディストリビューションの方が適切に機能します。他のほとんどの場合、Fedora Atomic Desktops、Bluefin、Bazzite、openSUSE Ao は十分に成熟しており、実験ではなく賢明なデフォルトとなるため、Ubuntu を残すのは理にかなっています。
普遍的な修正ではなく、より安全なデフォルト
不変ディストリビューションは、低レベルの柔軟性と引き換えに、アトミックな更新、即時ロールバック、攻撃対象領域の縮小を実現します。ほとんどの日常使用、ゲーム、および複数マシンのセットアップでは、そのトレードにはそれだけの価値があります。Ubuntu をデフォルトの出発点とする必要はもうありません。
このテーマについてさらに詳しく知りたい方は以下をご覧ください