개발/개발 환경

[개발 환경] WSL 다양한 명령어를 통한 문제 해결을 해보자

growing-dev 2023. 1. 16. 22:24

이전 포스팅에서는 WSL의 개념과 설치하는 방법에 대해서 알아보았다.

WSL 설치 이후 다양한 명령어를 알아보고 내가 겪은 문제 상황에서 어떻게 해결했는지 알아보도록 한다.

Help 명령

wsl --help

기본적으로 모든 명령어가 지원하는 --help 기능을 통해 지원하는 명령어 리스트 및 간단한 설명을 확인할 수 있다.

헷갈리거나 잘 모르겠을 땐 항상 help를 잘 활용하자.

 

WSL 버전을 변경

wsl --set-version <distribution name> <versionNumber>

wsl 버전은 1과 2가 있다. 2 버전으로 변경하려면 위 명령어에서 <versionNumber>를 2로 변경한다.

1 버전과 2 버전의 차이는 아래 링크를 참고한다.

https://learn.microsoft.com/ko-kr/windows/wsl/compare-versions

 

WSL 1과 WSL 2 비교

WSL 2는 WSL 1의 이점을 제공하지만 WSL 1과 같은 변환 계층이 아닌 실제 Linux 커널을 사용하므로 성능이 향상됩니다.

learn.microsoft.com

 

배포의 기본 사용자 변경

<DistributionName> config --default-user <Username>

 wsl에 user 추가 없이 접속하려면 root로 접속이 되곤 한다. 사실 로컬에서 개발하려면 크게 상관없을 수도 있지만 아무리 나 혼자만 사용한다고 하더라도 시스템의 root 권한으로 개발한다는 건 실수와 리스크가 있긴 하다. 따라서 user를 추가하고 위와 같이 default-user를 변경해 두면 실수를 미연에 방지할 수 있다.

 

 

배포 가져오기 및 내보내기

wsl --export <Distribution Name> <FileName>
export는 현재 Distribution을 tar 파일로 추출하는 것이다. 이것이 매우 유용하고 강력하다. 주기적으로 내 현재 상태를 백업 해놓으면 좋고 또한 여러 사람이 이 파일로 동일한 환경을 갖게 할 수도 있다.
wsl --import <Distribution Name> <InstallLocation> <FileName>

위에서 export한 tar 파일을 다시 내 wsl에 import 하는 명령어다. 

  • --vhd: 가져오기/내보내기 배포가 tar 파일 대신. vhdx 파일을 import 할 때
  • --version: 가져오기 전용의 경우 배포를 WSL 1 또는 WSL 2 배포로 가져올지 여부를 지정한다.

 

Linux 배포판 등록 취소 또는 제거

wsl --unregister <DistributionName>

<DistributionName>를 대상 Linux 배포의 이름으로 바꾸면 WSL에서 해당 배포를 등록 취소하여 다시 설치하거나 정리할 수 있다. 

주의: 등록이 취소되면 해당 배포와 관련된 모든 데이터, 설정 및 소프트웨어가 영구적으로 손실된다.

 

 

내가 겪은 문제 상황

1. 새로운 PC 셋업을 하면서 기존에 export를 해두지 않았다. 즉 tar 파일이 없다.

tar파일이 아니더라도 --vhd 옵션을 통해 지정할 수도 있고 아래 import-in-place 명령어를 통해서도 할 수 있다.

wsl --import-in-place <Distribution Name> <FileName>

 

2. 설치드라이브를 C에서 D로 변경하고 싶다.

  - 일단 export를 한다.

  - import 시 <InstallLocation>을 설치하고 싶은 디렉터리(D:\wsl과 같이)로 지정한다.

 

3. wsl 이 자주 꺼져서 메모리 사용량을 늘리고 싶다.

 - wsl --shutdown 으로 종료한다.

 - 아래와 같은 .wslconfig 파일을 추가한다.

[wsl2]
memory=8GB
processors=4
swap=1GB
localhostForwarding=true

 - 재시작한다.



 

반응형