微軟 Windows 11/10 Linux 子系統 WSL 現已支持 Systemd,消息稱后者的開發者被挖來了
9 月 22 日消息,微軟發布了 Windows 11/10 的 Linux 子系統新預覽版,版本號為 0.67.6,該版本帶來了一些重磅功能。微軟宣布從該版本開始,WSL 已支持 systemd。
systemd 是一款初始化系統工具,許多流行的 Linux 發行版默認運行 systemd,例如 Ubuntu、Debian 等,由 Lennart Poettering 帶頭開發。其開發目標是提供更優秀的框架以表示系統服務間的依賴關系,并依此實現系統初始化時服務的并行啟動,同時達到降低 Shell 的系統開銷的效果,最終代替現在常用的 System V 與 BSD 風格 init 程序。
一些依賴 systemd 支持的應用示例包括 snap,它是一個包管理器,用于在 Ubuntu 中安裝和管理軟件。有了這個,用戶就可以使用 snap install 等命令輕松安裝應用。還有 microk8s,它可以讓用戶在本地機器上快速運行 Kubernetes。
微軟表示,支持 systemd 需要對 WSL 架構進行更改。由于 systemd 需要 PID 1,因此在 Linux 發行版中啟動的 WSL init 進程將成為 systemd 的子進程。由于 WSL init 進程負責為 Linux 和 Windows 組件之間的通信提供基礎設施,因此更改此層次結構需要重新考慮使用 WSL init 進程所做的一些假設。
同樣需要注意的是,修改之后,systemd 服務將不會讓用戶的 WSL 實例保持活動狀態。除非正在運行后臺任務,否則關閉 Linux 控制臺將終止用戶會話。
用戶需要編輯 wsl.conf 文件以確保 systemd 在引導時啟動,將以下內容添加到 /etc/ wsl.conf,注意要使用 sudo 管理員權限:
[boot]
systemd=true
今年 7 月份有消息稱,systemd 的開發者 Lennart Poettering 已經離開紅帽加入了微軟,并繼續專注于 systemd 開發。可能今天的成果就是 Lennart Poettering 加盟后帶來的。