Importar qualquer distribuição do Linux para usar com WSL
você pode usar qualquer distribuição do Linux dentro do Subsistema do Windows para Linux (WSL), mesmo que ele não esteja disponível no Microsoft Store, importando-o com um arquivo tar.
Este artigo mostra como importar a distribuição do Linux, CentOS, para uso com o WSL, obtendo seu arquivo tar usando um contêiner do Docker. Esse processo pode ser aplicado para importar qualquer distribuição do Linux.
Obter um arquivo tar para a distribuição
Primeiro, você precisará obter um arquivo tar que contém todos os binários do Linux para a distribuição.
Você pode obter um arquivo tar de várias maneiras, dois dos quais incluem:
- Baixe um arquivo tar fornecido. Você pode encontrar um exemplo de Alpine na seção "mini-raiz FileSystem" do site de downloads do Alpine Linux .
- Localize um contêiner de distribuição do Linux e exporte uma instância como um arquivo tar. O exemplo a seguir mostrará esse processo usando o contêiner CentOS.
Obtendo um arquivo tar para exemplo de CentOS
Neste exemplo, usaremos o Docker dentro de uma distribuição WSL para obter o arquivo tar para CentOS.
Pré-requisitos
- Você deve ter o WSL habilitado com uma distribuição do Linux instalada executando o WSL 2.
- você deve ter o docker Desktop para Windows instalado com o mecanismo do WSL 2 habilitado e a integração verificada consulte o contrato de licença da área de trabalho do docker para obter atualizações sobre os termos de uso.
Exportar o tar de um contêiner
abra a linha de comando (Bash) para uma distribuição do Linux que você já instalou do Microsoft Store (Ubuntu, neste exemplo).
Inicie o serviço do Docker:
sudo service docker start
Execute o contêiner CentOS dentro do Docker:
docker run -t centos bash ls /
Pegue a ID do contêiner CentOS usando grep e awk:
dockerContainerID=$(docker container ls -a | grep -i centos | awk '{print $1}')
Exporte a ID do contêiner para um arquivo tar em sua unidade c-montada:
docker export $dockerContainerID > /mnt/c/temp/centos.tar
Esse processo exporta o arquivo CentOS tar do contêiner do Docker para que agora possamos importá-lo para uso local com WSL.
Importar o arquivo tar para o WSL
Quando tiver um arquivo tar pronto, você poderá importá-lo usando o comando: wsl --import <Distro> <InstallLocation> <FileName>
.
Importando exemplo de CentOS
Para importar o arquivo tar de distribuição CentOS para o WSL:
Abra o PowerShell e verifique se você tem uma pasta criada onde você gostaria que a distribuição fosse armazenada.
cd C:\temp mkdir E:\wslDistroStorage\CentOS
Use o comando
wsl --import <DistroName> <InstallLocation> <InstallTarFile>
para importar o arquivo tar.wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
Use o comando
wsl -l -v
para verificar quais distribuições você instalou.Por fim, use o comando
wsl -d CentOS
para executar sua distribuição do CentOS Linux recém importada.
Adicionar componentes específicos do WSL como um usuário padrão
Por padrão, ao usar--Import, você sempre será iniciado como o usuário raiz. Você pode configurar sua própria conta de usuário, mas observe que o processo de configuração variará um pouco com base em cada distribuição do Linux diferente.
Para configurar a conta de usuário com a distribuição CentOS que acabamos de importar, abra primeiro o PowerShell e inicialize no CentOS, usando o comando:
wsl -d CentOS
Em seguida, abra a linha de comando do CentOS. Use este comando para instalar as ferramentas de configuração sudo e password no CentOS, criar uma conta de usuário e defini-la como o usuário padrão. Neste exemplo, o nome de usuário será ' caloewen '.
Observação
Você desejará adicionar o nome de usuário ao arquivo sudoers para permitir que o usuário use sudo. O comando adduser -G wheel $myUsername
adiciona o usuário myUsername
ao grupo de roda. Os usuários no grupo de roda recebem privilégios de sudo automaticamente e podem executar tarefas que exigem permissão elevada.
yum update -y && yum install passwd sudo -y
myUsername=caloewen
adduser -G wheel $myUsername
echo -e "[user]\ndefault=$myUsername" >> /etc/wsl.conf
passwd $myUsername
Agora você deve sair dessa instância e garantir que todas as instâncias de WSL sejam encerradas. Inicie sua distribuição novamente para ver seu novo usuário padrão executando este comando no PowerShell:
wsl --terminate CentOS
wsl -d CentOS
Você verá [caloewen@loewen-dev]$
agora como a saída com base neste exemplo.
Para saber mais sobre como definir as configurações de WSL, consulte definir configurações com. wslconfig e WSL. conf.
Usar uma distribuição personalizada do Linux
Você pode criar sua própria distribuição personalizada do Linux, empacotada como um aplicativo UWP, que se comportará exatamente como as distribuições WSL disponíveis no Microsoft Store. Para saber como, consulte criando uma distribuição personalizada do Linux para WSL.