Windows Subsystem for Linux (WSL) permite ejecutar entornos GNU/Linux nativos en Windows, incluyendo herramientas de línea de comandos, utilidades y aplicaciones, sin la sobrecarga de máquinas virtuales tradicionales o configuraciones de arranque dual.
- Requisitos de versión de Windows
Para habilitar WSL2, el sistema Windows debe cumplir con requisitos específicos de versión. Se requiere Windows 10, con consideraciones para arquitecturas de CPU:
- Para sistemas x64: versión 1903 o superior, con compilación 18362 o posterior.
- Para sistemas ARM64: versión 2004 o superior, con compilación 19041 o posterior.
- Versiones inferiores a 18362 no soportan WSL 2. Se recomienda usar el Asistente de actualización de Windows para actualizar.
Adicionalmente, para Windows 10 versiones 1903 o 1909, el número de compilación secundario debe ser superior a .1049 (por ejemplo, 18362.1049+ o 18363.1049+).
Para verificar la veersión actual, presione Win + R, escriba winver y ejecute.
- Activar características de máquina virtual y subsistema Linux
Inicie PowerShell como administrador (haga clic derecho en el menú Inicio y seleccione la opción correspondiente). Ejecute los siguientes comandos para habilitar el subsistema Linux:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Luego, active la plataforma de máquina virtual:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Alternativamente, estas funciones se pueden habilitar a través de la interfaz gráfica: Configuración > Aplicaciones > Programas y características > Activar o desactivar características de Windows.
Reinicie el sistema Windows después de ejecutar estos comandos para que los cambios surtan efecto.
- Enstalación del paquete de actualización del kernel de Linux
Antes de proceder, asegúrese de haber habilitado las características mencionadas y reiniciado Windows. Descargue e instale el paquete de actualización del kernel desde el siguiente enlace (para sistemas x64):
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
Para arquitecturas ARM64, utilice el enlace correspondiente proporcionado por Microsoft.
- Configurar WSL2 como versión predeterminada
Abra PowerShell como administrador y establezca WSL2 como la versión por defecto con el siguiente comando:
wsl --set-default-version 2
Si no se producen errores durante estos pasos, el entorno WSL2 estará listo.
- Instalación de un sistema Linux
Una vez configurado WSL2, instale una distribución Linux desde Microsoft Store. Busque "Ubuntu" y seleccione la versión deseada (por ejemplo, Ubuntu 18.04). Descargue e inicie la instalación.
Al primer inicio, Ubuntu realizará un proceso de inicialización que tomará algunos minutos. Siga las instrucciones para crear una cuenta de usuario dentro del subsistema.
- Ajuste de repositorios de paquetes
Para mejorar la velocidad de descarga en regiones con acceso limitado a servidores internacionales, se recomienda cambiar los repositorios a fuentes locales, como los espejos de Tsinghua University.
Acceda a la configuración de repositorios editando el archivo de fuentes:
cd /etc/apt/
mv sources.list sources.list.backup
sudo vim sources.list
En el editor, pegue la configuración del espejo adecuada para su versión de Ubuntu, obtenida de sitios como https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/. Guarde los cambios y actualice los índices:
sudo apt-get update
- Instalación de Docker
La instalación de Docker en Ubuntu se simplifica mediante un script automatizado. Ejecute el siguiente comando para descargar e instalar Docker:
curl -fsSL https://get.docker.com | sudo sh
Este proceso puede tardar entre 10 y 20 minutos. Al finalizar, siga las instrucciones adicionales que se muestren, como agregar su usuario al grupo docker para evitar el uso de sudo en cada comando.
- Ejecución de un contenedor Docker
Para verificar la instalación, inicie el servicio Docker y ejecute un contenedor de ejemplo:
sudo systemctl start docker
docker run --rm hello-world
Si todo está configurado correctamente, el contenedor ejecutará y mostrará un mensaje de confirmación.