Puis-je mettre à niveau mon installation Ubuntu existante dans WSL du 16.04 au 18.04?


46

J'utilise actuellement Ubuntu 16.04 dans WSL (Windows 10 v1709 ou version ultérieure), installé à l'aide de lxrun.

Puis-je le mettre à jour vers 18.04?

Si c'est le cas, comment? Si non, quand?


Ici, on peut lire " Nous allons examiner le support de 18.04 mais nous n'avons pas encore de calendrier officiel. "
sba

@Biswapriyo Je ne sais pas si je l'ai fait correctement, mais sudo do-release-upgrade -dforcer une apt upgradesource avec force changée (xenial → bionique) a bien fonctionné pour moi. Assurez-vous simplement de supprimer des éléments tels que linux-imageet grub de WSL.
iBug

Réponses:


36

J'ai simplement forcé une mise à niveau à partir de 16.04 et cela a réussi, bien que le processus n'ait pas été bien.

sudo do-release-upgrade -d

D'abord faire la mise à niveau. Comme les gens l'ont signalé dans leurs commentaires, il est probable que tout ce que vous avez à faire avant le 18 avril soit complet. Dans quelques cas comme le mien, il fera la plupart des choses tout en affichant le statut "échoué".

/etc/apt/sources.listSi le message "échec" apparaît , ouvrez et remplacez tous les "xenial" par "bionic", et sudo apt update && sudo apt -y upgrade. La plupart des gens devraient avoir tout fait à ce stade.

Dans certains cas (mais pas tous), APT et le gestionnaire de package Debian peuvent échouer au cours du processus. Selon ce fil GitHub , vous devez supprimer les noyaux et les noyaux, le cas échéant:

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

Répétez la dernière commande plusieurs fois car dpkg échouera après la suppression de chaque paquet. Une fois toutes ces images Linux supprimées, vous obtenez un Bionic Beaver entièrement fonctionnel dans votre WSL.

En savoir plus: Guide de mise à niveau de la version de votre application Ubuntu - Outils de ligne de commande Windows pour les développeurs


12
FWIW, les problèmes que vous avez rencontrés ont peut-être été résolus dans la mise à jour de Windows 10 avril 2018, mais je l'ai fait sudo do-release-upgrade -det il est passé à 18.04 sans erreur, il a correctement défini mon sources.list et aucun paquet grub-pc ou linux-image * n'a été installé. . Cela a fonctionné parfaitement bien!
Paul

@Paul Ils ont été installés précédemment et ont été mis à jour ensemble.
iBug

10
Peut confirmer que cela sudo do-release-upgrade -dfonctionne bien maintenant.
Ben

21

Oui, vous pouvez!

Il existe maintenant trois variétés d’Ubuntu disponibles sur le Windows Store.

Capture d'écran du Windows Store montrant les trois variétés d'Ubuntu disponibles.

  • Ubuntu: Ce sera toujours la dernière version stable, LTS.
  • Ubuntu 18.04 LTS: Pour les développeurs qui veulent la version 18.04 spécifiquement.
  • Ubuntu 16.04 LTS: Pour les développeurs qui veulent la version 16.04 spécifiquement.

Si vous avez installé l' application "Ubuntu" en clair (sans numéro de version) avant que 18.04 ne soit disponible sur Windows Store, vous pouvez la mettre à niveau avec le jeu de commandes suivant:

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

Suivez toutes les instructions et tenez compte de tous les avertissements qui vous sont présentés. Elles sont généralement dues à des personnalisations et à des bibliothèques ou des référentiels tiers que vous avez ajoutés vous-même.

Source officielle: https://blogs.msdn.microsoft.com/commandline/2018/07/09/upgrading-ubuntu/


2
Les mises à jour devraient sudo apt dist-upgradeempêcher ou empêcher la mise à jour de la version
Chris Browet

8

Il y a maintenant Ubuntu18.04 officiel dans le Windows Store, ainsi que Ubuntu16.04.

Bien que je n’ai trouvé aucune information officielle, quelle est la différence entre ces deux-là et Ubuntu.

Oui, il y a trois Ubuntu différents dans Windows Store pour le moment.


3
Les deux installations comportant un numéro de version à la fin sont destinées aux personnes qui souhaitent utiliser une version spécifique et s'y tenir. La version qui vient d’être étiquetée "Ubuntu" est destinée à ceux qui veulent toujours utiliser la dernière version.
DaveTheMinion le

Oui, découvert plus tard sur un blog.
X.Arthur

1
J'avais l'impression que si vous utilisiez celui d'Ubuntu, il mettrait à jour la dernière version via l'App Store, mais ce n'est apparemment pas le cas.
DaveTheMinion

@DavidB Il devrait être mis à jour lorsque MS aura testé sa stabilité. Il semble que la version 18.04 actuelle a changé beaucoup de choses, et certaines ont besoin d'une nouvelle implémentation sur WSL. Espérons que la prochaine version de Windows inclura cela.
X.Arthur

Es-tu sûr de ça? J'ai mis à jour et tout semble bien fonctionner.
DaveTheMinion

2

Clause de non-responsabilité: La procédure suivante nécessite des distributions GNU / Linux pré-installées dans WSL (comme dans OP, Ubuntu 16.04 est déjà installé). Les liens fournis risquent de ne plus fonctionner à l'avenir. Vous pouvez commenter ci-dessous le cas échéant. Cela nécessite peu de connaissances des outils de ligne de commande GNU / Linux tar, par exemple , UnsquashFSetc. Installez ces outils avant de suivre cette procédure.

  • Exécutable du programme d'installation: vous avez besoin d'un exécutable qui importe la fonction WslRegisterDistribution qui installe la distribution. Il y a deux façons. Vous pouvez compiler votre propre programme d'installation à partir du code source ( lien1 ) ou extraire le programme d'installation à partir du package Appx fourni par Microsoft ( lien2 ).

  • Obtenez Ubuntu 18.04: Téléchargez le fichier SquashFS Ubuntu 18.04 . Exécutez maintenant le vieil Ubuntu avec WSL dans ce dossier de téléchargement et connectez-vous en tant rootqu'utilisateur. Exécutez les commandes suivantes ci-dessous (uniquement avec l'utilisateur 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 

La cpcommande copie le fichier SquashFS dans le répertoire de base (obligatoire). UnsquashFSextrait les fichiers dans le tempdossier et tarcompresse tous les fichiers dans un .tar.gzformat. Ensuite, la mvcommande déplace ce fichier dans le dossier de téléchargement précédent. Vous pouvez supprimer le tempdossier avec la rm -rf ~/tempcommande.

  • Installer: placez l'exécutable et le fichier tar.gz dans le même dossier que celui où vous souhaitez installer. Vous devez exécuter une commande ( lien1 ) ou double-cliquer sur l'exécutable ( lien2 ) pour l'installer. Il faut 15 à 30 secondes d’installation en fonction de votre machine.

3
Il semble également y avoir des outils tels que github.com/Biswa96/WSLInstall et github.com/DDoSolitary/LxRunOffline qui pourraient être utilisés pour la partie installation (je ne l’ai pas testé moi-même).
phk

Ahaha, le premier lien github de moi comme pointe en fait sur votre référentiel, donc tant pis. À votre santé!
phk
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.