WSL에서 사용할 Linux 배포 가져오기Import any Linux distribution to use with WSL

WSL (Linux 용 Windows 하위 시스템) 내에서 모든 Linux 배포를 사용할 수 있습니다 .이는 Microsoft Store에서 사용할 수 없는 경우에도 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.

이 문서에서는 Docker 컨테이너를 사용 하 여 tar 파일을 가져와 WSL에서 사용 하기 위해 Linux 배포 인 CentOS를 가져오는 방법을 보여 줍니다.This article shows how to import the Linux distribution, CentOS, for use with WSL by obtaining its tar file using a Docker container. 이 프로세스를 적용 하 여 모든 Linux 배포를 가져올 수 있습니다.This process can be applied to import any Linux distribution.

배포를 위한 tar 파일 가져오기Obtain a tar file for the distribution

먼저 배포에 대 한 모든 Linux 이진 파일을 포함 하는 tar 파일을 가져와야 합니다.First you'll need to obtain a tar file that contains all the Linux binaries for the distribution.

다음과 같은 여러 가지 방법으로 tar 파일을 가져올 수 있습니다.You can obtain a tar file in a variety of ways, two of which include:

  • 제공 된 tar 파일을 다운로드 합니다.Download a provided tar file. 알파인 Linux 다운로드 사이트의 "미니 루트 파일 시스템" 섹션에서 알파인에 대 한 예제를 찾을 수 있습니다.You can find an example for Alpine in the "Mini Root Filesystem" section of the Alpine Linux downloads site.
  • Linux 배포 컨테이너를 찾고 인스턴스를 tar 파일로 내보냅니다.Find a Linux distribution container and export an instance as a tar file. 아래 예제에서는 CentOS 컨테이너를 사용 하 여이 프로세스를 보여 줍니다.The example below will show this process using the CentOS container.

CentOS에 대 한 tar 파일 가져오기 예제Obtaining a tar file for CentOS example

이 예제에서는 WSL 배포 내에서 Docker를 사용 하 여 CentOS에 대 한 tar 파일을 가져옵니다.In this example, we'll use Docker inside of a WSL distribution to obtain the tar file for CentOS.

필수 조건Prerequisites

컨테이너에서 tar 내보내기Export the tar from a container

  1. Microsoft Store (이 예에서는 Ubuntu)에서 이미 설치한 Linux 배포판에 대 한 명령줄 (Bash)을 엽니다.Open the command line (Bash) for a Linux distribution that you've already installed from the Microsoft Store (Ubuntu in this example).

  2. Docker 서비스를 시작 합니다.Start the Docker service:

sudo service docker start
  1. Docker 내에서 CentOS 컨테이너를 실행 합니다.Run the CentOS container inside Docker:
docker run -t centos bash ls /
  1. Grep 및 awk를 사용 하 여 CentOS 컨테이너 ID를 가져옵니다.Grab the CentOS container ID using grep and awk:
dockerContainerID=$(docker container ls -a | grep -i centos | awk '{print $1}')
  1. 컨테이너 ID를 탑재 된 c 드라이브의 tar 파일로 내보냅니다.Export the container ID to a tar file on your mounted c-drive:
docker export $dockerContainerID > /mnt/c/temp/centos.tar

위의 명령을 실행 하는 예

이 프로세스는 Docker 컨테이너에서 CentOS tar 파일을 내보내 이제 WSL에서 로컬로 사용 하기 위해 가져올 수 있습니다.This process exports the CentOS tar file from the Docker container so that we can now import it for use locally with WSL.

Tar 파일을 WSL로 가져오기Import the tar file into WSL

Tar 파일이 준비 되 면 명령을 사용 하 여 가져올 수 있습니다 wsl --import <Distro> <InstallLocation> <FileName> .Once you have a tar file ready, you can import it using the command: wsl --import <Distro> <InstallLocation> <FileName>.

CentOS 예제 가져오기Importing CentOS example

CentOS 배포 tar 파일을 WSL로 가져오려면 다음을 수행 합니다.To import the CentOS distribution tar file into WSL:

  1. PowerShell을 열고 배포를 저장 하려는 위치에 폴더를 만들었는지 확인 합니다.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. 명령을 사용 wsl --import <DistroName> <InstallLocation> <InstallTarFile> 하 여 tar 파일을 가져옵니다.Use the command wsl --import <DistroName> <InstallLocation> <InstallTarFile> to import the tar file.
wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
  1. 명령을 사용 wsl -l -v 하 여 설치한 배포를 확인 합니다.Use the command wsl -l -v to check which distributions you have installed.

WSL에서 실행 되는 위의 명령 예

  1. 마지막으로 명령을 사용 wsl -d CentOS 하 여 새로 가져온 CentOS Linux 배포를 실행 합니다.Finally, use the command wsl -d CentOS to run your newly imported CentOS Linux distribution.

기본 사용자와 같은 WSL 특정 구성 요소 추가Add WSL specific components like a default user

기본적으로--import를 사용 하는 경우 루트 사용자로 항상 시작 됩니다.By default when using --import, you are always started as the root user. 사용자 고유의 사용자 계정을 설정할 수 있지만 설정 프로세스는 각 Linux 배포에 따라 약간씩 달라 집니다.You can set up your own user account, but note that the set up process will vary slightly based on each different Linux distribution.

방금 가져온 CentOS 배포를 사용 하 여 사용자 계정을 설정 하려면 먼저 PowerShell을 열고 명령을 사용 하 여 CentOS로 부팅 합니다.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

이제 CentOS 명령줄을 엽니다.Next, open your CentOS command line. 이 명령을 사용 하 여 sudo 및 암호 설정 도구를 CentOS에 설치 하 고 사용자 계정을 만든 다음 기본 사용자로 설정 합니다.Use this command to install sudo and password setting tools into CentOS, create a user account, and set it as the default user. 이 예제에서 사용자 이름은 ' 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

이제 해당 인스턴스를 종료 하 고 모든 WSL 인스턴스가 종료 되었는지 확인 해야 합니다.You must now quit out of that instance and ensure that all WSL instances are terminated. PowerShell에서 다음 명령을 실행 하 여 새 기본 사용자를 확인 하려면 배포를 다시 시작 합니다.Start your distribution again to see your new default user by running this command in PowerShell:

wsl --shutdown
wsl -d CentOS

이제 [caloewen@loewen-dev]$ 이 예제에 따라 출력으로 표시 됩니다.You will now see [caloewen@loewen-dev]$ as the output based on this example.

WSL에서 실행 되는 위의 코드 예제

WSL 설정을 구성 하는 방법에 대 한 자세한 내용은 시작 명령 & 구성을 참조 하세요.To learn more about configuring WSL settings, see Launch commands & configurations.

사용자 지정 Linux 배포 사용Use a custom Linux distribution

Microsoft Store에서 사용 가능한 WSL 배포판과 정확히 동일 하 게 동작 하는 UWP 앱으로 패키지 된 고유한 사용자 지정 된 Linux 배포를 만들 수 있습니다.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. 방법을 알아보려면 WSL에 대 한 사용자 지정 Linux 배포 만들기를 참조 하세요.To learn how, see Creating a Custom Linux Distribution for WSL.