Importación de cualquier distribución de Linux que se use con WSLImport any Linux distribution to use with WSL

Puede usar cualquier distribución de Linux en el subsistema de Windows para Linux (WSL), incluso si no está disponible en el Microsoft Store, importándola con un archivo tar.You can use any Linux distribution inside of the Windows Subsystem for Linux (WSL), even if it is not available in the Microsoft Store, by importing it with a tar file.

En este artículo se muestra cómo importar la distribución de Linux, WSL, parasu uso con mediante el uso de un contenedor de Docker.This article shows how to import the Linux distribution, CentOS, for use with WSL by obtaining its tar file using a Docker container. Este proceso se puede aplicar para importar cualquier distribución de Linux.This process can be applied to import any Linux distribution.

Obtención de un archivo tar para la distribuciónObtain a tar file for the distribution

En primer lugar, deberá obtener un archivo tar que contenga todos los archivos binarios de Linux para la distribución.First you'll need to obtain a tar file that contains all the Linux binaries for the distribution.

Puede obtener un archivo tar de varias maneras, dos de las cuales incluyen:You can obtain a tar file in a variety of ways, two of which include:

  • Descargue un archivo tar proporcionado.Download a provided tar file. Puede encontrar un ejemplo de Alpine en la sección "mini sistema de archivos raíz" del sitio de descargas de Alpine Linux .You can find an example for Alpine in the "Mini Root Filesystem" section of the Alpine Linux downloads site.
  • Busque un contenedor de distribución de Linux y exporte una instancia como archivo tar.Find a Linux distribution container and export an instance as a tar file. En el ejemplo siguiente se mostrará este proceso con el contenedorde la de la.The example below will show this process using the CentOS container.

Obtención de un archivo tar para el ejemplo de laObtaining a tar file for CentOS example

En este ejemplo, usaremos Docker dentro de una distribución de WSL para obtener el archivo tar para la agregación.In this example, we'll use Docker inside of a WSL distribution to obtain the tar file for CentOS.

Requisitos previosPrerequisites

Exportar el tar desde un contenedorExport the tar from a container

  1. Abra la línea de comandos (Bash) para una distribución de Linux que ya ha instalado desde el Microsoft Store (Ubuntu en este ejemplo).Open the command line (Bash) for a Linux distribution that you've already installed from the Microsoft Store (Ubuntu in this example).

  2. Inicie el servicio Docker:Start the Docker service:

sudo service docker start
  1. Ejecute el contenedor de la base de contenido dentro de Docker:Run the CentOS container inside Docker:
docker run -t centos bash ls /
  1. Tome el identificador del contenedor de la de la toma mediante grep y awk:Grab the CentOS container ID using grep and awk:
dockerContainerID=$(docker container ls -a | grep -i centos | awk '{print $1}')
  1. Exporte el ID. de contenedor a un archivo tar en la unidad c montada:Export the container ID to a tar file on your mounted c-drive:
docker export $dockerContainerID > /mnt/c/temp/centos.tar

Ejemplo de ejecución de los comandos anteriores

Este proceso exporta el archivo tar de la versión del contenedor de Docker para que podamos importarlo para su uso local con WSL.This process exports the CentOS tar file from the Docker container so that we can now import it for use locally with WSL.

Importe el archivo tar a WSLImport the tar file into WSL

Una vez que tenga un archivo tar listo, puede importarlo mediante el comando: wsl --import <Distro> <InstallLocation> <FileName> .Once you have a tar file ready, you can import it using the command: wsl --import <Distro> <InstallLocation> <FileName>.

Ejemplo de importación de laImporting CentOS example

Para importar el archivo tar de distribución de la WSL en el:To import the CentOS distribution tar file into WSL:

  1. Abra PowerShell y asegúrese de que tiene una carpeta creada donde desea que se almacene la distribución.Open PowerShell and ensure that you have a folder created where you'd like the distribution to be stored.
cd C:\temp
mkdir E:\wslDistroStorage\CentOS
  1. Use el comando wsl --import <DistroName> <InstallLocation> <InstallTarFile> para importar el archivo tar.Use the command wsl --import <DistroName> <InstallLocation> <InstallTarFile> to import the tar file.
wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
  1. Use el comando wsl -l -v para comprobar las distribuciones que ha instalado.Use the command wsl -l -v to check which distributions you have installed.

Ejemplo de los comandos anteriores que se ejecutan en WSL

  1. Por último, use el comando wsl -d CentOS para ejecutar la distribución de Linux de la nueva importación recién importada.Finally, use the command wsl -d CentOS to run your newly imported CentOS Linux distribution.

Adición de componentes específicos de WSL como un usuario predeterminadoAdd WSL specific components like a default user

De forma predeterminada, al usar--Import, siempre se inicia como el usuario raíz.By default when using --import, you are always started as the root user. 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.You can set up your own user account, but note that the set up process will vary slightly based on each different Linux distribution.

Para configurar una cuenta de usuario con la distribución de la definición que se acaba de importar, primero abra PowerShell y arranque en la instalación, mediante el comando:To set up user account with the CentOS distribution we just imported, first open PowerShell and boot into CentOS, using the command:

wsl -d CentOS

A continuación, abra la línea de comandos de la nueva conexión.Next, open your CentOS command line. Use este comando para instalar las herramientas de configuración de sudo y de contraseña en la definición de Directiva, cree una cuenta de usuario y establézcala como el usuario predeterminado.Use this command to install sudo and password setting tools into CentOS, create a user account, and set it as the default user. En este ejemplo, el nombre de usuario será "caloewen".In this example, the username will be 'caloewen'.

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 se terminan todas las instancias de WSL.You must now quit out of that instance and ensure that all WSL instances are terminated. Vuelva a iniciar la distribución para ver el nuevo usuario predeterminado ejecutando este comando en PowerShell:Start your distribution again to see your new default user by running this command in PowerShell:

wsl --shutdown
wsl -d CentOS

Ahora verá [caloewen@loewen-dev]$ como la salida basada en este ejemplo.You will now see [caloewen@loewen-dev]$ as the output based on this example.

Ejemplo del código anterior que se ejecuta en WSL

Para obtener más información sobre la configuración de WSL, vea comandos de inicio & configuraciones.To learn more about configuring WSL settings, see Launch commands & configurations.

Uso de una distribución personalizada de LinuxUse a custom Linux distribution

Puede crear su propia distribución de Linux personalizada, empaquetada como una aplicación de UWP, que se comportará exactamente igual que las distribuciones de WSL disponibles en el Microsoft Store.You can create your own customized Linux distribution, packaged as a UWP app, that will behave exactly like the WSL distributions available in the Microsoft Store. Para obtener información sobre cómo hacerlo, consulte creación de una distribución de Linux personalizada para WSL.To learn how, see Creating a Custom Linux Distribution for WSL.