微軟的 wsl 現已支持 systemd,為用戶提供了更好的體驗。你可閱讀此文了解更多。
WSL(Windows 的 Linux 子系統Windows Subsystem for Linux)終于擁有了對 systemd 的支持,這是在 systemd 的創建者加入微軟的幾個月後實現的。
更多 Linux 開發者們加入微軟,systemd 的創建者也加入這一行列
而這已通過微軟和 Cannonical 的合作成為可能。
如果你好奇 systemd 是什麼:
systemd 是一套 Linux 系統的基本組成模塊。它提供了一個系統和服務管理器,作為 PID 1 運行,并啟動系統的其他部分。
來自:systemd.io
它作為一個初始化系統,啟動并維持用戶空間其他服務的正常運行。
讓我們看看它是如何被引入 WSL 的。
systemd 增強 WSL 的體驗
在 WSL 中引入 systemd,主要是為改善 Windows 機器上的 Linux 工作流程。
像 Debian、Ubuntu、Fedora 等,都是默認運行 systemd 的。因此,這項整合将使這些發行版的用戶更方便地在 WSL 上做更多工作。
很多關鍵的 Linux 程序也是靠 systemd 實現的。例如 snap、microk8s 和 LXD 都依賴它。
即使我們有 不含 systemd 的發行版可用,它們也并不适合所有人。因此,在 WSL 上添加對 systemd 的支持是很有意義的。
systemd 的存在也使得在 Windows 中使用更多工具來測試和運行成為可能,從而帶來更好的 WSL 體驗。
它是如何實現的
WSL 背後的團隊必須修改其架構,它們讓 WSL 的初始化進程在 Linux 發行版中以 systemd 的一個子進程啟動。
正如其 官方公告所述,這樣做使得 WSL 初始化程序能夠為 Windows 和 Linux 子系統之間的通訊提供必要的基礎。
它們還做了額外的修改,通過防止 systemd 保持 WSL 實例的活動以确保系統的幹淨關機。
你亦可訪問他們的 官方文檔以了解更多。
在 WSL 上使用 systemd
現有的 WSL 用戶必須在他們的系統上手動啟用 systemd,以防止由于 systemd 的引入而導緻的啟動問題。
首先,你必須确保你的系統運行的是 0.67.6或更高版本的 WSL。
你可以通過以下命令檢查你的 WSL 版本。
wsl --version
如果你正在運行舊版本,你可以通過 微軟應用商店Microsoft Store 或者以下命令更新它。
wsl --update
此外,如果你不是 Windows 預覽體驗成員Windows Insider,你可以到 WSL 發行頁面下載它來體驗。
為了讓 systemd 在你的系統上運行,你需要修改 wsl.conf這個文件以确保 systemd 在啟動時運行。
在
wsl.conf
添加以下幾行以使 WSL 在啟動時運行 systemd
[boot] systemd=true
最後,重啟你的 WSL 實例以見證更改。
随着對 systemd 的支持,微軟在 WSL 的發展又前進了一大步,這将使得 WSL 吸引更多用戶。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!