7 votes

Mise à niveau de WSL vers Ubuntu Hirsute 21.04 à partir de 20.10

J'ai rencontré cette situation pendant sudo do-release-upgrade :

Reading cache
pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.

Checking package manager
Reading package lists... Done
Building dependency tree
Reading state information... Done
Hit http://security.ubuntu.com/ubuntu groovy-security InRelease
Hit http://archive.ubuntu.com/ubuntu groovy InRelease
Hit http://archive.ubuntu.com/ubuntu groovy-updates InRelease
Hit http://archive.ubuntu.com/ubuntu groovy-backports InRelease
Fetched 0 B in 6s (0 B/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done

Restoring original system state

Aborting
Reading package lists... Done
Building dependency tree
Reading state information... Done
=== Command detached from window (Wed Jul 14 08:30:31 2021) ===
=== Command terminated with exit status 1 (Wed Jul 14 08:30:41 2021) ===

et maintien dans le terminal, aucune autre action.

Comment le réparer et effectuer une mise à niveau complète ?

9voto

furriephillips Points 75

TL;DR : apt purge snapd

Je possède également un système WSL1. L'utilisation de do-release-upgrade pour passer d'ubuntu 20.10 à 21.04 a échoué de la même manière. Je suis tombé sur ce post Reddit qui m'a orienté dans la bonne direction. Apparemment, WSL n'aime pas mettre à jour snapd pour une raison quelconque. Je n'utilise pas snapd, donc je l'ai juste supprimé.

Après avoir supprimé snapd, j'ai toujours vu l'échec de lspci, mais il a mis à jour presque tout correctement. Un seul paquet a échoué : usrmerge, qui a échoué exactement de la même manière que cette question de askubuntu : Both /lib/udev/hwdb.bin and /usr/lib/udev/hwdb.bin exist. La solution consiste à supprimer l'un d'entre eux. J'ai supprimé le plus ancien.

1voto

NotTheDr01ds Points 5135

Il semble que vous utilisiez WSL1, puisque lspci échoue quelque part pendant la mise à jour. /proc Le soutien est beaucoup plus limité sous WSL1 que sous WSL2.

Si c'est le cas, essayez de convertir l'instance en WSL2 avant d'exécuter l'opération suivante do-release-upgrade .

  • Tout d'abord, confirmez le nom de la distribution, si vous ne le connaissez pas déjà, avec wsl -l -v .
  • Assurez-vous que l'instance ne fonctionne pas via wsl --terminate <distroname> . Confirmez qu'il s'arrête après quelques minutes avec wsl -l -v encore.
  • Sauvegarder l'instance en utilisant wsl --export <distroname> <filename.tar>
  • Changez la version WSL de l'instance avec wsl --set-version <distroname> 2

Essayez votre sudo do-release-upgrade encore là. Vous pouvez toujours revenir à la version WSL1 une fois cette opération terminée.

N'oubliez pas que, contrairement aux versions LTS, la 21.04 n'est pas nécessairement testée par Canonical avec WSL (et il y a encore moins de chances qu'ils aient testé WSL1). Gardez donc une sauvegarde de la 20.04 pour revenir en arrière, au cas où.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X