WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた
ASCII.jp / 2024年11月24日 10時0分
現在、Windows Subsystem for Linux(WSL)のVer.2.4.4が、プレビュー版として公開中だ。このバージョンから、tar形式によるWSLディストリビューションの配布が開始される。また、ブログなどによれば、RedHat公式のWSLディストリビューションが準備中だという。今回は、このプレビュー版WSLについて解説する。
まず、このバージョンはプレビュー版のため、以下のコマンドを使って、導入する(WSLが導入済みの場合)。
wsl.exe --update --pre-release
アップデート後に「wsl.exe --version」コマンドを使ってバージョンを確認。「WSL バージョン: 2.4.4.0」という表記があれば、アップデートは成功している。
WSL Ver.2.4.4における新機能 tarベースのパッケージによる導入が可能に
WSL Ver.2.4.4には、「WSLにようこそ」ウィンドウが、「Linux用Windowsサブシステム設定」に追加された。
特に何か役に立つものではないが、WSLの新規ユーザーに、WSLの特徴を伝えるのには役立つと思う。もう少し発展させて、PowerToysの「PowerToysへようこそ」のように、リリースノートを兼ねるといいのだが。
もう1つの改良点は、WSLディストリビューションの新しい配布方法である。これを仮に「tarベースのパッケージ」と呼ぶ。従来、WSLディストリビューションは、Appxパッケージを使って、Microsoftストア経由で配布されていた(以後、Appxパッケージと呼ぶ)。
このAppxパッケージには、ストア経由であるためいくつかの問題(制限)があった。
・同じディストリビューションを複数インストールできない ・ディストリビューションの名前を変更できない ・ディストリビューションのインストール先を指定できない
簡単なWindowsのアプリケーションならともかく、システムの土台ともなるLinuxでは、いずれも意外に小さくない問題だった。
一応、wsl.exeが後から搭載したexportコマンドなどを使うことで、上記の問題には対応が可能ではあったが、ドキュメント化されているわけではなく、「裏技」的なものだった。このあたりについては簡単だが、過去に記事にしている(「ストア版WSLをアップデートまたはダウングレードする」)。
exportしたディストリビューションのvhdxイメージを別名でimportすることで、内容が同一だが、WSLとしては異なる実行環境として登録できる。
そもそもWSL2では、専用のLinuxカーネルを、複数のディストリビューションが共有して動作する。ディストリビューションの実行イメージは、ネイティブのファイルシステム形式(ext4)のまま、仮想ハードディスクファイルに保存さる。これを「軽量ユーティリティ仮想マシン」で動くLinuxカーネルが実行する。このため、WSLディストリビューションのファイクシステムには、Linuxカーネルは含まれない。
tarとは、もともとテープデバイスへのバックアップコマンドとして作られたが、現在では、ファイルシステム内のディレクトリ構造を含めたファイルのバックアップコマンドとして使われる。
現在のWSLでも、前述のようにexportオプションでtar形式を指定できる。しかし、tarベースのパッケージでは、tarでアーカイブしたext4ファイルシステムを使う。「WSL配布ファイル」(/etc/wsl-distribution.conf)に、インストール後の最初の起動(Out of box experience)などについて、記述を入れておく必要がある。
このファイルは、ディストリビューション内にあり、アイコンやディストリビューション名などの初期データをLinuxコードで記述することができる。もちろんWSLなので、Win32側の実行ファイルを呼び出すことも可能だ。従来のAppxパッケージと異なるのは、このtarファイル単体でインストールが可能になることだ。
なお、tarベースのパッケージを作るには、ディストリビューション内で、tarコマンドでファイルシステムのアーカイブを作成し、gzipコマンドで圧縮する。ファイルシステムのルートがカレントディレクトリならば、以下のようなコマンドを使う。
tar --numeric-owner --absolute-names -c * | gzip --best > ../install.tar.gz
tarベースのパッケージが導入されたのは、企業内などで、同一の設定をしたディストリビューションを多数配布するといった用途を想定してのことだ。設定を済ませたディストリビューションに、必要なファイル(/etc/wsl-distribution.conf)を配置したtarファイルを作成するだけで、ディストリビューションの配布パッケージを作ることができる。
このとき、ファイル拡張子を「~.wsl」とすることで、エクスプローラーから直接インストールすることが可能になる。
これに合わせて、「wsl.exe --install」や「wsl.exe --list --online」で、参照可能なディストリビューションをレジストリの設定で置き換え、追加する機能が搭載されている。この場合、インストールに必要なtarパッケージと、JSONで記述した「ディストリビューションマニファスト」を同一フォルダに置き、そのURLをレジストリに設定する。
もう1つ、tarベースのパッケージでは、インストール時にWindows Terminalに登録するWindows Terminalプロファイル(JSON)をあらかじめ登録しておくことも可能だ。
Windows Terminalプロファイルは、Windows Terminalがタブやウィンドウを作成するときの情報で、シェルを起動する方法やタブやウィンドウの初期状態を設定する。Windows Terminalのsettings.jsonの中に記述されている。
プロファイルとなるJSONファイルを作成し、そのファイルパスをWSL配布ファイルに記述しておくことで、インストール時に指定したプロファイルを使って、Windows Terminalにプロファイルを登録できる。
このあたりに関しては、以下のページに情報がある。
●WSL用のカスタムLinuxディストリビューションを構築する https://learn.microsoft.com/ja-jp/windows/wsl/build-custom-distro
前バージョンあたりから、WSLの組織内利用の機能が強化されつつある。Linuxに任せられる部分はWSLに任せたいのか、既存の企業内Linuxユーザーの取り込みなのか、目的は不明だが、企業内でのWSLの利用は容易になりつつあるようだ。
この記事に関連するニュース
-
Windows上でhostsファイルを活用する
ASCII.jp / 2024年11月17日 10時0分
-
Linux Foundation、インストラクター主導コース「Linux システム管理」の提供を開始
PR TIMES / 2024年11月13日 11時15分
-
窓辺の小石 第191回 リンクの冒険
マイナビニュース / 2024年11月8日 17時3分
-
Windows Subsystem for Linuxガイド 第41回 WSL GUI設定
マイナビニュース / 2024年11月7日 15時31分
-
「Linux入門」無料のオンライン講座が提供開始 受講時間は約60時間 初心者も一から学べる
ITmedia NEWS / 2024年10月25日 16時13分
ランキング
-
1Microsoftの「リコール」機能、Copilot+ PCでテスト可能に(要Insider)
ITmedia NEWS / 2024年11月24日 8時23分
-
2【最新】Wi-Fiルーターだけはいいものを買え、今ならこれでキマリだ
ASCII.jp / 2024年11月23日 17時0分
-
3ただの古いパイプ椅子だと思ったら…… JR東日本が販売している“鉄道古物”にツッコミ殺到 「この商品が刺さる層いるのか」「嘘ではない」
ねとらぼ / 2024年11月23日 20時40分
-
4「ナスは冷凍してください」 “多くの人が知らない”超簡単な保存術 便利すぎて驚き続出「いつも腐らせてた」「知るのが遅かった」
ねとらぼ / 2024年11月24日 7時0分
-
5みんなが狙っているモデルはこれ! 「スマートウォッチ」ほしいものランキングトップ10&おすすめ Xiaomiの人気シリーズがランキングを席巻!【2024年11月版】
Fav-Log by ITmedia / 2024年11月24日 7時15分
記事ミッション中・・・
記事にリアクションする
記事ミッション中・・・
記事にリアクションする
エラーが発生しました
ページを再読み込みして
ください