Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A Windows Subsystem for Linux (WSL) mostantól támogatja a systemd, egy init rendszer és szolgáltatáskezelő használatát, amelyet számos népszerű Linux-disztribúció, például az Ubuntu, a Debian stb. használ. (Mi a rendszerezett?).
Az inicializálási rendszer alapértelmezése nemrég megváltozott a SystemV-ről, és most már az alapértelmezett Ubuntu verziója, amely az alapértelmezett wsl --install paranccsal lesz telepítve. Az Ubuntu jelenlegi verziójától eltérő Linux-disztribúciók továbbra is használhatják a WSL initet, hasonlóan a SystemV inithez. A systemd-re való váltáshoz lásd a következő részt: Hogyan lehet engedélyezni a systemd-t.
Mi a Rendszer a Linuxban?
Szerint systemd.io: "A systemd egy csomag az alapvető építőelemekből egy Linux rendszer számára. Olyan rendszer- és szolgáltatáskezelőt biztosít, amely PID 1 néven fut, és elindítja a rendszer többi részét."
A systemd elsősorban init rendszer- és szolgáltatáskezelő, olyan funkciókkal rendelkezik, mint a démonok igény szerinti indítása, a csatlakoztatási és automatikus csatlakoztatási pontok karbantartása, a pillanatképek támogatása és a Folyamatok nyomon követése Linux-vezérlőcsoportok használatával.
A legtöbb fő Linux-disztribúció már rendszerezetten fut, így a WSL-en való engedélyezése még közelebb hozza a felhasználói élményt a operációs rendszer nélküli Linux használatához. Tekintse meg az alábbiakban a videobejelentést a systemd demókkal vagy a systemd használatára vonatkozó példákat, hogy többet megtudjon arról, mit kínál a systemd.
Hogyan lehet engedélyezni a systemd-t?
A Systemd mostantól az alapértelmezett az Ubuntu jelenlegi verziójához, amely az alapértelmezett wsl --install paranccsal lesz telepítve.
A systemd engedélyezése a WSL 2-n futó egyéb Linux disztribúciók számára (ami módosítja az alapértelmezett beállítást a systemv init használatáról):
Győződjön meg arról, hogy a WSL-verzió a 0.67.6-os vagy újabb:
- az ellenőrzéshez futtassa a
wsl --version; ha a parancsInvalid command line option: --versionhibát jelez, frissítenie kell a WSL-t; - A frissítéshez futtassa a
wsl --updatevagy a , vagy töltse le a legújabb verziót a Microsoft Store-ból.
- az ellenőrzéshez futtassa a
Nyisson meg egy parancssort a Linux-disztribúcióhoz, és írja be a
cd /a gyökérkönyvtár eléréséhez, majdlsa fájlok listázásához. Megjelenik egy "etc" nevű könyvtár, amely tartalmazza a terjesztési WSL-konfigurációs fájlt. Nyissa meg ezt a fájlt, hogy frissítést végezzen a Nano szövegszerkesztővel a következő parancs beírásával:nano /etc/wsl.conf.Adja hozzá ezeket a sorokat a most megnyitott
wsl.conffájlhoz az init rendszer systemd-re cseréléséhez:[boot] systemd=true
rendszeren való engedélyezéseLépjen ki a Nano szövegszerkesztőből (Ctrl + X, írja be az Y billentyűt a módosítás mentéséhez, és erősítse meg a
enterkulccsal).Ezután be kell zárnia a Linux-disztribúciót. A PowerShellben a
wsl.exe --shutdownparancs használatával újraindíthatja az összes WSL-példányt.A Linux-disztribúció újraindítása után a rendszer fut. A
systemctl statusparanccsal ellenőrizheti a állapotot futtató és asystemctl list-unit-files --type=serviceparancsot, amely megjeleníti a Linux-disztribúcióhoz társított szolgáltatások állapotát.
Ha az Ön Linux-disztribúciója Debian/Ubuntu/Kali Rolling, akkor nemcsak a systemd csomagot kellene telepítenie, hanem a systemd-sysv csomagot is.
sudo apt-get update -y && sudo apt-get install systemd systemd-sysv -y
További információ a Speciális beállítások konfigurációjáról a WSL-ben, beleértve a wsl.conf (disztribúcióspecifikus) és a .wslconfig (globális) konfigurációs fájlok közötti különbséget, az automount beállítások frissítését stb.
Systemd bemutató videó
A Microsoft a Canonicalnel együttműködve rendszerszintű támogatást nyújtott a WSL-nek. Lásd Craig Loewen-t (a Microsoft WSL programmenedzserét) és Oliver Smith-t (a Canonical Ubuntu-WLS programmenedzserét), amint bejelentik a systemd támogatást, és bemutatnak néhány példát arra, mit tesz ez lehetővé.
Oliver ezen bemutatókon alapuló oktatóanyagait az Ubuntu blog - tartalmazza a "Use snap to create a Nextcloud instance in minutes on WSL", a "Manage your web projects with LXD" (Webes projektek kezelése LXD-vel) és "Run a .Net Echo Bot as a systemd service on Ubuntu WSL"
Rendszerezett példák
Olyan Linux-alkalmazásokra vonatkozó néhány példa, amelyek rendszerfüggők a systemd-re:
snap: a Canonical által a Linux kernelt és a systemd init rendszert használó operációs rendszerekhez kifejlesztett szoftvercsomagoló és üzembehelyezési rendszer. A csomagokat "snaps"-nak hívják, a snaps-ok létrehozásához használt parancssori eszköz neve "Snapcraft", a központi adattár, ahol a snaps-ok letölthetők/telepíthetők, "Snap Store"-ként ismert, és a snaps-ok futtatásához szükséges démon (amely az áruházból való letöltést, helyükre történő csatlakoztatást, korlátozást és az alkalmazások futtatását végzi) "snapd" néven ismert. Az egész rendszert "snappy"-nak is nevezik. Futtassa a következő parancsot:
snap install spotify.microk8s: nyílt forráskódú, alacsony üzemű, minimális üzemi Kubernetes, amely automatizálja a tárolóalapú alkalmazások üzembe helyezését, méretezését és felügyeletét. Kövesse az utasításokat a MicroK8s WSL2 telepítéséhez, tekintse meg az Első lépések útmutatót, vagy nézze meg a videót a Kubernetes használatáról Windows-on a MicroK8s és WSL 2 segítségével.
systemctl: egy parancssori segédprogram, amely a rendszerezett rendszerek vezérlésére és vizsgálatára, valamint a Linux-disztribúció szolgáltatásaival való interakcióra szolgál. Próbálja ki a következő parancsot:
systemctl list-units --type=service, hogy mely szolgáltatások érhetők el, és milyen állapotban vannak.
Néhány kapcsolódó oktatóanyag, amely bemutatja, hogyan használhatjuk a systemd különböző módokon:
Systemd ismertetése és használata
Systemd Alapjai: A szolgáltatásokkal, egységekkel és a naplóval való munka
Hogyan sandboxoljuk a folyamatokat systemd használatával Ubuntu 20.04-en
Hogyan befolyásolja a systemd engedélyezése a WSL-architektúrát?
A WSL-architektúra rendszerszintű támogatásának engedélyezése szükséges módosításokat igényel. Mivel a rendszer a PID 1-et igényli, a Linux-disztribúción belül elindított WSL init folyamat a rendszerezett gyermekfolyamatává válik. Mivel a WSL init-folyamat felelős a Linux és a Windows-összetevők közötti kommunikáció infrastruktúrájának biztosításáért, a hierarchia megváltoztatásához újra kellett gondolni a WSL init-folyamat néhány feltételezését. További módosításokat kellett tenni a tiszta leállítás biztosítása érdekében (mivel a leállítást a rendszer most szabályozza), és hogy kompatibilis legyen WSLg, a Linux grafikus felhasználói felületeket (GUI-kat) futtató WSL összetevőjével vagy a parancssor helyett a Windowsban megjelenő Linux-alkalmazásokkal.
Azt is fontos megjegyezni, hogy ezekkel a módosításokkal a systemd szolgáltatások NEM fogják működésben tartani a WSL-példányt. A WSL-példány életben marad ugyanúgy, mint a frissítés előtti állapotában, amelyről többet olvashat a 2017-es háttérfeladat-támogatásról szóló blogbejegyzésben.
Windows Subsystem for Linux