Immutable OSについて
Kubuntu 25.10のリリース、KDE Plasma 6.5のバックポート・リリースとイベントが続いた。
これらを追いかけているうちに、KDE Linuxというディストリビューションを知った。KDEプロジェクト謹製である。KDE Plasmaのショーケースらしいが、その役割ならすでにKDE Neonが担っている。
何故今更新しいディストリビューションを、と思って情報を手繰っていたらImmutable OSという考え方にあたった。すでにLinuxディストリビューションの世界では珍しくない考え方のようだ。
大まかな概念としては「ユーザーとOSの分離を強くすることでセキュリティを強化する」ものらしい。
Immutable OSと言う名前は、源流をたどるとプログラミング言語のImmutable変数ブームにたどり着くようだ。そしてそれゆえに、この名前に反対する人をよく見かける。
と言うのは、ImmutableOSと呼ばれるLinuxディストリビューションの多くが目指しているのはOSを不変にすることではない。当然だがOSの内部状態は実行中に変わる。ImmutableOSが目指すことはOSとユーザーの間を明確に分離して、実行中にユーザーがOSを改変できないようにする。そして分離に関していえば、Immutable OSではOSコアとパッケージ管理システムを分離している。
つまりImmutable OSにおいては、パッケージ管理とアプリケーションパッケージはユーザー側に押しやられている。その結果、パッケージとユーザーに手を付けずにOSコアを管理およびアップデートできるようになっている。
このようにImmutable OSと呼ばれるLinuxディストリビューションは、おおよそ「分離によってOSコアのモジュール性を高める」方向に向かっているようだ。Fedraはこの点に注目したのか、一連のImmutable OSディストリビューションをFedra ATOMIC DESKTOPSとしてブランド化している。
KDE LinuxはKDEプロジェクトが手掛けるImmutable OSで、どうやら
- KDE Plasmaの最新ショーケース。
- KDE Plasma開発者用のワークステーション。
- 一般ユーザー用の安定したデスクトップ。
の全てを担うらしい。野心的なプロジェクトだ。一部のユーザーは開発リソースがKDE Desktopから分散してしまうことを懸念している。
OSコアはArchLinuxだが、上に書いた理由でpacmanパッケージ管理システムは意図的に削除されている。パッケージ管理はKDE DesktopのDiscoverが担っている。DiscoverはFlatpakとSnapに対応しているほか、PackageKitにも対応している。
コアOSという言葉から「そういえばUbuntu Coreなんてのがあったな」と思いだした。IoT向けにCannonicalがやっているプロジェクトだ。
調べてみると、改変不可のLinuxデスクトップベースとしてのUbuntu Coreという面白い記事があった。Ubuntu Coreを使ってImmutable なデスクトップ・ディストリビューションを作るアイデアの考察と言える。
Immutable OSは安全性と安定性の上で大きなメリットがあるが、ユーザーから見た柔軟性については疑問がある。そしてユーザーから見た柔軟性とは、新しいデバイスへの対応であったりもする。この点について考察するために、Immutable OSの実装方法についてサーベイを行っている点が興味深い。わかりやすい解説なので必読である。
また、安定性と言う意味で「アップデート時にトラブルがあった場合の対応」についても書いている。具体的にはアップデート時にトラブルがあった際、システムを巻き戻せるか否かだ。
モジュール性を高めたOSコアのアップデートは、要するにOS抽象化レイヤー以下をそっくり入れ替える操作だ。抽象化レイヤーインターフェースは変わらないので、アップデートが可能なら巻き戻しも可能なはずだ。
この点はパッケージ管理をユーザー側に押しやったImmutable OSの強みと言える。
OSカーネルにユーティリティーツール、果てはそれらのパッケージ管理からデスクトップまでをひっくるめて「ディストリビューション」としたことは、Linuxのユーザーエコシステムの発展に大きく寄与した。一方で、ディストリビューターの負荷は非常に大きくなっている。
Immutable OSは、OSコア、デスクトップ、ユーザー環境(/home以下)を分離することで管理と更新の負荷を下げている。面白い方向だと思う。
当面私はKubuntuを使うしそれで困らないと思う。しかし気が付いたら周りはImmutableOSばかりという時代はそう遠くないかもしれない。