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 3.1からWindows 7までの起動音コレクション、Xで公開/NVIDIAアプリでゲームパフォーマンスが低下する不具合 回避策あり
ITmedia PC USER / 2024年12月22日 6時5分
-
クライアント運用管理ソフトウェア「SKYSEA Client View Ver.20.1」を発売しました
PR TIMES / 2024年12月16日 17時15分
-
iPhoneでSafariのブックマークを書き出すには
マイナビニュース / 2024年12月14日 17時2分
-
「AMD Radeon Software Adrenalin 24.12.1」公開 - Windows Subsystem for Linux(WSL 2)正式対応
マイナビニュース / 2024年12月6日 13時6分
-
チェック・ポイント・リサーチ、人気のゲームエンジン「Godot」の悪用で、17,000台以上のデバイスへのマルウェア感染を確認
PR TIMES / 2024年12月5日 13時45分
ランキング
-
1任天堂、2024年12月27日から「Nintendo Switch 新春セール」を開催!名作の数々のダウンロード版がセール価格に
Game*Spark / 2024年12月26日 11時0分
-
2バターを室温に戻す簡単な方法を伝授!老舗洋菓子店主がXで紹介
おたくま経済新聞 / 2024年12月26日 9時0分
-
32024年ベストバイは「Apple Vision Pro」 2つの新体験に満足も、「アプリ」と「重量」は改善してほしい
ITmedia Mobile / 2024年12月26日 10時30分
-
4「言葉が出ない」 TDL「スペース・マウンテン」現在の状態は…… 変わり果てた“衝撃的な姿”が423万表示
ねとらぼ / 2024年12月26日 8時20分
-
5「死ぬほど食べてたやつ」 東京ディズニーランド、6年ぶりに人気フード復活 「やったー!」「本当においしい」歓喜の声あふれる
ねとらぼ / 2024年12月26日 16時20分
記事ミッション中・・・
記事にリアクションする
記事ミッション中・・・
記事にリアクションする
エラーが発生しました
ページを再読み込みして
ください