O Windows Subsystem for Linux, ou WSL, é uma ótima maneira para desenvolvedores que precisam executar Linux e Windows fazerem isso sem precisar configurar uma máquina virtual ou inicialização dupla.
Um novo recurso importante é a capacidade de executar o systemd no WSL, que é útil para desenvolvedores da Web que configuram ambientes de teste localmente. Veja porquê ativá-lo e usá-lo.
Por que instalar o systemd no WSL?
Os serviços WSL por padrão executam o serviço init do System V mais idoso e os serviços são iniciados com o comando service. Em setembro de 2022, a Microsoft adicionou a opção de usar o systemd para gerenciar serviços. A maioria das principais distribuições Linux já mudou para systemd.
Apesar da controvérsia, em uso real, é muito mais simples iniciar e parar serviços com o systemd. Também é mais fácil seguir outros tutoriais do Linux, pois você não precisa modificar tanto os comandos.
Um envolvente de teste LAMP sítio estará mais próximo de um servidor Linux padrão, para que seu aplicativo seja mais fácil de depurar.
Porquê ativar o systemd no WSL
Para habilitar o systemd, você deve executar a versão correta do WSL. systemd requer WSL versão 0.67.6 ou superior. Você pode verificar o número da versão abrindo o PowerShell e digitando:
wsl
Se você tiver uma versão mais antiga instalada e desejar usar o systemd, poderá atualizar o WSL usando:
wsl
Agora você terá que configurar o systemd em qualquer distro que você instalou com o WSL. O processo é o mesmo em qualquer distribuição WSL, seja Ubuntu, Debian, Fedora ou qualquer outra coisa.
Basta editar o /etc/wsl.conf registo em seu sistema porquê root e adicione estas linhas:
[boot]
systemd=true
Se o registo wsl.conf não subsistir, não se preocupe e prossiga criando-o você mesmo. Essas linhas funcionarão independentemente.
Salve o registo e agora você terá que reiniciar qualquer distribuição WSL em realização. Para fazer isso, abra uma janela do PowerShell e digite oriente comando:
wsl
Abra outro terminal e você poderá gerenciar serviços com systemd no WSL.
Iniciando e parando serviços WSL com systemd
Agora você pode usar systemctl para iniciar e parar serviços no WSL.
Suponha que você estivesse usando o Apache para executar um servidor Web sítio para testar um aplicativo Web que estava desenvolvendo.
Você iniciaria o Apache assim:
sudo systemctl start apache2.service
Se você quisesse que ele iniciasse involuntariamente, você o habilitaria usando:
sudo systemctl enable apache2.service
E desative-o com:
sudo systemctl stop apache2.service
Agora você pode executar o systemd no WSL
Com as atualizações mais recentes do WSL, agora você pode habilitar o systemd e iniciar e interromper serviços conforme necessário. Isso torna o WSL um bom envolvente para o desenvolvimento de aplicativos da Web, pois você pode testá-los porquê se estivesse usando qualquer outra máquina Linux padrão.
Também é extremamente fácil instalar um servidor LAMP (Linux, Apache, MySQL, PHP) no Windows Subsystem for Linux.