Kann ich meine bestehende Ubuntu-Installation in WSL von 16.04 auf 18.04 upgraden?

46

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 nein, wann?

iBug
quelle
Hier kann man lesen " Wir werden uns um 18.04 Unterstützung kümmern, haben aber noch keinen offiziellen Zeitplan. "
sba
@Biswapriyo Bin mir nicht sicher, ob ich es richtig gemacht habe, aber sudo do-release-upgrade -ddann zwingen und apt upgrademit Gewalt geänderte Quellen (xenial → bionic) haben bei mir gut funktioniert. Stellen Sie einfach sicher, dass Sie Dinge wie linux-imageund grub von der WSL entfernen .
iBug
Ubuntu 18.04 im Store erhältlich: microsoft.com/en-us/store/p/ubuntu-1804/9n9tngvndl3q
Biswapriyo

Antworten:

36

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

sudo do-release-upgrade -d

Führen Sie zuerst das Upgrade durch. Wie die Leute in Kommentaren berichtet haben, ist wahrscheinlich alles, was Sie vor dem 18.04 tun müssen, eingerichtet. In einigen Fällen, wie in meinem Fall, werden die meisten Aktionen ausgeführt, während "Fehlgeschlagen" angezeigt wird.

Falls dies als "fehlgeschlagen" /etc/apt/sources.listangezeigt wird , öffnen Sie alle "xenial" und ersetzen Sie sie durch "bionic" sudo apt update && sudo apt -y upgrade. Die meisten Leute sollten zu diesem Zeitpunkt alles erledigen lassen.

In einigen Fällen (aber nicht allen) können APT und Debian Packager während des Vorgangs fehlschlagen. Laut 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.

Lesen Sie mehr: Ein Handbuch zum Aktualisieren der Ubuntu-App-Version - Windows-Befehlszeilentools für Entwickler

iBug
quelle
12
FWIW, möglicherweise wurden die aufgetretenen Probleme im Windows-Update vom 10. April 2018 behoben, aber ich habe sudo do-release-upgrade -des getan und es wurde fehlerfrei auf 18.04 aktualisiert, meine sources.list wurde korrekt festgelegt und es wurden keine grub-pc- oder linux-image * -Pakete installiert . Es hat einwandfrei funktioniert!
Paul
@Paul Sie wurden zuvor installiert und zusammen aktualisiert.
iBug
10
Kann bestätigen, dass gerade sudo do-release-upgrade -djetzt gut funktioniert.
Ben
21

Ja, du kannst!

Es gibt jetzt drei Ubuntu-Varianten im Window Store.

Screenshot aus dem Windows Store mit den drei verfügbaren Ubuntu-Varianten.

  • Ubuntu: Dies wird immer die neueste stabile LTS-Version sein.
  • Ubuntu 18.04 LTS: Für Entwickler, die speziell die 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) installiert haben, bevor 18.04 im Windows Store verfügbar war, können Sie sie mit den folgenden Befehlen aktualisieren:

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

Befolgen Sie alle Anweisungen und beachten Sie alle Warnungen, die Ihnen angezeigt werden. Sie sind normalerweise auf Anpassungen und Bibliotheken oder Repositorys von Drittanbietern zurückzuführen, die Sie selbst hinzugefügt haben.

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

Jeff Guillaume
quelle
2
Sollte sudo apt dist-upgrade, wirklich, oder gehaltene Upgrades verhindern das Release-Upgrade
Chris Browet
8

Es gibt jetzt offiziell 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 momentan drei verschiedene Ubuntu-Versionen im Windows Store.

X.Arthur
quelle
3
Die zwei Installationen, die am Ende eine Versionsnummer haben, sind für Personen gedacht, die eine bestimmte Version verwenden und dabei bleiben möchten. Die Version mit der Bezeichnung "Ubuntu" ist für diejenigen gedacht, die immer die neueste Version ausführen möchten.
DaveTheMinion
Ja, später in einem Blog erfahren.
X.Arthur
1
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.
DaveTheMinion
@DavidB Es sollte aktualisiert werden, wenn MS seine Stabilität getestet hat. Es scheint, dass der aktuelle 18.04 eine Menge Dinge geändert hat, und einige brauchen eine neue Implementierung auf der WSL. Hoffentlich wird dies in der nächsten Windows-Version enthalten sein.
X.Arthur
Bist du dir da sicher? Ich habe ein Upgrade durchgeführt und alles scheint reibungslos zu funktionieren.
DaveTheMinion
2

Haftungsausschluss: Für dieses folgende Verfahren ist eine vorinstallierte GNU / Linux-Distribution in WSL erforderlich (wie bei OP ist Ubuntu 16.04 bereits installiert). Die bereitgestellten Links funktionieren möglicherweise in Zukunft nicht mehr. Falls vorhanden, können Sie unten einen Kommentar abgeben. Es sind nur geringe Kenntnisse über GNU / Linux-Befehlszeilentools, z. B. tar, erforderlich UnsquashFS. Installieren Sie diese Tools, bevor Sie dieses Verfahren ausführen.

  • Installer Executable: Sie benötigen eine ausführbare Datei, die die Funktion WslRegisterDistribution importiert und 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 Download-Ordner 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 tempOrdner und tarkomprimiert alle Dateien in einem .tar.gzFormat. Dann mvbefehle, diese Datei in den vorherigen Download-Ordner zu verschieben. Sie können den tempOrdner mit dem rm -rf ~/tempBefehl löschen .

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