Compartir vía


Importación de cualquier distribución de Linux que se va a usar con WSL

Puede usar cualquier distribución de Linux dentro del Subsistema de Windows para Linux (WSL), incluso si no está disponible en Microsoft Store, importándolo con un archivo tar.

En este artículo se muestra cómo importar la distribución de Linux, CentOS, para su uso con WSL mediante la obtención de su archivo tar mediante un contenedor de Docker. Este proceso se puede aplicar para importar cualquier distribución de Linux.

Obtención de un archivo tar para la distribución

En primer lugar, deberá obtener un archivo tar que contenga todos los archivos binarios de Linux para la distribución.

Puede obtener un archivo tar de varias maneras, dos de las cuales incluyen:

  • Descargue un archivo tar proporcionado. Puede encontrar un ejemplo de Alpine en la sección "Mini Root Filesystem" del sitio de descargas de Alpine Linux .
  • Busque un contenedor de distribución de Linux y exporte una instancia como un archivo tar. En el ejemplo siguiente se mostrará este proceso mediante el contenedor CentOS.

Obtención de un archivo tar para el ejemplo de CentOS

En este ejemplo, usaremos Docker dentro de una distribución de WSL para obtener el archivo tar para CentOS.

Prerrequisitos

Exportación del tar desde un contenedor

  1. Abra la línea de comandos (Bash) para una distribución de Linux que ya haya instalado desde Microsoft Store (Ubuntu en este ejemplo).

  2. Asegúrese de que tiene Docker Desktop en ejecución (o si tiene Docker instalado en la distribución de WSL, inicie el servicio con sudo service docker start ).

  3. Ejecute el contenedor centOS dentro de Docker:

    docker run -t --name wsl_export centos ls /
    
  4. Exporte el identificador de contenedor a un archivo tar en la unidad c montada:

    docker export wsl_export > /mnt/c/temp/centos.tar
    
  5. Limpieza del contenedor

    docker rm wsl_export
    

Ejemplo de ejecución de los comandos anteriores

Este proceso exporta el archivo tar centOS desde el contenedor de Docker para que ahora podamos importarlo para usarlo localmente con WSL.

Importación del archivo tar en WSL

Una vez que tenga listo un archivo tar, puede importarlo mediante el comando : wsl --import <Distro> <InstallLocation> <FileName>.

Ejemplo de importación de CentOS

Para importar el archivo tar de distribución de CentOS en WSL:

  1. Abra PowerShell y asegúrese de que tiene una carpeta creada donde desea almacenar la distribución.

    cd C:\temp
    mkdir E:\wslDistroStorage\CentOS
    
  2. Use el comando wsl --import <DistroName> <InstallLocation> <InstallTarFile> para importar el archivo tar.

    wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
    
  3. Use el comando wsl -l -v para comprobar qué distribuciones ha instalado.

    Ejemplo de los comandos anteriores que se ejecutan en WSL

  4. Por último, use el comando wsl -d CentOS para ejecutar la distribución de CentOS Linux recién importada.

Añade componentes específicos de WSL como un usuario predeterminado

De forma predeterminada, al usar --import, siempre se inicia como usuario raíz. Puede configurar su propia cuenta de usuario, pero tenga en cuenta que el proceso de configuración variará ligeramente en función de cada distribución de Linux diferente.

Para configurar la cuenta de usuario con la distribución de CentOS que acabamos de importar, primero abra PowerShell y arranque en CentOS con el comando :

wsl -d CentOS

A continuación, abra la línea de comandos de CentOS. Use este comando para instalar herramientas de configuración de sudo y contraseña en CentOS, crear una cuenta de usuario y establecerla como el usuario predeterminado. En este ejemplo, el nombre de usuario será "caloewen".

Nota:

Querrá agregar el nombre de usuario al archivo sudoers para que el usuario pueda usar sudo. El comando adduser -G wheel $myUsername añade el usuario myUsername al grupo wheel. A los usuarios del grupo wheel se les conceden automáticamente privilegios de sudo y pueden realizar tareas que requieren permisos elevados.

yum update -y && yum install passwd sudo -y
myUsername=caloewen
adduser -G wheel $myUsername
echo -e "[user]\ndefault=$myUsername" >> /etc/wsl.conf
passwd $myUsername

Ahora debe salir de esa instancia y asegurarse de que todas las instancias de WSL estén finalizadas. Vuelva a iniciar la distribución para ver el nuevo usuario predeterminado ejecutando este comando en PowerShell:

wsl --terminate CentOS
wsl -d CentOS

Ahora verá [caloewen@loewen-dev]$ como salida en función de este ejemplo.

Ejemplo del código anterior que se ejecuta en WSL

Para obtener más información sobre cómo configurar las opciones de WSL, consulte Configuración de valores con .wslconfig y wsl.conf.

Uso de una distribución personalizada de Linux

Puedes crear tu propia distribución personalizada de Linux, empaquetada como una aplicación para UWP, que se comportará exactamente como las distribuciones de WSL disponibles en Microsoft Store. Para obtener información sobre cómo hacerlo, consulte Creación de una distribución personalizada de Linux para WSL.