Skip to content

Instantly share code, notes, and snippets.

@WillianTomaz
Last active July 3, 2024 05:37
Show Gist options
  • Save WillianTomaz/8621ce6c113a544faf5a1d5a1d54c9ef to your computer and use it in GitHub Desktop.
Save WillianTomaz/8621ce6c113a544faf5a1d5a1d54c9ef to your computer and use it in GitHub Desktop.
Instruções do WSL (Instalação, Backup e Restauração)

Instruções para Instalação, Backup e Restauração do WSL 2

  • Observação:

    • Sempre buscar pela documentação oficial, este documento é um tutorial
      que pode não te atender conforme tenha novas atualizações do processo de instalação.
    • As referências estão no final do documento.
  • Foi utilizado:

    • Windows 10
    • WSL 2
    • Distro Ubuntu 20.04.2 LTS



Instalação WSL

1 - Executar no Powershell (como administrador)

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

2 - Fazer o Download da sua distro na loja da Microsoft...


3 - Transformando as distros para WSL 2:




Backup do WSL

  • Lembrete: Mover seu bkp em uma pasta de fácil acesso, como exemplo para a pasta: /Downloads do seu Windows

Executar passos abaixo no Powershell (como administrador)

# Listando as distros (para pegar o nome dela):
wsl --list

# Para fazer o Backup:
# wsl --export <distro> <filename.tar>
wsl --export Ubuntu C:\Users\seu-usuario\Downloads\bkpUbuntuWSL.tar

Restauração do WSL

  • Lembrete: Mover seu bkp em uma pasta de fácil acesso, como exemplo para a pasta: /Downloads do seu Windows

1 - Executar passos abaixo no Powershell (como administrador)

# Restauração do WSL a partir do Backup (pegando da pasta '/Downloads')
# Voltando para raiz "C:\"
cd /

# wsl --import <distro> <install location> <filename> 
wsl --import Ubuntu  C:\Users\seu-usuario\ubuntu  C:\Users\seu-usuario\Downloads\bkpUbuntuWSL.tar

2 - Após fazer a Restauração (Passos dentro do WSL):

  • Pode acontecer de vir com o usuário default da distro (root), para alterar para seu usuario siga abaixo:
# Dentro da distro WSL execute:
sudo editor /etc/wsl.conf

# Adicione o seguinte conteúdo dentro desse '/etc/wsl.conf' (username => seu-usuario):
[user]
default=username



Anotações WSL

Se caso WSL ficar com a fonte toda branca (sem o estilos das cores):

  • Verificar se seu ~/.bash_profile tem essas linhas para iniciar o ~/.bashrc:
    if [[ -f ~/.bashrc ]] ; then
      . ~/.bashrc
    fi
    
    # REFERÊNCIAS: https://github.com/microsoft/WSL/issues/2067#issuecomment-299622057
    • Ou você pode aplicar novamente o ~/.bashrc:
    # Dentro da distro WSL execute:
    source ~/.bashrc

Se caso o WSL não conseguir fazer pip3 install --upgrade pip e ocorrer o erro:

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at ...>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /packages/.../...any.whl

  • Verificar seu /etc/resolv.conf, pois pode ser problemas de DNS. Faça um teste e adicione o DNS do google 8.8.8.8
    Seguindo a alteração, o seu resolv.conf ficaria dessa forma:
    # This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
    # [network]
    # generateResolvConf = false
    # nameserver <anterior>
    nameserver 8.8.8.8
    
    # REFERÊNCIAS: https://stackoverflow.com/questions/52815784/python-pip-raising-newconnectionerror-while-installing-libraries

Para apagar uma distro WSL:

  • Se você precisar apagar uma distro (Dentro do Powershell):
    # Dentro do Powershell execute:
    wsl --unregister <distro name>

Para matar(desligar) processos do WSL:

  • Se caso for preciso matar o processo do WSL esse comando é muito útil (Dentro do Powershell):
    # Dentro do Powershell (Abrir como Administrador) execute:
    wsl --shutdown

Se ao rodar o docker/docker-compose e aparecer a mensagem:

dockerpycreds.errors.InitializationError: docker-credential-desktop.exe not installed or not available in PATH

  • Será preciso remover o arquivo de configuração do docker config.json
    # Dentro do WSL execute:
    rm ~/.docker/config.json



REFERÊNCIAS

@celorissi
Copy link

Muito bom material Willian, obrigado por compartilhar.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment