Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission.

Windows Subsystem for Linux, eller WSL, er en fantastisk måde for udviklere, der skal køre Linux og Windows, til at gøre det uden at skulle konfigurere en virtuel maskine eller dual boot.

En stor ny funktion er muligheden for at køre systemd på WSL, hvilket er nyttigt for webudviklere, der opsætter testmiljøer lokalt. Sådan aktiverer og bruger du det.

Hvorfor installere systemd på WSL?

WSL-tjenester kører som standard den ældre System V init-tjeneste, og tjenester startes med servicekommandoen. I september 2022, Microsoft tilføjet muligheden for at bruge systemd til at administrere tjenester. De fleste større Linux-distributioner er allerede ændret til systemd.

På trods af kontroversen er det i virkelig brug meget nemmere at start og stop tjenester med systemd. Det er også nemmere at følge med andre Linux-tutorials, da du ikke behøver at ændre kommandoer så meget.

instagram viewer

Et lokalt LAMP-testmiljø vil være tættere på en standard Linux-server, så din app bliver nemmere at fejlfinde.

Sådan aktiverer du systemd på WSL

For at aktivere systemd skal du køre den rigtige version af WSL. systemd kræver WSL version 0.67.6 eller nyere. Du kan tjekke versionsnummeret ved at åbne PowerShell og skrive:

wsl --version

Hvis du har en ældre version installeret og ønsker at bruge systemd, kan du opdatere WSL ved hjælp af:

wsl --opdatering

Nu bliver du nødt til at konfigurere systemd i enhver distro, du har installeret med WSL. Processen er den samme på enhver WSL-distro, uanset om det er Ubuntu, Debian, Fedora eller noget andet.

Du skal blot redigere /etc/wsl.conf fil i dit system som root og tilføj disse linjer:

[støvle]
systemd=rigtigt

Hvis filen wsl.conf ikke eksisterer, skal du ikke bekymre dig og fortsætte med at oprette den selv. Disse linjer vil fungere uanset.

Gem filen, og nu bliver du nødt til at genstarte alle kørende WSL-distros. For at gøre dette skal du åbne et PowerShell-vindue og skrive denne kommando:

wsl --lukke ned

Åbn en anden terminal, og du vil være i stand til at administrere tjenester med systemd på WSL.

Start og stop af WSL-tjenester med systemd

Du kan nu bruge systemctl at starte og stoppe tjenester i WSL.

Antag, at du brugte Apache til at køre en lokal webserver for at teste en webapp, du var ved at udvikle.

Du ville starte Apache sådan her:

sudosystemctlStartapache2.service

Hvis du ønskede, at den skulle starte automatisk, ville du aktivere den ved at bruge:

sudo systemctl aktivere apache2.service

Og deaktiver det med:

sudosystemctlhold opapache2.service

Nu kan du køre systemd på WSL

Med de seneste opdateringer til WSL kan du nu aktivere systemd og starte og stoppe tjenester, efterhånden som du har brug for dem. Dette gør WSL til et godt miljø til at udvikle webapplikationer, da du kan teste dem, som om du brugte en hvilken som helst anden standard Linux-maskine.

Det er også ekstremt nemt at installere en LAMP-server (Linux, Apache, MySQL, PHP) på Windows Subsystem til Linux.