1. intro
노트북에 뭘 깐게 없는게 계속해서 용량이 줄어들어 이상하다고 생각해 어떤 어플리케이션이 얼마나 용량을 먹고 있는지를 확인해보니
ubuntu가 엄청난 용량을 점유하고 있음을 알게 되었다.
윈도우에 우분투를 설치하면 그 우분투가 사용하는 용량이 늘어날수록, C드라이브의 가용 용량이 줄어들게 된다.
문제는, wsl의 파일을 정리해 용량을 줄인다고 해도, 한 번 늘어난 wsl의 하드 점유량이 줄어들지 않아 윈도우에서 사용할 수 있는 용량은 그대로라는 점이다.
이를 해결하려면 우분투 자체를 한 번 지우고 다시 설치하는 방법이 있지만 wsl 내부의 파일이 많을수록 백업과 설정 import에도 시간이 오래 걸리고, 그 떄까지의 config를 제대로 가져오기도 힘들다.
따라서 주기적으로 캐시나 로그 등 wsl에 쌓이는 불필요한 파일들을 정리해 애초부터 wsl의 용량 점유를 늘리지 않는 것이 더 좋은 방법인 것 같다.
2. 용량 점유율 현황 파악
du -sh 파일 경로/* | sort -hr | head -20
다음 명령어를 통해 같이 특정 디렉토리의 용량 점유율이 높은 상위 20개의 디렉토리 리스트를 출력할 수 있다.
(나는 /home 디렉토리에서 했음)
963M ./lsj/go
646M ./lsj/work
4.0K ./lsj/setup.sh
4.0K ./lsj/restore
4.0K ./lsj/projects
다음과 같이 어떤 디렉토리가 얼만큼의 용량을 차지하고 있는지를 확인할 수 있는데, 정리 전에는 기가 단위의 디렉토리가 여러 개 있었다.
3. 삭제 해볼만한 대상들 리스트 업
1. cache
가장 큰 용량을 차지하고 있던 것들은 cache 들인데, 이건 쌓이는 건 계속 쌓이는데 스스로 지워지지는 않는 것 같고, 주기적으로 직접 지워줘야 wsl의 용량이 계속 늘어나는걸 막을 수 있을 것 같다.
du -sh ~/.cache/* | sort -hr | head -20
다음 명령어를 실행했더니, 우분투를 재설치한지 하루가 채 지나지 않았음에도 다음과 같은 결과를 얻었다.
1.3G /home/lsj/.cache/go-build
42M /home/lsj/.cache/gopls
4.5M /home/lsj/.cache/golangci-lint
12K /home/lsj/.cache/Microsoft
8.0K /home/lsj/.cache/go
0 /home/lsj/.cache/motd.legal-displayed
해당 디렉토리를 다음과 같이 삭제했다.
rm -rf ~/.cache/*
# 압도적으로 용량을 차지하는 go-build만 지우려면
rm -rf ~/.cache/go-build
삭제 시, 용량이 얼마나 회수되는지 (ubuntu에서의 용량이지 윈도우의 용량은 아님) 확인하고 싶다면 다음 명령어를 사용할 수 있다
sudo du -sh ~/.cache/*
2. docker
docker image를 로컬에서 빌드한다면 이 이미지들도 용량을 먹는 주범 중 하나가 된다. 다음과 같은 명령어를 통해 삭제할 수 있다.
docker system prune -a
4. 결론
wsl의 c 드라이브에서의 용량 점유는 늘기만 하고, 이 후 용량을 비워도 알아서 줄지 않는다.
따라서 wsl 내부에 불필요한 파일을 설치하는걸 최대한 지양하고, 도커 이미지와 캐시를 주기적으로 지워주는게
좋을 것 같다.
'기타' 카테고리의 다른 글
Telethon을 이용한 텔레그램 메시지 전달 프로그램 만들기 (w/ AWS) (1) | 2023.12.11 |
---|---|
docker로 ubuntu 환경 셋업 (0) | 2023.04.01 |
google 검색에 대한 스킬 (0) | 2022.12.04 |