Search

Rocky Linux with WSL2

요약
게시일
2022/06/30
태그
WSL
1 more property
이 글은 원래 RHEL8을 WSL로 사용하는 방법에 관한 것이었다. 그러나 RHEL9에 맞춰 업데이트하다가 직면한 문제(WSL로 올린 RHEL9에서 subscription-manager를 사용 불가) 때문에 Rocky Linux를 WSL로 이용하는 방법으로 변경한 것이다. 기본 환경은 Windows 11이다.

컨테이너 이미지를 WSL로 변환하기

1.
먼저 명령 프롬프트나 파워셸에서 다음 명령으로 Docker를 설치한다.
winget install --id Docker.DockerDesktop
PowerShell
복사
2.
Docker를 설치했으면 이미 실행 중인 WSL(대부분은 Ubuntu일 것이다)에서 다음 명령을 실행해 Rocky Linux를 가져와서 tar 파일로 내보낸다.
docker pull rockylinux:9 docker run rockylinux:9 dockerContainerID=$(docker container ls -a | grep -i rocky | awk '{print $1}') docker export rockylinux:9 > rocky.tar # ${USER}를 각자 맞는 사용자 디렉터리 이름으로 바꾼다. docker export $dockerContainerID > /mnt/c/Users/${USER}/rocky.tar docker container rm $dockerContainerID
Bash
복사

WSL로 가져오기

PowerShell에서 WSL로 가져오기를 실행한다.
# 홈 디렉터리로 이동 cd "$env:USERPROFILE" # /mnt/c/Users/USER_ID/WSL 디렉터리 만들기 mkdir WSL wsl --import Rocky .\WSL\Rocky .\rocky.tar wsl -d Rocky # Rocky Linux로 WSL 실행
PowerShell
복사

기본 사용자 계정 설정

여기까지 했으면 root로 로그인이 가능하다. 그러나 매번 root를 사용하는 건 바람직하지 않으므로 내가 사용할 계정을 만든다.
# myUsername에 사용할 아이디를 할당할 것 dnf install -y bash-completion passwd sudo && \ myUsername=0x6a6f73687561 && \ adduser -G wheel $myUsername && \ echo -e "[user]\ndefault=$myUsername" >> /etc/wsl.conf && \ passwd $myUsername
Shell
복사
WSL에서 Rocky 인스턴스를 종료한다.
wsl --terminate Rocky
PowerShell
복사

기본 WSL 변경

Ubuntu를 기본 WSL로 사용해왔지만, Rocky Linux를 나의 기본 WSL로 변경해서 쓴다.
# 간단히 줄여서 wsl -s Rocky도 무방 wsl --set-default Rocky # Rocky가 기본으로 실행되는지 확인 wsl ~
PowerShell
복사

참고 자료