Microsoft heeft de release aangekondigd van een laag voor het uitvoeren van Linux-applicaties op Windows - WSL 1.0.0 (Windows Subsystem for Linux), dat is gemarkeerd als de eerste stabiele release van het project. Tegelijkertijd zijn de WSL-pakketten, die via de Microsoft Store worden geleverd, niet langer als experimentele versie aangemerkt.
De commando's 'wsl --install' en 'wsl --update' zijn standaard ingesteld om de Microsoft Store te gebruiken voor de installatie en updates van WSL, wat heeft geleid tot een significante versnelling van de levering van updates in vergelijking met verspreiding als een ingebouwde Windows-component. Voor het terugzetten naar het oude installatie-schema biedt de wsl-tool de optie '--inbox'. Bovendien biedt de Microsoft Store ondersteuning voor builds voor Windows 10, waardoor gebruikers van dit platform toegang hebben tot innovaties in WSL, zoals het uitvoeren van grafische Linux-applicaties en ondersteuning van de systeemmanager systemd.
De bijgewerkte wsl.exe-tool, die standaard is ingesteld op downloaden vanuit de Microsoft Store, is opgenomen in de novemberupdates voor Windows 10 en 11 '22H2', die voorlopig alleen na handmatige controle kunnen worden geïnstalleerd (Windows Instellingen -> 'Controleren op updates') en automatisch zullen worden toegepast medio december. Als alternatief voor de installatie kunnen ook msi-pakketten worden gebruikt, die op GitHub zijn geplaatst.
Om de uitvoering van Linux-executable bestanden in WSL mogelijk te maken, in plaats van de oorspronkelijk gebruikte emulator die systeemoproepen van Linux naar systeemoproepen van Windows vertaalde, wordt een omgeving geboden met een volledig Linux-kernel. De voor WSL aangeboden kernel is gebaseerd op de release van kernel Linux 5.10, die is uitgebreid met WSL-specifieke patches, waaronder optimalisaties voor het verkorten van de opstarttijd van de kernel, het verminderen van het geheugengebruik, het teruggeven van door Linux-processen vrijgegeven geheugen aan Windows, en het minimaliseren van de set vereiste stuurprogramma’s en subsysteem in de kernel.
De kernel draait in een Windows-omgeving met behulp van een virtuele machine die al in Azure wordt gebruikt. De WSL-omgeving draait in een aparte schijfafbeelding (VHD) met een ext4-bestandssysteem en een virtuele netwerkadapter. De componenten van de gebruikersruimte worden afzonderlijk geïnstalleerd en zijn gebaseerd op builds van verschillende distributies. Bijvoorbeeld, voor installatie in WSL zijn in de Microsoft Store builds van Ubuntu, Debian GNU/Linux, Kali Linux, Fedora, Alpine, SUSE en openSUSE beschikbaar.
In versie 1.0 zijn ongeveer 100 fouten opgelost en zijn er verschillende vernieuwingen doorgevoerd:
- Er is een optionele mogelijkheid geïntroduceerd om de systeembeheerder systemd te gebruiken in Linux-omgevingen. De ondersteuning voor systemd verlaagt de vereisten voor distributies en brengt de omgeving die in WSL wordt aangeboden dichter bij de situatie waarin distributies op gewone hardware worden uitgevoerd. Voorheen moesten distributies die in WSL werkten gebruikmaken van de door Microsoft aangeboden initialisatiehandler, die onder PID 1 draait en de infrastructuur instelt om de interactie tussen Linux en Windows te regelen.
- Voor Windows 10 is de mogelijkheid geïmplementeerd om grafische Linux-applicaties te starten (voorheen was de grafische ondersteuning alleen beschikbaar in Windows 11).
- Aan het commando ‘wsl —install’ is de optie ‘—no-launch’ toegevoegd om het opstarten van de distributie na installatie uit te schakelen.
- Aan de commando’s ‘wsl —update’ en ‘wsl —install’ is de optie ‘—web-download’ toegevoegd om componenten te downloaden via GitHub, in plaats van de Microsoft Store.
- Aan het commando ‘wsl —mount’ zijn de opties ‘—vhd’ voor het inladen van VHD-bestanden en ‘—name’ voor het toekennen van een naam aan het montagpunt toegevoegd.
- Aan de commando’s ‘wsl —import’ en ‘wsl —export’ is het commando ‘—vhd’ toegevoegd voor het importeren of exporteren in VHD-formaat.
- Het commando ‘wsl —import-in-place’ is toegevoegd voor het registreren en gebruiken van een bestaande .vhdx-bestand als distributie.
- Het commando ‘wsl —version’ is toegevoegd voor het weergeven van het versienummer.
- De foutafhandeling is verbeterd.
- Componenten ter ondersteuning van grafische applicaties (WSLg) en de Linux-kernel zijn geïntegreerd in één pakket, dat geen aanvullende MSI-bestanden vereist.
Kort na de lancering is een update WSL 1.0.1 uitgegeven (voorlopig in de status Pre-release), waarin een vastloper van het proces wslservice.exe bij het starten van een nieuwe sessie is verholpen, het bestand met de unix-socket /tmp/.X11-unix is in de leesmodus gezet en de foutafhandlers zijn verbeterd.
Bron: opennet.ru
