systemd 已可用於 WSL | Linux 中國

語言: CN / TW / HK

微軟的 WSL 現已支援 systemd,為使用者提供了更好的體驗。你可閱讀此文了解更多。

(本文字數:1664,閱讀時長大約:2 分鐘)

WSL( Windows 的 Linux 子系統(Windows Subsystem for Linux) )終於擁有了對 systemd 的支援,這是在 systemd 的建立者加入微軟的幾個月後實現的。

更多 Linux 開發者們加入微軟,systemd 的建立者也加入這一行列

而這已通過微軟和 Cannonical 的合作成為可能。

如果你好奇 systemd 是什麼

systemd 是一套 Linux 系統的基本組成模組。它提供了一個系統和服務管理器,作為 PID 1 執行,並啟動系統的其他部分。

來自:systemd.io

它作為一個初始化系統,啟動並維持使用者空間其他服務的正常執行。

讓我們看看它是如何被引入 WSL 的。

systemd 增強 WSL 的體驗

https://www.zhihu.com/video/1557317180957696000

在 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 吸引更多使用者。

是否對 WSL 支援 systemd 感到興奮?或是你更喜歡無 systemd 的發行版?

via: https:// news.itsfoss.com/system d-wsl/

作者:Sourav Rudra 選題: lkxed 譯者: vvvbbbcz 校對: wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出