Como habilitar o Systemd no Windows Subsystem for Linux (WSL)

Como habilitar o Systemd no Windows Subsystem for Linux (WSL)

O Windows Subsystem for Linux (WSL) é uma camada de compatibilidade para executar executáveis ​​binários do Linux nativamente em computadores cliente Windows 11/10, bem como em computadores Windows Server 2019 e posteriores. Com o lançamento do WSL 2, mudanças importantes foram feitas, como o kernel Linux real, por meio de um subconjunto de recursos do Hyper-V. Neste post, vamos orientá-lo sobre como habilitar o Systemd no WSL .

O que é systemd?

Systemd é um conjunto de blocos de construção básicos para um sistema Linux. Ele fornece um gerenciador de sistema e serviço que é executado como PID 1 e inicia o restante do sistema. O Systemd é instalado por padrão em várias distribuições conhecidas, incluindo Ubuntu, Debian e outras. Com essa mudança, o WSL se tornará ainda mais comparável à execução de suas distribuições Linux preferidas em máquinas bare-metal e permitirá que você use aplicativos que exigem suporte ao systemd. Alguns exemplos de aplicativos Linux que dependem do systemd são snap, microk8s e systemctl.

De acordo com a Microsoft:

O suporte do Systemd exigiu mudanças na arquitetura WSL. Como o systemd requer o PID 1, o processo init do WSL em execução em uma distribuição Linux se torna um processo filho do systemd. Como o processo de provisionamento do WSL é responsável por fornecer a infraestrutura para comunicação entre os componentes Linux e Windows, alterar essa hierarquia exigiu repensar algumas das suposições feitas durante o processo de provisionamento do WSL. Mudanças adicionais foram necessárias para garantir um desligamento limpo (já que esse desligamento agora é controlado pelo systemd) e para garantir a compatibilidade com o WSLg. Também é importante observar que, com essas alterações, os serviços do systemd NÃO manterão sua instância WSL em funcionamento.

Dado que isso altera o comportamento de inicialização do WSL, queríamos ter cuidado ao aplicar isso às distribuições de WSL já existentes de um usuário. Portanto, atualmente você precisa se registrar para habilitar o systemd para uma distribuição WSL específica e estaremos monitorando o feedback e investigando como tornar esse comportamento o padrão no futuro.

Como habilitar o Systemd no Windows Subsystem for Linux (WSL)

Até agora, no momento da redação deste artigo, a comunidade Windows Subsystem for Linux (WSL) estava procurando maneiras de implementar o systemd. Mas após uma parceria com a Canonical, a Microsoft implementou oficialmente o systemd no WSL. Com o suporte ao systemd disponível no WSL, agora você pode executar o systemd dentro de suas distribuições WSL, permitindo que você faça mais com seus processos de trabalho do Linux em sua máquina Windows.

Para instalar o systemd em sua máquina, você precisará fazer o seguinte:

Certifique-se de estar usando o WSL versão 0.67.6 ou superior.

Se você habilitou o WSL via PowerShell e não o baixou da Microsoft Store em seu dispositivo, você não terá systemd inicialmente. Ele estará disponível apenas para usuários executando o Windows 11 Insider Build ou usando o WSL baixado da Microsoft Store. Se você estiver executando o Ubuntu Preview no WSL, o systemd será adicionado automaticamente. Portanto, para verificar se você tem uma versão compatível do WSL, basta abrir o Windows Terminal e executar o seguinte comando no console do PowerShell:

wsl –version

Com base na saída, se o WSL for 0.67.6 ou anterior, você poderá acessar a Microsoft Store e baixar o WSL. Além disso, os usuários de PC, especialmente se você não for um Windows Insider, podem baixar a versão mais recente do repositório WSL GitHub. O suporte do Systemd será adicionado a todos os usuários no futuro. Para verificar atualizações para WSL, execute o seguinte comando no PowerShell:

wsl –update

Defina o sinalizador systemd nas configurações de distribuição do WSL.

Mostrar status dos serviços do systemd

Depois de ter certeza de que está executando a versão suportada do WSL exigida pelo systemd, você precisará editar o arquivo wsl.conf (um arquivo de configuração encontrado em qualquer distribuição do WSL Linux que permite personalização por distribuição em vez de alterar o configurações gerais WSL) para garantir que o systemd seja iniciado na inicialização. Para concluir esta tarefa, siga estas etapas:

  • Execute o editor com direitos sudo e adicione as seguintes linhas:

[boot]systemd=true

  • Depois disso, salve o arquivo e saia.
  • Agora você pode fechar sua distribuição WSL Windows e executar o seguinte comando no PowerShell para reiniciar suas instâncias WSL.

wsl.exe --shutdown

  • Uma vez iniciado, você deve ter o systemd em execução. Para verificar e mostrar o status dos seus serviços, execute o comando abaixo:

systemctl list-unit-files --type=service

Veja como você pode habilitar o Systemd no Windows Subsystem for Linux (WSL)!

Como inicializo no systemd como init?

Para inicializar no systemd, selecione o item de menu de inicialização que você criou para essa finalidade. Se você não criou uma entrada no menu de inicialização, simplesmente selecione a entrada para o kernel corrigido, edite a linha de comando do kernel diretamente no grub e adicione a seguinte linha: init=/lib/systemd/systemd.

Fonte: Clube do Windows

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *