Microsoft adds ‘systemd’ to the Windows Subsystem for Linux
2022/09/22 BleepingComputer — Microsoft と Canonical は、Windows Subsystem for Linux に systemd のサポートを追加し、より多くの互換アプリをインストールできるようにするために提携した。この systemd は、オペレーティング・システムの起動時にデーモン/サービスを初期化するための、システムおよびサービス・マネージャとして動作する、Linux ソフトウェア・アプリケーションである。また systemd は、これらのサービスを起動後に簡単に管理/制御するためのツールも、Linux 管理者に対してサポートする。

systemd は、他の全てのサービスの起動を担っているため、起動時に Linux カーネルにより作成される最初のプロセス (PID 1) として実行される。Ubuntu の下のプロセスツリーで示されるように、他の全てのスタートアップ・サービスは、その後に systemd により起動/管理される。

Source: BleepingComputer
現時点における WSL では、システムおよびサービス・マネージャとして init を使用しているため、Snap/microk8s (Kubernetes)/systemctl などの、systemd を必要とする Linux アプリケーションは正しく動作しない。

Source: BleepingComputer
WSL が systemd をサポートする
昨日に、Microsoft と Canonical は、Windows 11 Insider builds に含まれるWindows Subsystem for Linux の最新プレビュー版で systemd をサポートし、サービス・マネージャを必要とするアプリケーションのインストールを可能にすると発表した。
Microsoft の Craig Loewen は、「systemd をサポートするには、WSL アーキテクチャの変更が必要だった。systemd は PID 1 を必要とするため、Linux ディストリビューション内で起動する WSL init プロセスは、systemd の子プロセスになる。WSL init プロセスは、Linux と Windows のコンポーネント間で、通信のためのインフラを提供する責任がある。したがって、この階層を変更するには、WSL init プロセスで行われた、いくつかの仮定を再考する必要があった」と説明している。
Windows 11 Insider Build を実行している場合には、wsl –update コマンドを使用して 、WSL 0.67.6 プレビュー版以降にアップグレードすることが可能だ。アップデートが終了したら、以下のようにwsl –version コマンドでインストールされているバージョンを確認できる。

Source: BleepingComputer
続いて、希望する WSL Linux ディストリビューションを起動し、/etc/wsl.conf に以下の行を追加してsystemd を有効化する必要がある。
[boot]
systemd=true
etc フォルダは root が所有するため、ファイルを編集するには sudo と console editor を使用する必要がある。例としては、sudo vi /etc/wsl.conf という具合である。systemd を有効化するディストリビューションごとに、このプロセスを実行する必要があることに注意してほしい。
WSL distro のウィンドウを閉じ、Windows 11 のコマンドライン (Command Prompt または PowerShell) から、wsl.exe –shutdown コマンドを実行して WSL distro をシャットダウンする。
Linux ディストリビューションを再起動すると、systemd が PID 1 として実行されていて、WSL のサービスおよびシステム・マネージャとして実行されていることが確認できる。

Source: BleepingComputer
WSL で systemd が動作する方式や、WSL 実行可能となるアプリケーションの詳細については、Microsoft の Craig Loewen と Canonical の Oliver Smith によるビデオを参照してほしい。
Microsoft と Canonical の、すばらしいチームプレーですね。こうして、OS 間の垣根が低くなることで、その上で実行できるアプリケーションの数が増え、多様なサービスが構築しやすくなります。だた、セキュリティの視点から見ると、それだけ攻撃面積が広がることになりますので、その点だけが心配です。きっと、Microsoft と Canonical が、しっかりと対応してくれるでしょう。

You must be logged in to post a comment.