CodeGym /Cursos /Docker SELF /Trabajo con Linux en Windows: WSL

Trabajo con Linux en Windows: WSL

Docker SELF
Nivel 1 , Lección 2
Disponible

Trabajo con Linux en Windows: WSL

1. ¿Qué es WSL?

Ahora llegamos a un tema interesante: ¿cómo trabajar con Linux si usas Windows como tu sistema operativo principal? ¡Bienvenido al mundo de WSL!

WSL (Windows Subsystem for Linux) es una tecnología de Microsoft que permite ejecutar distribuciones de Linux directamente en Windows. Existen dos versiones:

  • WSL1: funciona como compatibilidad a nivel de llamadas del sistema entre Windows y Linux. Emula el comportamiento de Linux utilizando el kernel de Windows.
  • WSL2: utiliza un kernel Linux completo a través de una máquina virtual ligera oculta. Esto hace que WSL2 sea más rápido y más compatible con un Linux real.

WSL es como un compromiso entre dos mundos: obtienes herramientas de Linux mientras te quedas en el ecosistema de Windows. Para los desarrolladores, esto es una gran ventaja: puedes programar, probar y configurar servidores usando tus comandos favoritos de Linux.


2. ¿Por qué WSL es tan valioso?

  1. Desarrollo y pruebas: WSL permite a los desarrolladores trabajar en un entorno Linux, evitando la necesidad de reiniciar la computadora o usar máquinas virtuales.
  2. Docker y contenedores: WSL2 soporta Docker, lo cual es especialmente útil para trabajar con contenedores.
  3. Integración de sistemas de archivos: Puedes compartir archivos fácilmente entre Windows y Linux, usando un solo sistema de archivos.
  4. Facilidad de configuración: La instalación de WSL toma literalmente unos pocos minutos.

¿En qué se diferencia WSL de una máquina virtual?

  • No requiere virtualización. No necesitas instalar VirtualBox, VMware o Hyper-V. WSL funciona a nivel del sistema.
  • Menos recursos. WSL utiliza menos memoria RAM y tiempo de procesador que una máquina virtual normal.
  • Integración con Windows. Puedes compartir archivos fácilmente entre Windows y Linux, ejecutar comandos de Linux y Windows juntos (!), así como usar las mismas interfaces de red.

3. Instalación de WSL

1. Verificación de los requisitos del sistema

Antes de comenzar, asegúrate de que tu sistema cumpla con los requisitos mínimos:

  • Windows 10 (versión 2004 y superior) o Windows 11.
  • Virtualización habilitada en el BIOS/UEFI.

Para verificar la versión de Windows, abre PowerShell y ejecuta:

winver

Deberías ver una ventana como esta:

Si no sabes cómo iniciar PowerShell en Windows, pulsa Win+S y escribe powershell.

2. Habilitar WSL

Abre PowerShell como administrador y ejecuta el siguiente comando:

wsl --install

Este comando instalará automáticamente WSL, descargará el núcleo de Linux y configurará WSL2 como la versión predeterminada.

Si por alguna razón el comando no funciona, puedes activar WSL manualmente a través de las características opcionales de Windows:

  1. Abre "Panel de control" → "Programas y características" → "Activar o desactivar características de Windows".
  2. Habilita:
    • Subsistema de Windows para Linux.
    • Plataforma de Máquina Virtual.

Después de esto, reinicia tu computadora.

3. Selección e instalación de la distribución

WSL permite instalar distribuciones populares de Linux, como Ubuntu, Debian, Kali Linux y muchas otras. Para ver la lista de distribuciones disponibles, ejecuta:

wsl --list --online

Verás una lista de distribuciones disponibles:


PS C:\Users\Admin> wsl --list --online
The following is a list of valid distributions that can be installed.
Install using 'wsl.exe --install <Distro>'.

NAME                            FRIENDLY NAME
Ubuntu                          Ubuntu
Debian                          Debian GNU/Linux
kali-linux                      Kali Linux Rolling
Ubuntu-18.04                    Ubuntu 18.04 LTS
Ubuntu-20.04                    Ubuntu 20.04 LTS
Ubuntu-22.04                    Ubuntu 22.04 LTS
Ubuntu-24.04                    Ubuntu 24.04 LTS
OracleLinux_7_9                 Oracle Linux 7.9
OracleLinux_8_7                 Oracle Linux 8.7
OracleLinux_9_1                 Oracle Linux 9.1
openSUSE-Leap-15.6              openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP5    SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6    SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed             openSUSE Tumbleweed

Para instalar, por ejemplo, Ubuntu, ejecuta:

wsl --install -d Ubuntu

Después de la instalación, inicia la distribución para completar la configuración (por ejemplo, asignar un nombre de usuario y contraseña).


3. Configuración de WSL2 por defecto

Para usar WSL2 (y esto se recomienda mucho), asegúrate de que WSL2 esté activado. Configúralo como la versión por defecto:

wsl --set-default-version 2

Si ya instalaste una distribución con WSL1, puedes actualizarla a WSL2:

wsl --set-version <Nombre_Distribución> 2

Ejemplo:

wsl --set-version Ubuntu 2

4. Integración de WSL con Windows

WSL se integra perfectamente con Windows, lo que permite usar las capacidades de ambos sistemas. Aquí están los puntos clave:

1. Intercambio de archivos

WSL monta el sistema de archivos de Windows en el directorio /mnt. Por ejemplo:

cd /mnt/c/Users/TuNombre

Puedes trabajar con archivos de Windows directamente desde Linux. De manera similar, puedes usar archivos de WSL en Windows a través de una ruta como \\wsl$\<Nombre_Distribución> en el explorador de archivos.

2. Uso de comandos de Windows en Linux

Sí, puedes ejecutar comandos de Windows directamente desde WSL. Por ejemplo:

explorer.exe .

Abrirá el directorio actual en el Explorador.

3. Uso de comandos de Linux en PowerShell

WSL permite ejecutar comandos de Linux directamente desde PowerShell. Por ejemplo:

wsl ls

5. Uso de WSL en el desarrollo real

Trabajar con un servidor web

Puedes iniciar un servidor Nginx o Apache en WSL y acceder a él a través del navegador en Windows. Por ejemplo:

1. Instala Nginx en WSL:

   sudo apt update
   sudo apt install nginx

2. Inicia el servidor:

   sudo service nginx start

3. Abre el navegador y ve a la dirección http://localhost.

Instalación de Docker

WSL2 soporta Docker completamente. Instala Docker Desktop en Windows y se integrará automáticamente con WSL2.


6. Comandos útiles de WSL

  • Ver distribuciones instaladas:

    wsl --list --verbose
    

    Muestra todas las distribuciones instaladas, sus versiones y estado.

  • Detener todas las distribuciones:

    wsl --shutdown
    
  • Eliminar una distribución (¡Ten cuidado!):

    wsl --unregister <Nombre_Distrito>
    
  • Abrir WSL en un directorio específico:

    wsl ~/
    

7. Errores típicos y cómo resolverlos

1. Error: "WSL is not enabled"

Si ves el mensaje de que WSL no está habilitado, asegúrate de haberlo activado en el "Panel de Control" o a través de PowerShell. También revisa si tu procesador soporta virtualización (esta debe estar habilitada en el BIOS).

2. El comando wsl --install no funciona

Esto podría deberse a una versión antigua de Windows. Actualiza el sistema operativo a la última versión.

3. Problemas al iniciar Docker

Asegúrate de que tu distribución esté usando WSL2 y no WSL1. Puedes verificarlo con:

wsl --list --verbose

4. No se puede conectar al servidor desde WSL

Asegúrate de que el firewall de Windows no esté bloqueando las conexiones.


8. Tarea práctica

  1. Instala WSL y la distribución de Ubuntu.
  2. Verifica la versión de WSL de tu distribución:
    wsl --list --verbose
    
  3. Crea un archivo de texto test.txt en el directorio /mnt/c/Users/TuNombre/Documents desde WSL:

    echo "¡Hola, WSL!" > /mnt/c/Users/TuNombre/Documents/test.txt
    
  4. Revisa el contenido del archivo desde PowerShell:

    type C:\Users\TuNombre\Documents\test.txt
    
  5. Tarea con estrella: Instala Nginx, arráncalo y abre http://localhost en el navegador.

Entonces, acabas de recorrer todo el camino desde la instalación hasta el uso real de Linux en Windows. Con esta herramienta, puedes configurar fácilmente entornos de trabajo para cualquier tarea de manera rápida y sencilla.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION