Linux 的 Windows 子系統(tǒng) WSL 現(xiàn)在帶來期待已久的支持
適用于 Linux 的 Windows 子系統(tǒng) (WSL) 是一個(gè)兼容層,它允許 Linux 二進(jìn)制可執(zhí)行文件在 Windows 上本地運(yùn)行。這是一項(xiàng) Windows 功能,可讓您與常規(guī) Windows 桌面和程序一起運(yùn)行 Linux。
近年來,WSL 因其簡單性和靈活性而越來越受歡迎,減少了 Windows 用戶運(yùn)行整個(gè) Linux 虛擬機(jī)來測試某些功能的需要。
但是,由于缺少任何現(xiàn)代 Linux 系統(tǒng)(例如 systemd)的一些關(guān)鍵組件,WSL 并沒有提供功能齊全的 Linux 體驗(yàn)。幸運(yùn)的是,這塊拼圖終于到位了。
不管是否巧合,這個(gè)改變游戲規(guī)則的功能是在 systemd 的創(chuàng)建者和領(lǐng)先的開發(fā)人員Lennart Poettering 離開紅帽加入微軟兩個(gè)多月后推出的。
適用于 Windows 的 Linux 子系統(tǒng)上的 Systemd
WSL 中 systemd 的存在將系統(tǒng)提升到了一個(gè)全新的水平,開辟了許多可能性。例如,您可以在 WSL 系統(tǒng)中安裝 LEMP 服務(wù)器并快速輕松地開發(fā) Web 應(yīng)用程序。
此外,如果您使用Ubuntu,您現(xiàn)在可以利用 Snap 包管理器的功能。由于依賴于 systemd 的可用性,這在以前是不可能的。
此外,我們可以繼續(xù)說現(xiàn)在可以安裝MicroK8s以允許您運(yùn)行 Kubernetes 集群。因此,如前所述,這一新功能極大地?cái)U(kuò)展了可能性。
當(dāng)然,并非所有 Linux 發(fā)行版都使用 systemd,但大多數(shù)現(xiàn)代發(fā)行版,包括 Debian、Ubuntu、Arch Linux、Fedora、openSUSE 等,都采用并依賴它。
因此,現(xiàn)在讓我向您展示如何使用 systemd 支持功能更新 Windows PC 上的 WSL 服務(wù)。
如何向 WSL 添加 Systemd 支持?
Microsoft 最新發(fā)布的適用于 Linux 的 Windows 子系統(tǒng)版本 0.67.6 為 WSL 添加了 systemd 支持。因此,要獲得此功能,您必須首先升級您的 WSL 版本。
檢查當(dāng)前使用的 WSL 版本的一種簡單方法是運(yùn)行:
wsl --version
請記住,如果該命令失敗,則您使用的是 Windows 內(nèi)版本的 WSL,并且必須升級到 Store 版本。
然后,使用以下命令將您的 WSL 實(shí)例更新到最新版本。
wsl --update
??
??
WSL 可能會通知您沒有可用的新版本。如果是這種情況,請按照以下說明手動(dòng)升級 WSL 版本。
轉(zhuǎn)到GitHub 項(xiàng)目頁面并導(dǎo)航到發(fā)布部分以下載最新版本。目前是預(yù)發(fā)布的0.67.6 (Microsoft.WSL_0.67.6.0_x64_ARM64.msixbundle)。
下載文件后,您可以繼續(xù)安裝。但首先,您必須停止 WSL 服務(wù)。否則,安裝將失敗。
因此,打開服務(wù)管理控制臺,突出顯示“Windows Subsystem for Linux Preview”服務(wù),然后從右鍵單擊上下文菜單中選擇“停止”。
最后,使用管理權(quán)限打開 Windows Power Shell 控制臺(右鍵單擊,然后“以管理員身份運(yùn)行”)并執(zhí)行:
Add-AppxPackage "C:\Users\bobby\Downloads\Microsoft.WSL_0.67.6.0_x64_ARM64.msixbundle"
當(dāng)然,將實(shí)際文件路徑替換為您系統(tǒng)的正確路徑。安裝完成后,啟動(dòng)“Windows Subsystem for Linux Preview”服務(wù)。
在 WSL 發(fā)行版中啟用 Systemd 支持
到目前為止,一切都很好。您的 WSL 服務(wù)現(xiàn)在具有 systemd 支持。但是,請務(wù)必記住,這不會自動(dòng)向您的 Linux 實(shí)例添加一個(gè)。
換句話說,為每個(gè) Linux 發(fā)行版單獨(dú)手動(dòng)啟用它。幸運(yùn)的是,這很容易。
在發(fā)行版內(nèi)部,使用您喜歡的文本編輯器打開 ??/etc?
? 目錄中的 ??wsl.conf?
?文件。如果該文件不可用,只需創(chuàng)建一個(gè)新文件。
sudo nano /etc/wsl.conf
粘貼以下內(nèi)容,然后保存文件并退出。
[boot]
systemd=true
最后,關(guān)閉您的 WSL 發(fā)行版窗口,然后在 Power Shell 控制臺中,鍵入以下命令以重新啟動(dòng)您的 WSL 實(shí)例:
wsl --shutdown
就這樣。您的WSL 發(fā)行版現(xiàn)在應(yīng)該具有 systemd 支持。啟動(dòng)發(fā)行版,并從其Shell 運(yùn)行以下命令以測試此功能。結(jié)果應(yīng)該看起來像屏幕截圖中的那個(gè)。
我們希望我們能有所幫助。