Posso aggiornare la mia installazione di Ubuntu esistente in WSL dal 16.04 al 18.04?


46

Attualmente sto eseguendo Ubuntu 16.04 in WSL (Windows 10 v1709 o successivo), installato usando lxrun.

Posso aggiornarlo a 18.04?

Se é cosi, come? In caso contrario, quando?


Qui si può leggere " Vedremo il supporto per 18.04 ma non abbiamo ancora un calendario ufficiale " .
sba

@Biswapriyo Non sono sicuro di averlo fatto in modo appropriato, ma sudo do-release-upgrade -dpoi forzare una apt upgradeforza con fonti cambiate (xeniale → bionico) ha funzionato bene per me. Assicurati di rimuovere cose come linux-imagee grub da WSL.
iBug,

Risposte:


36

Ho appena forzato un aggiornamento dalla 16.04 e ha avuto successo, anche se il processo non è andato tutto bene.

sudo do-release-upgrade -d

Prima fai l'aggiornamento. Come le persone hanno segnalato nei commenti, è probabile che tutto ciò che devi fare prima del 18.04 sia impostato. In alcuni casi come il mio, farà la maggior parte delle cose mostrandosi come "fallito".

Nel caso in cui venga visualizzato come "non riuscito", aprire /etc/apt/sources.liste sostituire tutto "xenial" con "bionic" e sudo apt update && sudo apt -y upgrade. La maggior parte delle persone dovrebbe fare tutto a questo punto.

In alcuni casi (ma non tutti), APT e Debian Packager potrebbero non riuscire durante il processo. Secondo questo thread GitHub , è necessario rimuovere grub e kernel, se presenti:

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

Ripeti l'ultimo comando più volte poiché dpkg fallirà dopo aver rimosso tutti i pacchetti. Dopo aver rimosso tutte quelle immagini di Linux, otterrai un Bionic Beaver perfettamente funzionante nel tuo WSL.

Per saperne di più: una guida per aggiornare la versione della tua app Ubuntu - Strumenti da riga di comando di Windows per sviluppatori


12
FWIW, forse i problemi che hai riscontrato sono stati risolti nell'aggiornamento di Windows 10 aprile 2018, ma l'ho fatto sudo do-release-upgrade -de si è aggiornato a 18.04 senza errori, ha impostato correttamente il mio sources.list e non sono stati installati pacchetti grub-pc o linux-image * . Ha funzionato perfettamente!
Paolo,

@Paul Sono stati installati in precedenza e sono stati aggiornati insieme.
iBug

10
Posso confermare che sudo do-release-upgrade -dora funziona bene.
Ben

21

Si, puoi!

Ora ci sono tre varietà di Ubuntu disponibili sul Window Store.

Screenshot da Windows Store che mostra le tre varietà di Ubuntu disponibili.

  • Ubuntu: questa sarà sempre l'ultima versione stabile LTS.
  • Ubuntu 18.04 LTS: per gli sviluppatori che desiderano specificamente la versione 18.04.
  • Ubuntu 16.04 LTS: per gli sviluppatori che desiderano specificamente la versione 16.04.

Se hai installato la semplice app "Ubuntu" (senza numero di versione) prima che 18.04 fosse resa disponibile su Windows Store, puoi aggiornarla con il seguente set di comandi:

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

Segui tutte le istruzioni e fai attenzione a tutti gli avvisi che ti vengono presentati. Di solito sono dovuti a personalizzazioni e librerie o repository di terze parti aggiunti dall'utente.

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


2
Gli sudo apt dist-upgradeaggiornamenti dovrebbero essere , davvero, o trattenuti impediranno l'aggiornamento del rilascio
Chris Browet il

8

Ora c'è Ubuntu18.04 ufficiale nel negozio di Windows, così come Ubuntu16.04.

Anche se non ho trovato alcuna informazione ufficiale, qual è la differenza tra questi due e Ubuntu.

Sì, ci sono tre diversi Ubuntu in Windows Store al momento.


3
Le due installazioni che hanno un numero di versione alla fine sono pensate per le persone che vogliono usare una versione specifica e attenersi ad essa. La versione che è appena etichettata "Ubuntu" è per coloro che vogliono eseguire sempre l'ultima versione.
DaveTheMinion,

Sì, più tardi scoperto su alcuni blog.
X.Arthur,

1
Avevo l'impressione che se avessi usato "Ubuntu", si sarebbe aggiornato all'ultima versione tramite l'app store, ma a quanto pare non è così.
DaveTheMinion,

@DavidB Dovrebbe essere aggiornato quando MS ha testato la sua stabilità. Sembra che l'attuale 18.04 abbia cambiato molte cose, e alcuni hanno bisogno di una nuova implementazione su WSL. Eventualmente, la prossima versione di Windows includerà questo.
X. Arthur

Sei sicuro di questo? Ho aggiornato e tutto sembra funzionare senza problemi.
DaveTheMinion,

2

Dichiarazione di non responsabilità: questa procedura seguente richiede una distribuzione GNU / Linux preinstallata in WSL (come OP ha già installato Ubuntu 16.04). I collegamenti forniti potrebbero non funzionare in futuro. Puoi commentare qui sotto se ce ne sono. Richiede poca conoscenza degli strumenti della riga di comando GNU / Linux tar, ad es . UnsquashFSEcc. Installare questi strumenti prima di seguire questa procedura.

  • Programma di installazione eseguibile: è necessaria una funzione di importazione WslRegisterDistribution eseguibile che installa la distribuzione. Ci sono due modi. Puoi compilare il tuo programma di installazione dal codice sorgente ( link1 ) o estrarre il programma di installazione dal pacchetto Appx fornito da Microsoft ( link2 ).

  • Ottieni Ubuntu 18.04: scarica il file Ubuntu 18.04 SquashFS . Ora esegui Ubuntu precedente con WSL nella cartella di download e accedi come rootutente. Esegui i seguenti comandi di seguito (solo con l'utente 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 

Il cpcomando copia il file SquashFS nella home directory (richiesto). UnsquashFSestrae i file nella tempcartella e tarcomprime tutti i file in un .tar.gzformato. Quindi mvcomando sposta quel file nella cartella di download precedente. È possibile eliminare la tempcartella con il rm -rf ~/tempcomando.

  • Installa: posiziona il file eseguibile e il file tar.gz nella stessa cartella in cui desideri installare. Devi eseguire un comando ( link1 ) o fare doppio clic sul file eseguibile ( link2 ) per installare. Richiede 15-30 secondi per l'installazione a seconda del computer.

3
Sembrano esserci anche strumenti come github.com/Biswa96/WSLInstall e github.com/DDoSolitary/LxRunOffline che potrebbero essere usati per la parte di installazione (ma non l'ho provato io stesso).
phk,

Ahaha, il primo link github da me in realtà indica il tuo repository, quindi non importa. Saluti!
phk,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.