Wsl에 아무 배포판 깔기

2022-12-01, Thu

힘들게 깔았던 아치 리눅스를 네이티브하게 쓰려다가 맥/윈도우 의존이 너무 강해 결국 포기했었다.

그러던 중 맥북이 고장나면서 윈도우 조립컴퓨터를 새로 맞췄고, 마침 WSL2가 나오던 시점이라 archWSL로 셋업해서 잘 쓰고 있었다. 근데 최근에 archWSL같은 서드파티 프로그램 없이도 임의의 배포판을 사용할 수 있다는 이야기와 WSL2가 systemd를 지원하기 시작했다는 이야기를 들었다. 마침 원래 wsl은 리눅스 초짜 상태로 2년 넘게 써서 홈폴더나 패키지나 누더기 상태였고 좀 깔끔하게 지내보자는 생각에 새로 설치하면서 그 과정을 메모해두려고 한다.

이 내용은 MS 공식 홈페이지의 Import any Linux distribution to use with WSL를 기반으로 한다.


먼저 원하는 배포판의 바이너리를 구해야 된다. 이 바이너리가 iso는 아닌 것 같고 따로 지원해주는 배포판이 있는 듯 하다. 아무튼 따로 구할 수 없다면 컨테이너에서 추출해야 하니까 대충 아무 우분투 WSL에다가 도커나 팟맨을 미리 설치해놓자. 도커나 팟맨 없이 하는 방법이 있다고는 하는데 시도해보지는 않았다. 나는 아치리눅스를 사용할 것이니까 아치 공식 다운로드 페이지에서 따라가면 나오는 아치 공식 컨테이너를 사용할 것이다.

팟맨이 깔린 리눅스에서 시작하자.

podman run archlinux # 도커라면 podman 대신 docker. 만약 팟맨이 못 찾으면 https://unix.stackexchange.com/questions/701784 를 보자
podman container ls -a # 여기서 나오는 id를 복사해서 밑에 집어넣는다
podman export {컨테이너 id} > {경로/파일}.tar

이제 원래 컨테이너는 역할을 다 했다. 설정과 dotfile들을 미리 복사해 두었다면 끄거나 지워도 된다.

그 다음 파워쉘로 돌아와서 wsl을 만든다.

wsl --import {wsl 만들 이름} {wsl 만들 경로} {경로/파일}.tar
wsl -l -v # 만들어졌는지 확인
wsl -d {wsl 만들 이름} # 만들어진 wsl을 실행

그 외에 archWSL을 이용한 세팅은 다음 문서들을 읽어보면 된다. WSL2 기반 개발환경 세팅, 개발환경 가이드북