필자의 PC의 디스크 공간은 총 768GB 크기이며 운영체제로는 windows11 OS가 기본으로 C 드라이브 D드라이브 E드라이브로 각각 물리적인 저장소로 구성되어 있다. 그리고 C드라이브에는 WSL의 Ubuntu가 설치되어 있다. 문제는 처음 파티션을 나눌 때 C드라이브에는 기본적인 설치파일들만 구성하기로 하여 100GB 정도로만 세팅한 것이다.
그런데 WSL이 설치된 리눅스 파일 시스템의 기본 경로는 C:\\Users\\<유저명>\\AppData\\Local\\Packages\\<리눅스이름>\\LocalState 이며, 실제로 보이는 파일 경로는 ext4.vhdx 에 설치된다.
즉 WSL이 설치되는 기본 설치 공간은 C드라이브이기에 추가적인 패키지를 설치하거나 추가 작업으로 인해 파일이 축점됨에 따라 용량이 커져 당연히 용량 부족이 발생할 수밖에 없기에 비교적 용량이 큰 D드라이브로 옮기는 방법을 알아보자.
TAR 압축으로 Export 하기
일단은 기존 WSL 설치 방식처럼 기본 경로에 리눅스를 설치한다. 이 후 --export 명령어를 사용하여 설치된 리눅스를. tar 확장자의 파일로 추출한다. 이 파일은 추후에 다른 컴퓨터에서 리눅스를 설치할 때 사용할 수 있는데, 예를 들어, Ubuntu-22.04라는 이름의 리눅스 버전을 추출할 수 있다.
<파일 경로>는 본인이 원하는 경로로 설정하고. tar 확장자 파일로 만듭니다. 아래 명령어는 PowerShell 같은 터미널을 열고 실행하는 예제이다.
wsl --export <리눅스 이름> <파일 경로>
wsl --export Ubuntu-22.04 D:\ubuntu-22-04.tar
추가로, 이 파일을 별도의 하드 드라이브나 USB에 저장하면 향후 리눅스 설치나 업데이트 시 참조할 수 있다.
위 명령어를 실행하면 ubuntu-22-04.tar라는 파일이 D 드라이브 경로에 생성된다.
기존 Ubuntu 버전 삭제
만약 TAR 파일로 Export를 실행했다면, 기존에 설치되어있는 Ubuntu-22.04 리눅스를 삭제해야 한다. 추출한 tar 파일에서 다시 import를 할 예정인데 단, 이 과정에서 기존 C 드라이브에 설치된 리눅스는 지워져야 한다. 그렇지 않으면 충돌이 발생할 수 있기 때문이다.
`:: wsl --unregister <리눅스 이름>
wsl --unregister Ubuntu-22.04`
압축된 TAR Import
다음으로 -import 옵션을 이용하여 파일로 추출한 리눅스 버전을 다시 설치해 준다. 이때 경로를 직접 지정할 수 있는데, 이름을 굳이 기존 설치되어 있던 리눅스 이름과 동일하게 하지 않아도 상관은 없다. 하지만 새로운 이름을 사용하면 추후 리눅스 버전을 알아보기 어려울 수 있으므로, 기존에 설치된 이름을 사용하는 것이 좋다. 예시는 기존에 설치된 이름이 리눅스의 버전을 알아보기 용이하므로 그대로 사용하고, 설치 경로는 D:\\\\wsl\\\\ubuntu-22-04\\\\ 디렉터리를 만들고 해당 폴더 내부에 설치하겠다. 이 폴더 내부에는 필요한 모든 파일과 프로그램이 저장될 것이다.
wsl --import <설정해 줄 리눅스 이름> <설치경로> <추출한 파일 경로>
wsl --import Ubuntu-22.04 D:\wsl\ubuntu-22-04\ D:\ubuntu-22-04.tar
위 명령어를 실행하고 wsl -l -v를 실행하면 아래 그림처럼 Ubuntu 22.04 버전의 리눅스 배포판이 설치된 것을 확인할 수 있다.
설치가 확인 되었지만 아직 끝난 건 아니다. 마지막으로 중요한 작업인 사용자 세팅 부분이 남아 있다.
User Setting
위에서 설명한 대로 d 옵션으로 등록한 Linux 버전을 실행하려면 초기에 만들어준 계정 대신 root 계정으로 실행된다. 그러나 일반적으로 root 계정을 사용하여 Linux를 운영하는 것은 권장되지 않으며 설치 시 sudo 권한이 있는 일반 사용자 계정을 사용하는 것이 좋다. 따라서 Linux 배포판을 설치할 때 표준 사용자 계정을 만들어야 한다.
root 계정으로 해당 버전의 리눅스에 접속한 후, 터미널에서 touch 명령어를 사용하여 설정 파일을 만들 수 있다. 이미 root 계정으로 로그인되어 있으므로, 루트 파티션에 액세스 하려면 sudo 권한이 필요하지 않다.
$ touch /etc/wsl.conf
만들어진 설정 파일에 아래의 내용을 추가하려면, vi 또는 nano와 같은 터미널을 기반으로 하는 텍스트 에디터를 사용한다. 아래의 내용 중 <user> 대신 Linux 배포판 설치 중 생성한 사용자 계정을 입력하자. 이렇게 함으로써 WSL Linux을 실행할 때 해당 계정으로 로그인할 수 있다.
[user]
default=<user>
WSL을 로그아웃 한 후 다시 실행하여 보면, 위에서 설정한 계정으로 우분투 버전인 22.04 실행됨을 확인 할 수 있다.
▼ 이 블로그의 다른 글 보기
'Linux & GIT' 카테고리의 다른 글
VS Code python3-pip 설치 오류 (0) | 2023.05.13 |
---|---|
WSL에서 설치된 우분투(Ubuntu) 간단 제거 방법 (0) | 2023.05.13 |
깃허브(GitHub) 저장소 삭제 방법 (0) | 2022.09.06 |
git revert 명령어 (0) | 2022.07.20 |
git reset 명령어 (0) | 2022.07.20 |
댓글