Importación de cualquier distribución de Linux que se va a usar con WSL
Puede utilizar cualquier distribución Linux dentro del Subsistema de Windows para Linux (WSL), aunque no esté disponible en la Microsoft Store, importándola 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.
Obtener 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.
Requisitos previos
- Debe tener WSL habilitado con una distribución de Linux instalada que ejecute WSL 2.
- Debe tener Docker Desktop para Windows instalado con el motor WSL 2 habilitado e integración activado . Consulte el contrato de licencia de Docker Desktop para obtener actualizaciones sobre los términos de uso.
Exportación del archivo tar desde un contenedor
Abra la línea de comandos (Bash) para una distribución de Linux que ya haya instalado desde Microsoft Store (Ubuntu en este ejemplo).
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
).Ejecute el contenedor CentOS dentro de Docker:
docker run -t --name wsl_export centos ls /
Exporte el identificador del contenedor a un archivo tar en la unidad c montada:
docker export wsl_export > /mnt/c/temp/centos.tar
Limpie el contenedor.
docker rm wsl_export
Este proceso exporta el archivo tar CentOS desde el contenedor de Docker para poder importarlo para usarlo localmente con WSL.
Importación del archivo tar en WSL
Una vez que tenga un archivo tar listo, 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:
Abra PowerShell y asegúrese de que tiene una carpeta creada donde desea almacenar la distribución.
cd C:\temp mkdir E:\wslDistroStorage\CentOS
Use el comando
wsl --import <DistroName> <InstallLocation> <InstallTarFile>
para importar el archivo tar.wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
Use el comando
wsl -l -v
para comprobar qué distribuciones ha instalado.Por último, use el comando
wsl -d CentOS
para ejecutar la distribución de CentOS Linux recién importada.
Agregar 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 mediante el comando :
wsl -d CentOS
A continuación, abra la línea de comandos de CentOS. Use este comando para instalar las 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 de ruedas. A los usuarios del grupo de ruedas se les conceden automáticamente privilegios de sudo y se 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 finalizan. Vuelva a iniciar la distribución para ver el nuevo usuario predeterminado mediante la ejecución de este comando en PowerShell:
wsl --terminate CentOS
wsl -d CentOS
Ahora [caloewen@loewen-dev]$
verá como salida en función de este ejemplo.
Para obtener más información sobre cómo configurar las opciones de WSL, consulte Configuración de valores con .wslconfig y wsl.conf.
Compilación de su propia distribución de Linux
Puedes crear tu propia distribución personalizada de Linux, empaquetada como una aplicación para UWP, que se comportará exactamente igual que las distribuciones de WSL disponibles en Microsoft Store. Para saber cómo, consulte Creación de una distribución Linux personalizada para WSL.
Windows Subsystem for Linux