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.