Linux Daily Topics

2019年2月6日OSを"インストール"ではなく"デプロイ"する ―マルチブート環境を簡単に実現するデプロイツール「znx」

仮想化ソフトウェアやコンテナが普及したとはいえ、現在でも1台のマシン/ストレージに複数のOS(バージョン)をインストールする、いわゆるマルチブート環境でネイティブに切り替えて使いたいというニーズは少なくない。マルチブート環境を構成する方法はいくつか存在するが、すでにインストール済みのOSが1つのディスクをまるごと使用している場合は、既存のパーティションをシュリンクし、新しいOSのrootパーティションを新たに確保/作成しなければならないなど、やや面倒な作業が必要となる。

そうしたマルチブートにおける煩雑さを解消するために、UbuntuベースのLinuxディストリビューション「Nitrux」の開発チームが作るデプロイツール「znx」がある。znxは通常のインストーラと異なり、⁠ESP」「Data」の2つのパーティションをストレージ上に構築し、Dataパーティション上に複数のLinuxディストリビューションのISOイメージを、1つのファイルのようにデプロイする。ユーザはESPに書き込まれたブートローダー(GRUB2)から、起動したいOSを選択するだけでいい。OSのアップデートや削除、またはストレージを工場出荷状態に戻すことも容易だ。なお、ユーザが作成したデータやアプリケーション環境はすべてDataパーティション上にストアされる。

Nitrux
Nitrux/znx -GitHub

znxは、Linux 3.18からメインラインに実装されたファイルシステム「OverlayFS」をベースにしており、ISOファイルをアップデートする際には差分アップデートを可能にするZsyncを活用している。したがってUbuntuベース以外のLinuxディストリビューションでも、そのディストロのISOイメージがOverlayFSに最適化された状態であればデプロイが可能となる。

NitruxはUbuntuをベースにしているが、UbuntuやDebianで使われているパッケージマネージャ「dpkg」「APT」ではなく、アプリケーションが本当の意味で"Write Once, Run Anywhere"を実現できるパッケージングを目指し、⁠AppImage」というフォーマットを開発している。znxもこのAppImageと同じコンセプトで開発されており、ユーザ側に負荷を強いることなく、簡単にOSを選択できるようにすることをゴールとしている。アプリケーションだけでなく、より低レイヤのインフラもまた、インストールからデプロイする時代へと大きくシフトしはじめているようだ。

おすすめ記事

記事・ニュース一覧