Kann ich meine vorhandene Ubuntu-Installation in der WSL von 16.04 auf 18.04 aktualisieren?

15542
iBug

Ich verwende derzeit Ubuntu 16.04 in WSL (Windows 10 v1709 oder höher), installiert mit lxrun.

Kann ich ein Upgrade auf 18.04 durchführen?

Wenn das so ist, wie? Wenn nicht, wann?

28
[Hier] (https://github.com/Microsoft/WSL/issues/2874) kann man lesen: "* Wir werden 18.04-Support prüfen, haben jedoch noch keine offizielle Zeitleiste. *" sba vor 6 Jahren 0
@Biswapriyo Nicht sicher, ob ich es richtig gemacht habe, aber "sudo do-release-upgrade -d" erzwingt dann ein "passendes Upgrade" mit zwangsweise geänderten Quellen (xenial → bionic). Stellen Sie sicher, dass Sie Dinge wie "linux-image" und "grub" aus der WSL entfernen. iBug vor 6 Jahren 0
Ubuntu 18.04 im Shop erhältlich: https://www.microsoft.com/de-de/store/p/ubuntu-1804/9n9tngvndl3q Biswapriyo vor 6 Jahren 0

4 Antworten auf die Frage

21
iBug

Ich habe gerade ein Upgrade von 16.04 erzwungen und es war erfolgreich, obwohl der Prozess nicht ganz gut war.

sudo do-release-upgrade -d 

Zuerst das Upgrade durchführen. Wie die Leute in Kommentaren berichtet haben, ist es wahrscheinlich alles, was Sie tun müssen, bevor 18.04 alles eingerichtet ist. In einigen Fällen wie meiner werden die meisten Dinge als "fehlgeschlagen" angezeigt.

Falls es als "fehlgeschlagen" /etc/apt/sources.listangezeigt wird, öffnen Sie und ersetzen Sie "xenial" durch "bionic" und sudo apt update && sudo apt -y upgrade. Die meisten Leute sollten an diesem Punkt alles erledigt haben.

In einigen Fällen (aber nicht in allen) können APT und Debian Packager während des Prozesses fehlschlagen. Gemäß diesem GitHub-Thread müssen Sie Grub und Kernel entfernen, falls vorhanden:

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

Wiederholen Sie den letzten Befehl mehrmals, da dpkg nach dem Entfernen aller Pakete fehlschlägt. Nachdem alle diese Linux-Images entfernt wurden, erhalten Sie einen voll funktionsfähigen Bionic Beaver in Ihrer WSL.

Weitere Informationen : Ein Leitfaden zum Aktualisieren der Ubuntu-App - Windows-Befehlszeilentools für Entwickler

FWIW, vielleicht wurden die Probleme, auf die Sie gestoßen sind, mit dem Update für Windows 10 vom April 2018 behoben, aber ich habe `sudo do-release-upgrade -d 'ausgeführt und es wurde ohne Fehler auf 18.04 aktualisiert. Es stellte meine sources.list und kein grub richtig ein -pc- oder linux-image * -Pakete wurden installiert. Es hat perfekt funktioniert! Paul vor 6 Jahren 11
@Paul Sie wurden zuvor installiert und zusammen aktualisiert. iBug vor 6 Jahren 0
Ich kann bestätigen, dass nur "sudo do-release-upgrade -d" jetzt gut funktioniert. Ben vor 6 Jahren 10
Fügen Sie [dieses Handbuch] (https://blogs.msdn.microsoft.com/commandline/2018/07/09/upgrading-ubuntu/) Ihrer Antwort hinzu. Biswapriyo vor 6 Jahren 0
8
X.Arthur

Es gibt jetzt offiziellen Ubuntu18.04 im Windows Store sowie Ubuntu16.04.

Obwohl ich keine offiziellen Informationen gefunden habe, was ist der Unterschied zwischen diesen beiden und dem Ubuntu?

Ja, es gibt im Moment drei verschiedene Ubuntu im Windows Store.

Die beiden Installationen, die am Ende eine Versionsnummer haben, sind für Benutzer gedacht, die eine bestimmte Version verwenden und dabei bleiben möchten. Die Version, die nur als "Ubuntu" bezeichnet wird, ist für diejenigen gedacht, die immer die neueste Version ausführen möchten. DavidB vor 6 Jahren 3
Ja, später in einem Blog herausgefunden. X.Arthur vor 6 Jahren 0
Ich hatte den Eindruck, dass wenn Sie das "Ubuntu" verwenden, es über den App Store auf die neueste Version aktualisiert wird, aber das ist anscheinend nicht der Fall. DavidB vor 6 Jahren 0
@DavidB Es sollte aktualisiert werden, wenn MS seine Stabilität getestet hat. Es scheint, dass der aktuelle 18.04 eine Menge geändert hat und einige benötigen eine neue Implementierung in der WSL. Hoffentlich wird dies in der nächsten Windows-Version enthalten sein. X.Arthur vor 6 Jahren 0
Bist du dir sicher? Ich habe ein Upgrade durchgeführt und alles scheint reibungslos zu funktionieren. DavidB vor 6 Jahren 0
@DavidB https://github.com/Microsoft/WSL/issues/2960 Siehe Diskussion hier und hier https://github.com/Microsoft/WSL/issues/2874. Ich habe auch ein Upgrade durchgeführt und nichts scheint falsch zu sein. Aber ich bin sicher, ich habe gesehen, wie einer der MS-Jungs etwas erwähnt hat, mit dem WSL für 18.04 nicht umgehen kann. Vielleicht nicht zu viel im Zusammenhang mit dem täglichen persönlichen Gebrauch. X.Arthur vor 6 Jahren 0
Ich glaube, ich habe es auch gesehen, aber ich glaube, dass der Beitrag älter war und jetzt nicht mehr aktuell ist. DavidB vor 6 Jahren 0
6
Jeff Guillaume

Ja, du kannst!

Es gibt jetzt drei verschiedene Ubuntu-Varianten im Window Store.

Screenshot from Windows Store showing the three varieties of Ubuntu available.

  • Ubuntu: Dies wird immer die neueste stabile LTS-Version sein.
  • Ubuntu 18.04 LTS: Für Entwickler, die speziell Version 18.04 wollen.
  • Ubuntu 16.04 LTS: Für Entwickler, die speziell Version 16.04 wollen.

Wenn Sie die einfache "Ubuntu" -App (ohne Versionsnummer) vor der Bereitstellung von 18.04 im Windows Store installiert haben, können Sie sie mit den folgenden Befehlen aktualisieren:

sudo apt update -y # makes apt system up-to-date  sudo apt upgrade -y # upgrades Ubuntu 16.04 packages to latest  sudo do-release-upgrade # performs the upgrade to Ubuntu 18.04.1 

Befolgen Sie alle Anweisungen und beachten Sie alle Warnungen, die Ihnen angezeigt werden. Sie sind in der Regel auf Anpassungen und von Ihnen selbst hinzugefügte Bibliotheken oder Repositorys von Drittanbietern zurückzuführen.

Offizielle Quelle: https://blogs.msdn.microsoft.com/commandline/2018/07/09/upgrading-ubuntu/

Sollte 'sudo apt dist-upgrade' wirklich sein, oder gehaltene Upgrades verhindern das Release-Upgrade Koying vor 5 Jahren 0
3
Biswapriyo

Haftungsausschluss: Dieses folgende Verfahren erfordert vorinstallierte GNU / Linux-Distributionen in WSL (wie bei OP ist Ubuntu 16.04 bereits installiert). Die bereitgestellten Links funktionieren möglicherweise nicht mehr in der Zukunft. Sie können unten kommentieren, wenn überhaupt. Es erfordert nur wenig Kenntnisse über GNU / Linux - Kommandozeilen - Tools wie zB tar, UnsquashFSusw. diese Tools installieren, bevor Sie dieses Verfahren.

  • Installer Executable: Sie benötigen eine ausführbare Datei, die die WslRegisterDistribution- Funktion importiert, die die Distribution installiert. Es gibt zwei Möglichkeiten. Sie können Ihr eigenes Installationsprogramm aus dem Quellcode ( link1 ) kompilieren oder das Installationsprogramm aus dem von Microsoft bereitgestellten Appx-Paket ( link2 ) extrahieren .

  • Holen Sie sich Ubuntu 18.04: Laden Sie die Ubuntu 18.04 SquashFS- Datei herunter . Führen Sie nun das alte Ubuntu mit WSL in diesem Downloadordner aus und melden Sie sich als rootBenutzer an. Führen Sie die folgenden Befehle aus (nur mit root-Benutzer):

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  

Der cpBefehl kopiert die SquashFS-Datei in das Ausgangsverzeichnis (erforderlich). UnsquashFSextrahiert Dateien in einem tempOrdner und tarkomprimiert alle Dateien in einem .tar.gzFormat. Dann den mvBefehl zum Verschieben dieser Datei in den vorherigen Download-Ordner. Sie können den tempOrdner mit dem rm -rf ~/tempBefehl löschen .

  • Installation: Legen Sie die ausführbare Datei und die tar.gz-Datei in demselben Ordner ab, in den Sie installieren möchten. Sie müssen einen Befehl ( link1 ) ausführen oder auf die ausführbare Datei ( link2 ) doppelklicken, um sie zu installieren. Die Installation dauert je nach Computer 15 bis 30 Sekunden.
Es scheint auch Tools wie https://github.com/Biswa96/WSLInstall und https://github.com/DDoSolitary/LxRunOffline zu geben, die so aussehen, als könnten sie für den Installationsteil verwendet werden (haben es jedoch nicht selbst getestet). phk vor 6 Jahren 3
Ahaha, der erste Github-Link von mir zeigt tatsächlich auf dein Repository, also vergiss es nicht. Prost! phk vor 6 Jahren 0