¿Puedo actualizar mi instalación de Ubuntu existente en WSL de 16.04 a 18.04?

46

Actualmente estoy ejecutando Ubuntu 16.04 en WSL (Windows 10 v1709 o posterior), instalado usando lxrun.

¿Puedo actualizarlo a 18.04?

¿Si es así, cómo? Si no, cuando?

iBug
fuente
Aquí se puede leer " Nos ocuparemos en 18.04 apoyo, pero no tenemos una línea de tiempo oficial todavía. "
SBA
@Biswapriyo No estoy seguro si lo hice apropiadamente, pero sudo do-release-upgrade -dluego forzar una apt upgradefuente con fuerza cambiada (xenial → biónico) funcionó bien para mí. Solo asegúrate de eliminar cosas como linux-imagey grub de WSL.
iBug
Ubuntu 18.04 disponible en la tienda: microsoft.com/en-us/store/p/ubuntu-1804/9n9tngvndl3q
Biswapriyo

Respuestas:

36

Acabo de forzar una actualización desde 16.04 y fue exitosa, aunque el proceso no fue tan bueno.

sudo do-release-upgrade -d

Primero haz la actualización. Como la gente ha informado en los comentarios, es probable que todo lo que necesita hacer antes de 18.04 esté configurado. En algunos casos como el mío, hará la mayoría de las cosas mientras se muestra como "fallido".

En caso de que aparezca como "fallido", abra /etc/apt/sources.listy reemplace todo "xenial" con "biónico", y sudo apt update && sudo apt -y upgrade. La mayoría de las personas deberían tener todo hecho en este punto.

En algunos casos (pero no en todos), APT y Debian Packager pueden fallar durante el proceso. De acuerdo con este hilo de GitHub , debe eliminar grub y kernels, si están presentes:

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

Repita el último comando varias veces ya que dpkg fallará después de eliminar cada paquete. Después de eliminar todas esas imágenes de Linux, obtienes un Bionic Beaver completamente funcional en tu WSL.

Leer más: Una guía para actualizar el lanzamiento de la aplicación Ubuntu - Herramientas de línea de comandos de Windows para desarrolladores

iBug
fuente
12
FWIW, tal vez los problemas que encontró se solucionaron en la actualización de Windows 10 de abril de 2018, pero lo hice sudo do-release-upgrade -dy se actualizó a 18.04 sin errores, configuró correctamente mi sources.list y no se instalaron paquetes grub-pc o linux-image * . ¡Funcionó perfectamente bien!
Paul
@Paul Se instalaron previamente y se actualizaron juntos.
iBug
10
Puede confirmar que sudo do-release-upgrade -dahora funciona bien.
Ben
21

¡Sí tu puedes!

Ahora hay tres variedades de Ubuntu disponibles en la Tienda Windows.

Captura de pantalla de la Tienda Windows que muestra las tres variedades de Ubuntu disponibles.

  • Ubuntu: Esta siempre será la última versión estable de LTS.
  • Ubuntu 18.04 LTS: para desarrolladores que desean específicamente la versión 18.04.
  • Ubuntu 16.04 LTS: para desarrolladores que desean específicamente la versión 16.04.

Si instaló la aplicación "Ubuntu" simple (sin número de versión) antes de que 18.04 estuviera disponible en la Tienda Windows, puede actualizarla con el siguiente conjunto de comandos:

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

Siga todas las indicaciones y preste atención a todas las advertencias que se le presenten. Por lo general, se deben a personalizaciones y bibliotecas o repositorios de terceros que agregó usted mismo.

Fuente oficial: https://blogs.msdn.microsoft.com/commandline/2018/07/09/upgrading-ubuntu/

Jeff Guillaume
fuente
2
Debería haber sudo apt dist-upgrade, realmente, o actualizaciones mantenidas evitarán la actualización de lanzamiento
Chris Browet
8

Ahora hay Ubuntu18.04 oficial en la tienda de Windows, así como Ubuntu16.04.

Aunque no he encontrado ninguna información oficial, ¿cuál es la diferencia entre estos dos y Ubuntu?

Sí, hay tres Ubuntu diferentes en la tienda de Windows en este momento.

X.Arthur
fuente
3
Las dos instalaciones que tienen un número de versión en el extremo están destinadas a personas que desean usar una versión específica y seguirla. La versión que se llama "Ubuntu" es para aquellos que desean ejecutar siempre la última versión.
DaveTheMinion
Sí, luego lo descubrí en algún blog.
X.Arthur
1
Tenía la impresión de que si usabas el "Ubuntu", se actualizaría a la última versión a través de la tienda de aplicaciones, pero aparentemente ese no es el caso.
DaveTheMinion
@DavidB Debería actualizarse cuando MS haya probado su estabilidad. Parece que el actual 18.04 ha cambiado muchas cosas, y algunas necesitan una nueva implementación en WSL. Con suerte, la próxima versión de Windows incluirá esto.
X.Arthur
¿Estas seguro acerca de esto? Actualicé y todo parece estar funcionando sin problemas.
DaveTheMinion
2

Descargo de responsabilidad: Este siguiente procedimiento requiere una distribución GNU / Linux preinstalada en WSL (como OP ya tiene instalado Ubuntu 16.04). Los enlaces proporcionados pueden no funcionar en el futuro. Puede comentar a continuación si corresponde. Requiere poco conocimiento de las herramientas de línea de comandos de GNU / Linux tar, por ejemplo , UnsquashFSetc. Instale estas herramientas antes de seguir este procedimiento.

  • Ejecutable del instalador: necesita un ejecutable que importe la función WslRegisterDistribution que instala la distribución. Hay dos maneras. Puede compilar su propio instalador desde el código fuente ( Link1 ) o extraer el instalador del paquete de Microsoft proporcionó Appx ( Link2 ).

  • Obtenga Ubuntu 18.04: descargue el archivo Ubuntu 18.04 SquashFS . Ahora ejecute Ubuntu antiguo con WSL en esa carpeta de descarga e inicie sesión como rootusuario. Ejecute los siguientes comandos a continuación (solo con el usuario 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 

El cpcomando copia el archivo SquashFS en el directorio de inicio (requerido). UnsquashFSextrae archivos en la tempcarpeta y tarcomprime todos los archivos en un .tar.gzformato. Luego, el mvcomando mueve ese archivo en la carpeta de descarga anterior. Puede eliminar la tempcarpeta con el rm -rf ~/tempcomando.

  • Instalar: coloque el archivo ejecutable y tar.gz en la misma carpeta donde desea instalar. Debe ejecutar un comando ( link1 ) o hacer doble clic en el ejecutable ( link2 ) para instalarlo. Requiere 15-30 segundos para instalar dependiendo de su máquina.
Biswapriyo
fuente
3
También parece haber herramientas como github.com/Biswa96/WSLInstall y github.com/DDoSolitary/LxRunOffline que parece que podrían usarse para la parte de instalación (aunque no lo he probado yo mismo).
phk
Ajaja, el primer enlace de github de mi parte realmente apunta a tu repositorio, así que no importa. ¡Aclamaciones!
phk