Posso atualizar minha instalação existente do Ubuntu na WSL de 16.04 para 18.04?


46

Atualmente, estou executando o Ubuntu 16.04 no WSL (Windows 10 v1709 ou posterior), instalado usando lxrun.

Posso atualizá-lo para 18.04?

Se sim, como? Se não, quando?


Aqui pode-se ler " Nós estaremos olhando para 18,04 apoio, mas não tem um cronograma oficial ainda. "
— sba

@Biswapriyo Não tenho certeza se o fiz adequadamente, mas sudo do-release-upgrade -dforçar uma apt upgradefonte com força alterada (xenial → biônica) funcionou bem para mim. Apenas certifique-se de remover coisas como linux-imagee grub da WSL.
— IBug 27/04

Respostas:


36

Acabei de forçar uma atualização a partir do 16.04 e ela foi bem-sucedida, embora o processo não tenha sido bom.

sudo do-release-upgrade -d

Primeiro faça a atualização. Como as pessoas relataram nos comentários, é provável que tudo o que você precisa fazer antes da 18.04 esteja configurado. Em alguns casos como o meu, ele fará a maioria das coisas enquanto estiver "falhado".

Caso apareça como "falhou", abra /etc/apt/sources.liste substitua todos os "xenial" por "biônico" e sudo apt update && sudo apt -y upgrade. A maioria das pessoas deve ter feito tudo neste momento.

Em alguns casos (mas não todos), o APT e o Debian Packager podem falhar durante o processo. De acordo com este segmento do GitHub , você precisa remover o grub e os kernels, se houver:

sudo apt -f purge grub-pc
sudo apt -f purge linux-image*

Repita o último comando várias vezes, pois o dpkg falhará após remover todos os pacotes. Depois que todas essas imagens do Linux são removidas, você obtém um Bionic Beaver totalmente funcional na sua WSL.

Leia mais: Um guia para atualizar a versão do aplicativo Ubuntu - Ferramentas de linha de comando do Windows para desenvolvedores


12
FWIW, talvez os problemas que você encontrou foram corrigidos na atualização do Windows 10 de abril de 2018, mas eu o fiz sudo do-release-upgrade -de atualizei para 18.04 sem erros, ele definiu corretamente meu sources.list e nenhum pacote grub-pc ou linux-image * foi instalado . Funcionou perfeitamente bem!
— Paulo

@Paul Eles foram instalados anteriormente e atualizados juntos.
— iBug

10
Pode confirmar que agora sudo do-release-upgrade -dfunciona muito bem.
— Ben

21

Sim você pode!

Agora existem três variedades do Ubuntu disponíveis na Windows Store.

Captura de tela da Windows Store mostrando as três variedades do Ubuntu disponíveis.

  • Ubuntu: Essa sempre será a última versão estável e LTS.
  • Ubuntu 18.04 LTS: Para desenvolvedores que desejam a versão 18.04 especificamente.
  • Ubuntu 16.04 LTS: Para desenvolvedores que desejam a versão 16.04 especificamente.

Se você instalou o simples app "Ubuntu" (sem número da versão) antes de 18.04 foi disponibilizado na Windows Store, você pode atualizá-lo com o seguinte conjunto de comandos:

sudo apt update -y         # makes apt system up-to-date 
sudo apt dist-upgrade -y   # upgrades Ubuntu 16.04 packages to latest

sudo do-release-upgrade    # performs the upgrade to Ubuntu 18.04

Siga todas as instruções e preste atenção a todos os avisos que lhe são apresentados. Eles geralmente ocorrem devido a personalizações e bibliotecas ou repositórios de terceiros que você adicionou.

Fonte oficial: https://blogs.msdn.microsoft.com/commandline/2018/07/09/upgrading-ubuntu/


2
Deve ser sudo apt dist-upgrade, atualizações realmente, ou mantidos irá impedir o upgrade liberação
— Chris Browet

8

Agora existe o Ubuntu18.04 oficial na Windows Store, assim como o Ubuntu16.04.

Embora eu não tenha encontrado nenhuma informação oficial, qual é a diferença entre esses dois e o Ubuntu.

Sim, existem três Ubuntu diferentes na Windows Store no momento.


3
As duas instalações que possuem um número de versão no final destinam-se a pessoas que desejam usar uma versão específica e ficar com ela. A versão que acabou de rotular "Ubuntu" é para quem deseja sempre executar a versão mais recente.
— DaveTheMinion

Sim, mais tarde descobri em algum blog.
— precisa saber é o seguinte

1
Fiquei com a impressão de que, se você estivesse usando o "Ubuntu", ele seria atualizado para a versão mais recente na App Store, mas aparentemente esse não é o caso.
— DaveTheMinion

@ DavidDB Deve ser atualizado quando a MS testar sua estabilidade. Parece que o atual 18.04 mudou muitas coisas, e alguns precisam de nova implementação na WSL. Felizmente, a próxima versão do Windows incluirá isso.
— usar o seguinte código

Você tem certeza disso? Eu atualizei e tudo parece estar funcionando sem problemas.
— DaveTheMinion

2

Isenção de responsabilidade: Este procedimento a seguir requer distribuições GNU / Linux pré-instaladas no WSL (como o OP, o Ubuntu 16.04 já está instalado). Os links fornecidos podem não funcionar no futuro. Você pode comentar abaixo, se houver. Requer pouco conhecimento das ferramentas de linha de comando GNU / Linux tar, por exemplo , UnsquashFSetc. Instale essas ferramentas antes de seguir este procedimento.

  • Executável do instalador: você precisa de uma função WslRegisterDistribution de importação executável que instale a distribuição. Existem duas maneiras. Você pode compilar seu próprio instalador a partir do código-fonte ( link1 ) ou extrair o instalador do pacote Appx fornecido pela Microsoft ( link2 ).

  • Baixe o Ubuntu 18.04: Faça o download do arquivo SquashFS do Ubuntu 18.04 . Agora execute o Ubuntu antigo com o WSL nessa pasta de download e faça o login como rootusuário. Execute os seguintes comandos abaixo (apenas com o usuário root):

cp ./ubuntu-18.04-server-cloudimg-amd64.squashfs ~ 
cd ~ 
unsquashfs -d temp ubuntu-18.04-server-cloudimg-amd64.squashfs 
cd temp 
tar -czf ../Ubuntu.tar.gz --hard-dereference * 
cd .. 
mv Ubuntu.tar.gz /mnt/c 

O cpcomando copia o arquivo SquashFS no diretório inicial (obrigatório). UnsquashFSextrai arquivos na temppasta e tarcompacta todos os arquivos em um .tar.gzformato. Em seguida, mvcomando mova esse arquivo na pasta de download anterior. Você pode excluir a temppasta com o rm -rf ~/tempcomando

  • Instalação: Coloque os arquivos executável e tar.gz na mesma pasta em que deseja instalar. Você deve executar um comando ( link1 ) ou clicar duas vezes no executável ( link2 ) para instalar. Requer instalação de 15 a 30 segundos, dependendo da sua máquina.

3
Também parece haver ferramentas como github.com/Biswa96/WSLInstall e github.com/DDoSolitary/LxRunOffline que podem ser usadas para a parte da instalação (ainda não a testei).
— Php 28/04

Ahaha, o primeiro link do github de mim como na verdade aponta para o seu repositório, então deixa pra lá. Felicidades!
— Php 28/04/19
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.