일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- mesos
- Minikube
- Kubernetes
- MLOps
- Tabular
- Kibana
- etl
- 파이썬
- 쿠버플로우
- 데이터 아키텍처
- AWS Glue
- fluentd
- 머신러닝
- 리눅스
- yarn
- 데이터 플랫폼
- 쿠버플로
- Spark
- Kubeflow
- 파이썬처럼생각하기
- gcp
- elk
- MachineLearning
- 하이브
- Python
- Opensearch
- 파이썬답게생각하기
- 쿠버네티스
- TABNET
- hive
- Today
- Total
데이터를 걷는 선비
[Linux] 회사에서 WSL2 때문에 컴퓨터 용량이 터질 것 같을 때! 본문
나른한 오후....
회사 컴퓨터에서 갑자기 디스크가 부족하다는 알람이 왔다.
알고보니 윈도우에서 사용하던 WSL2의 용량이 엄청나게 늘어난 것 때문이었다.
(회사 컴퓨터에서는 윈도우를 사용하기에, 리눅스를 사용하기 위해 wsl을 활용해왔다.)
근데...그럼 다른 분들은 어떻게 WSL2을 쓰고 있을까...??
여쭤보기 민망해 직접 찾아보며 삽질한 것을 기록해봤다.
1. WSL 디스크 파일 찾아 압축하기 => 근본적 해결 불가!!
https://learn.microsoft.com/ko-kr/windows/wsl/disk-space
WSL 디스크 공간을 관리하는 방법
사용 가능한 디스크 공간의 양을 확인하고, VHD(가상 하드 디스크)의 크기를 확장하고, VHD 탑재 또는 읽기 전용 오류를 복구하고, WSL 2와 함께 설치된 Linux 배포판에 대한 .vhdx 파일 및 디스크 경로
learn.microsoft.com
가장 좋은 것은 역시 공식문서를 보는 것이 아닐까!
공식 문서를 참조해 wsl2에서 용량을 많이 먹는 디스크 파일을 찾아 압축해 보았다.
(1) WSL2 디스크 파일 찾기
- 우선 wsl2에 ext4.vhdx 파일이 있는 위치를 찾는다. 파일 용량을 저 파일이 모두 먹고 있었기 때문에 압축해주어야 한다.
- Linux 배포에 대한 .vhdx 파일 및 디렉터리 경로를 찾으려면 PowerShell을 열고 다음 스크립트를 사용하여 <distribution-name>을(를) 실제 배포 이름으로 바꾼다.
(Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | Where-Object { $_.GetValue("DistributionName") -eq '<distribution-name>' }).GetValue("BasePath") + "\ext4.vhdx"
- distribution-name은 wsl -l 했을 때 나오는 배포이름으로 사진에서 볼 수 있듯이 필자의 distribution-name은 Ubuntu-20.04이다.
wsl -l
(2) ext4.vhdx 압축하기
- 파일을 찾았으면, 이제 powershell을 관리자 권한으로 실행한다.
- 다음으로, diskpart 명령어를 실행해주고
- 맨 처음에 찾았던, ext4.vhdx 경로를 이용하여 디스크를 선택해준다.
Select vdisk file="{{ext4 파일 경로}}"
- attach vdish readonly
- compact vdisk
를 차례대로 입력 후 detach vdisk로 연결을 해제한 후 종료한다.
이 같은 방법으로 당장 현재의 용량을 압축시켜 일시적으로 컴퓨터 용량 문제를 해결할 수는 있다.
그러나, 지속적으로 이 압축 방법을 반복해야 한다는 문제점이 있고, 또 일정 수준이상이 되면 압축을 해도 용량을 걷잡을 수 없다는 단점이 있다.
2. 저장 공간을 Ddrive로 바꾸기 => 해결
wsl2 파일이 C드라이브의 용량을 많이 먹기 때문에 저장 장소를 Ddrive로 바꾸는 방법이 있다.
(1) TAR로 Export
일단은 --export 명령어를 통해 설치된 리눅스를 .tar 확장자의 파일로 추출한다.
아래의 코드를 powershell 관리자모드에서 실행하면 추출된 파일이 이동하게 된다.
저장할 파일 위치는 본인이 원하는 경로로 설정한 뒤 .tar 확장자 파일로 만들면 되는데 D드라이브에 설치를 할 것이니 이 점 유의해서 경로를 설정하자!!
wsl --export <리눅스 배포판 이름> <저장할 파일 위치>
(2) 기존 Linux 버전 삭제
그 다음 기존 리눅스는 삭제를 해 용량을 먹는 문제를 해결한다.
(1)에서 추출한 tar 파일을 import 할 예정이니 너무 걱정할 필요는 없다!!
wsl --unregister <리눅스 배포판 이름>
(3) 추출한 리눅스 버전 다시 설치
다음으로 --import 옵션을 이용해 추출한 .tar 파일로 구성된 리눅스 버전을 다시 설치한다.
설정해 줄 리눅스 이름, 설치할 경로, 추출했던 파일의 경로를 차례대로 설정해주면 리눅스가 D드라이브 설치할 경로에 설치 된다.
wsl --import <리눅스 배포판 이름> <리눅스를 설치할 경로> <.tar파일의 경로>
'Develop > Computer Science' 카테고리의 다른 글
[Linux] 프로세스 열려 있는 파일 찾아서 kill 하는 방법(Port 종료하기) (0) | 2024.01.15 |
---|---|
[Python] 함수 (2/2) (0) | 2024.01.14 |
[Linux] I/O 관련 명령어 (0) | 2023.01.16 |
[Linux] 파일 시스템 이용을 위한 명령어 (0) | 2023.01.15 |
[Python] 함수 (1/2) (0) | 2023.01.08 |