
WSL로 여러버전의 우분투를 설치하는건 위 사진처럼 딸깍딸깍으로 쉬이 할 수 있지만
같은 버전의 우분투를 여러개 설치하는건 참 사람 열받게 어려움이 있다.
특히 같은 버전의 우분투를 여러개 설치하는 이유라고 한다면...
WSL-우분투-ROS 일때 많이 문제가 발생한다 볼 수 있다.

위 사진처럼 ROS, ROS2를 병행해서 사용하는 경우라면 특히 Ubuntu 20.04버전이
Ubuntu 20.04 - ROS Noetic 버전
Ubuntu 20.04 - ROS2 Humble 버전
이렇게 필요한 경우가 있다.
물론 Docker을 잘 다룬다면 위와 같은 문제는 좀 희석되겠지만
어쩌겠는가... 올드맨은 신 문물에 취약한것을...

아무튼 Docker는 나에게는 키오스크 장승같은 녀석이니
WSL-Ubuntu로 최대한 온몸비틀기를 해보도록 하겠다.

먼저 사용처는 다르나 같은 버전인 우분투를 1개 클린하게 설치를 진행하자
wsl --install -d Ubuntu-[여러개 설치할 버전명]
필자의 경우
Ubuntu 20.04 - ROS Noetic 버전
Ubuntu 20.04 - ROS2 Humble 버전
이렇게 적어도 2개 이상은 20.04를 설치하고자 한다.

설치'만' 완료한 상황이면 위 사진처럼
아주 순정상태의 Ubuntu버전을 압축해놓자
wsl --export Ubuntu-[위에서 수행한 순정상태 버전] [백업할 파일 이름].tar
그냥 손쉽게 백업파일을 만든다고 생각하면된다.
이때 백업파일은 권장으 *.tar이다 뭐..아무거나 상관없긴 하지만 리눅스 권장 압축파일로 압축을 해두자
이제 백업한 압축파일을 언팩 + 설치하는 과정으로
같은 버전이지만 사용처가 다른 우분투를 여러개 설치해보자
wsl --export Ubuntu-[파생버전명] [파생버전을 저장할 폴더(경로)] [백업할 파일 경로].tar

첨부한 명령어처럼 백업파일을 언팩&설치를 수행할 때 버전이름을 임의로 설정하면
파생된 우분투 버전을 쉬이 설치할 수 있다.
순정버전의 경우 Ubuntu 순정버전이라고 인증달린 앱 아이콘이 나오기에 딸깍 하고 클릭하면 쉬이 실행이 가능하나
파생버전은 앱 아이콘이 없다.
따라서 아래의 명령어로 PowerShell에서 명령어로 실행해야 한다
wsl -d Ubuntu-[파생버전명]

그리고 실행된 결과물을 봐도 만족스럽지 않은게
1) root계정으로 실행됨
2) 초기 위치도 마음에 들지 않음(뭔가 순정이랑 다름)
이 2가지를 조정해야 한다.

위 사진처럼 파생버전의 root계정 사용자계정으로 자동로그인 과정을 바꾸려면
먼저 wsl 설정파일을 조정해야 한다.
# 먼저 파생버전 우분투 실행
wsl -d Ubuntu-[파생버전]
이후 nano편집기를 활요하여 wsl.conf 파일을 조정한다
sudo nano /etc/wsl.conf
#나노 편집기에서 아래 항목을 추가 기입
[user]
default=[처음 순정상태에서 기입한 유저명]
나노 편집기에서 조정을 완료했으면
ctrl + O (수정사항 저장)
Enter (수정사항 저장 확정)
ctrl + x (nano편집기 종료)
를 순차적으로 실행한다
이후
exit #파생버전 우분투 로그아웃
# wsl 종료
wsl --shtudown
를 수행해준다.
여기까지 하면 다음에 실행할 때 root계정이 아닌 처음 설정한 계정으로 로그인된다.

1.3.1 까지 진행했으면 우분투 실행시 사용자계정으로 자동로그인은 되지만
아직 만족스럽지 않다.
폴더도 사용자계정의 폴더로 이동해야 의미가 있다.

위 사진처럼 .bashrc에 처음 실행위치를 지정해준다
# .bashrc를 nano편집기로 실행
sudo nano ~/.bashrc
# 맨 아래줄에 아래 명령어 추가
cd /home/[사용자계정 폴더명]
나노 편집기에서 조정을 완료했으면
ctrl + O (수정사항 저장)
Enter (수정사항 저장 확정)
ctrl + x (nano편집기 종료)
를 순차적으로 실행한다
그리고 마지막으로 로그아웃 wsl 종료 순으로 진행한다
exit #파생버전 우분투 로그아웃
# wsl 종료
wsl --shtudown

다음으로 수행할 방법은 아에 클린하게 동일한 버전의 wsl 우분투를 새로 설치하는 방법이다.

먼저 첨부한 사진처럼 wsl Ubuntu 24.04 / Ubuntu 22.04 버전을
wsl --install -d Ubuntu-24.04
위 코드로 간편하게 설치했었다.
이제 새로이 Ubuntu-24.04를 설치하고자 한다.
https://cloud-images.ubuntu.com/
위 사이트에 접속하면 우분투의 모든 이미지 파일을 다운로드 받을 수 있다.

이게 경로가 좀 복잡해서 어지럽긴한데
https://cloud-images.ubuntu.com/wsl/releases/noble/current/ 웹페이지로 최종으로 가서
ubuntu-noble-wsl-amd64-wsl.rootfs.tar.gz를
다운로드 하면 된다.

다운로드 받은 *.tar.gz 는 Ubuntu 24.04를 설치하기 위한 폴더를 위 사진처럼 지정했다.
원래 wsl --install -d Ubuntu-24.04로 설치하면 기본으로 설치경로가 지정되는데 기본 wsl 설치경로 찾으러 들어가는게 좀 고역이다.
차라리 지정하기 쉬운 폴더 하나 잡고 설치하는게 속편하다.
어쨋든 다운로드랑 설치 경로까지 만들었으니 설치 명령어는 아래와 같다.
wsl --import Ubuntu-24.04-vllm ` # 우분투 이름
E:\WSL\Ubuntu2404_vllm ` # 우분투 설치 경로
E:\WSL\ubuntu-noble-wsl-amd64-wsl.rootfs.tar.gz ` # 설치파일
--version 2 # wsl 버전 2로 설치

설치 이후에
wsl -l -v -> wsl 우분투 리스트 확인
wsl -d Ubunut-24.04-vllm -> 새로 설치한 우분투 실행
이후에 계정을 만들고 해당 계정을 관리자 권한으로 설정하자
useradd -m -s /bin/bash ash
# -m : 계정에 걸맞는 홈 디렉토리 자동생성
# -s /bin/bash : 로그인 쉘을 bash로 설정
passwd ash # 생성한 계정 ash에 패스워드 설정
usermod -aG sudo ash # 생성한 계정에 관리자 권한 설정

이렇게 하고 su ash 명령어를 기입하면 계정이 root에서 생성한 신규 관리자 계정으로 전환된다
이 이후로는 1.3 파생버전 실행하기 부분을 참조해서 조정하면 된다.

즐거운 코딩되시길