개요
- 리눅스 서버에서 저장공간 용량이 없어서 웹 서버 로그파일이 더이상 저장되지 않는다던가 하는 경우가 있다.
- 이런 경우에 불필요한 파일을 제거하는 방법을 정리해둔다.
삭제할 곳 찾기
- 일단 어느 디렉토리가 용량을 많이 차지하는지 찾아내야 한다.
- 가장 상위 폴더로 이동해서 디렉토리별 용량을 확인한다.
sudo su
cd /
du -h --max-depth=1
- 가장 용량을 많이 차지하는 디렉토리를 찾았으면 해당 디렉토리로 이동해서 같은 명령어를 실행해서 찾아가면 된다.
- 파일을 찾았으면
rm -f 파일
또는rm -rf 디렉토리명
으로 삭제한다.
참고로, 위의 커맨드를 실행했을 때 . 경로가 차지하는 용량이 클 때가 있다. 경로의 용량은 모든 서브 디렉토리들의 합을 나타낸다.
...생략..
11M ./etc
16K ./lost+found
21M ./lib64
3.2G .
종류별 방법
패키지 캐시 확인
패키지 캐시를 지워본다. yum 을 사용하는 경우라면 아래 명령으로 삭제가능하다.
# 캐시가 차지하고 있는 용량 확인
du -sh /var/cache/yum
# 캐시 삭제
yum clean all
도커 오버레이 삭제
도커 오버레이가 생각보다 용량을 많이 차지한다. (보통 /var/lib/docker/overlay2에 있다)
다음 명령으로 청소가 가능하다.
docker system prune -a -f
트러블 슈팅
삭제된 파일을 프로세스가 잡고 있는지 확인
삭제된 파일을 프로세스가 잡고 있는 경우가 있다. 이건 이 명령으로 확인 가능하다.
lsof | grep '(deleted)'
출력되는 건이 있으면 해당 어플리케이션을 재구동하면 문제가 해결된다. 아래 링크에 상세한 설명이 있다.
- https://kaiwern.com/posts/2020/03/16/aws-ec2-disk-space-full/