Linux Daily Topics

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

この記事を読むのに必要な時間:およそ 0.5 分

仮想化ソフトウェアやコンテナが普及したとはいえ,現在でも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を選択できるようにすることをゴールとしている。アプリケーションだけでなく,より低レイヤのインフラもまた,インストールからデプロイする時代へと大きくシフトしはじめているようだ。

著者プロフィール

階戸アキラ(かいとあきら)

起きてからまず海外ニュースサイトのハシゴをしないと1日を始められない海外ニュースウォッチャー。英語は英検準一級の資格を持ち,日本人と話すより英語圏の人のほうがウマが合う。