WSL과 함께 사용할 Linux 배포 가져오기

Microsoft Store에서 사용할 수 없는 경우에도 WSL(Linux용 Windows 하위 시스템) 내부의 Linux 배포판을 tar 파일과 함께 가져오면 사용할 수 있습니다.

이 문서에서는 Docker 컨테이너를 사용하여 tar 파일을 얻어 WSL과 함께 사용할 Linux 배포판 CentOS를 가져오는 방법을 보여 줍니다. 이 프로세스는 모든 Linux 배포판을 가져오는 데 적용할 수 있습니다.

배포용 tar 파일 가져오기

먼저 배포용 Linux 이진 파일이 모두 포함된 tar 파일을 가져와야 합니다.

다양한 방법으로 tar 파일을 가져올 수 있으며 그중 두 가지 방법은 다음과 같습니다.

  • 제공된 tar 파일을 다운로드합니다. Alpine Linux 다운로드 사이트의 "Mini Root Filesystem" 섹션에서 Alpine의 예를 찾을 수 있습니다.
  • Linux 배포 컨테이너를 찾아 인스턴스를 tar 파일로 내보냅니다. 아래 예는 CentOS 컨테이너를 사용하는 이 프로세스를 보여 줍니다.

CentOS용 tar 파일 가져오기 예

이 예에서는 WSL 배포 내부의 Docker를 사용하여 CentOS용 tar 파일을 가져옵니다.

사전 요구 사항

컨테이너에서 tar 내보내기

  1. Microsoft Store(이 예에서는 Ubuntu)에서 이미 설치한 Linux 배포판의 명령줄(Bash)을 엽니다.

  2. Docker 서비스를 시작합니다.

    sudo service docker start
    
  3. Docker 내에서 CentOS 컨테이너를 실행합니다.

    docker run -t centos bash ls /
    
  4. grep 및 awk를 사용하여 CentOS 컨테이너 ID를 가져옵니다.

    dockerContainerID=$(docker container ls -a | grep -i centos | awk '{print $1}')
    
  5. 컨테이너 ID를 탑재된 c-드라이브의 tar 파일로 내보냅니다.

    docker export $dockerContainerID > /mnt/c/temp/centos.tar
    

위 명령 실행 예

이 프로세스는 Docker 컨테이너에서 CentOS tar 파일을 내보내므로 이제 WSL에서 로컬로 사용하기 위해 가져올 수 있습니다.

tar 파일을 WSL로 가져오기

tar 파일이 준비되면 wsl --import <Distro> <InstallLocation> <FileName> 명령을 사용하여 가져올 수 있습니다.

CentOS 가져오기 예

CentOS 배포 tar 파일을 WSL로 가져오려면:

  1. PowerShell을 열고 배포를 저장할 위치에 폴더를 만들었는지 확인합니다.

    cd C:\temp
    mkdir E:\wslDistroStorage\CentOS
    
  2. wsl --import <DistroName> <InstallLocation> <InstallTarFile> 명령을 사용하여 tar 파일을 가져옵니다.

    wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
    
  3. wsl -l -v 명령을 사용하여 설치한 배포판을 확인합니다.

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

  4. 마지막으로 wsl -d CentOS 명령을 사용하여 새로 가져온 CentOS Linux 배포판을 실행합니다.

기본 사용자와 같은 WSL 특정 구성 요소 추가

--import를 사용할 때 기본적으로 항상 루트 사용자로 시작됩니다. 고유의 사용자 계정을 설정할 수 있지만 설정 프로세스는 각 Linux 배포판에 따라 약간 다를 수 있습니다.

방금 가져온 CentOS 배포로 사용자 계정을 설정하려면 먼저 PowerShell을 열고 다음 명령을 사용하여 CentOS로 부팅합니다.

wsl -d CentOS

다음으로 CentOS 명령줄을 엽니다. 이 명령을 사용하여 sudo 및 암호 설정 도구를 CentOS에 설치하고 사용자 계정을 만든 다음 기본 사용자로 설정합니다. 이 예에서 사용자 이름은 'caloewen'입니다.

참고

사용자가 sudo를 사용할 수 있도록 sudoers 파일에 사용자 이름을 추가할 수 있습니다. adduser -G wheel $myUsername 명령은 myUsername 사용자를 휠 그룹에 추가합니다. 휠 그룹의 사용자에게는 자동으로 sudo 권한이 부여되며 관리자 권한의 권한이 필요한 작업을 수행할 수 있습니다.

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 인스턴스가 종료되었는지 확인해야 합니다. PowerShell에서 다음 명령을 실행하여 새 기본 사용자를 보려면 배포를 다시 시작합니다.

wsl --terminate CentOS
wsl -d CentOS

이제 이 예를 기반으로 한 출력으로 [caloewen@loewen-dev]$가 표시됩니다.

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

WSL 설정 구성에 대한 자세한 내용은 .wslconfig 및 wsl.conf로 설정 구성을 참조하세요.

사용자 지정 Linux 배포판 사용

Microsoft Store에서 사용할 수 있는 WSL 배포와 똑같이 작동하는 UWP 앱으로 패키지된 고유한 사용자 지정 Linux 배포를 만들 수 있습니다. 자세한 방법은 WSL용 사용자 지정 Linux 배포판 만들기를 참조하세요.