/는 리눅스 시스템의 최상위 디렉터리로, 디렉터리 구조의 시작이 된다. 디렉터리 내에는 /bin, /etc, /boot, /mnt, /lib, /home, /dev, /proc, /var, /sbin, /tmp, /root, /lost+found 등의 디렉터리가 존재하며, 시스템과 관련된 파일들이 모여있다.
그렇지 않은 경우도 있겠지만, 보통 시스템 파일의 변경 최소화, 권한 문제 등의 시스템 관리 목적으로 별도의 디스크를 마운트 하여 데이터를 저장하거나 애플리케이션을 설치하게 될 것이다. 그러면 주로 / 영역 외의 디스크를 주로 사용하게 될 텐데, / 영역에서 딱히 뭔가를 하지 않아도 어느새 용량을 차지하고 있는 모습을 발견할 수 있을 것이다.
이 글에서는 / 영역의 디스크 용량이 가득 찬 경우 정리할 만한 부분을 적어둔다.
1. /home
시스템 계정 사용자의 홈 디렉터리로, 디스크가 분리되지 않은 상태인 경우 확인해본다.
2. /var/spool
메일, 뉴스와 같은 시스템 상에서 대기 상태에 있는 작업을 위한 디렉터리다.
/var/spool/mail에는 사용자의 메일 파일이 저장되며, 초기화 명령은 아래와 같다.
cat /dev/null > /var/spool/mail/FILE
3. /var/log
시스템 로그 파일(messeges, secure) 등이 저장되는 디렉터리다. 단순 로그이기 때문에 서버 정책에 맞게 정리한다.
4. 도커 사용 시, /var/lib/docker/overlay2
도커의 기본 데이터 저장 경로는 /var/lib/docker이다. 컨테이너 내에서 사용되는 파일이 호스트의 루트 경로에 쌓이기 때문에 도커 사용 시에는 디스크 용량 부족 문제를 겪지 않도록 데이터 저장 경로를 변경하도록 한다.
방법은 아래 문서를 참고한다.
5. Jenkins 사용 시, /var/lib/jenkins/jobs
리눅스에서 Jenkins는 기본적으로 /var/lib/jenkins를 홈 디렉터리로 사용하며, 그 하위 디렉터리인 jobs에 프로젝트 관련 파일들이 저장된다.
즉, 젠킨스에서 빌드 히스토리 관리를 위한 빌드 로그가 /var/lib/jenkins/jobs/JOB_NAME/builds에 저장된다.
빌드 로그는 크게 중요하지 않기 때문에 주기적으로 삭제될 수 있도록 한다.
Jenkins Build 히스토리 정리 참고
2021.05.23 - [Jenkins] Build 히스토리 삭제 - 1
2021.12.12 - [Jenkins] Build 히스토리 삭제 - 2
6. 그 외
아래 명령어로 일일이 탐색한다.
du -sm ./* | sort -n