Ubuntu 디스크 사용량을 안전하게 확인하고 정리하는 방법

Ubuntu 서버 디스크 관리의 중요성

우분투(Ubuntu) 서버를 운영하다 보면 예기치 않게 디스크 공간이 부족해지는 상황을 마주하게 됩니다. 웹서버 로그 파일이 비대해지거나 패키지 캐시가 쌓이고, 시스템 임시 파일이 정리되지 않으면 결국 디스크 가득 참(Disk Full) 현상으로 인해 서비스가 중단되거나 데이터베이스가 정상적으로 작동하지 않게 됩니다. 초보 서버 관리자에게 가장 중요한 것은 무작정 큰 파일을 삭제하는 것이 아니라, 시스템에 꼭 필요한 파일과 삭제해도 안전한 파일을 정확히 구분하여 운영 체제에 무리를 주지 않고 정리하는 것입니다.

이번 글에서는 우분투 환경에서 현재 디스크 사용량을 안전하게 진단하는 명령어부터, 패키지 관리자 정리, 로그 파일 정리, 그리고 실무에서 자주 범하는 실수와 예방을 위한 체크리스트까지 순서대로 살펴봅니다.

현재 디스크 사용량과 용량 부족 원인 진단

디스크 정리를 시작하기 전, 어떤 파티션이 얼마나 사용되고 있는지, 그리고 어떤 디렉터리가 용량을 많이 차지하고 있는지 파악해야 합니다. 임의로 파일을 지우기 전에 전체적인 현황을 먼저 점검하는 것이 안전한 서버 운영의 기본입니다.

1. 전체 파일시스템 및 마운트 지점 확인

df 명령어를 사용하면 현재 마운트된 파일시스템 전체의 용량과 사용률을 한눈에 확인할 수 있습니다. -h 옵션을 붙이면 사람이 읽기 쉬운 단위(GB, MB)로 출력됩니다.

df -h

이 명령을 통해 루트 파티션(/)이나 특정 데이터 파티션의 사용률이 90%를 넘었는지 확인합니다. 만약 100%에 도달했다면 긴급하게 불필요한 공간을 확보해야 합니다.

2. 디렉터리별 용량 점검

어떤 폴더가 용량을 많이 차지하는지 확인하려면 du 명령어를 사용합니다. 전체 루트 디렉터리를 대상으로 조회할 때는 시간이 다소 걸릴 수 있습니다.

du -sh /* 2>/dev/null

이 명령은 최상위 폴더들의 개별 용량을 보여줍니다. 주로 /var, /home, /usr 폴더에서 용량이 크게 나타나는 경우가 많습니다. 용량이 큰 폴더를 찾았다면 해당 폴더 내부로 이동하여 다시 du -sh * 명령으로 하위 폴더의 크기를 세밀하게 좁혀나갑니다.

안전하게 디스크 용량을 확보하는 방법

디스크 사용 현황을 파악했다면, 시스템 안정성을 유지하면서 안전하게 적용할 수 있는 정리 작업을 진행합니다. 시스템의 핵심 설정 파일이나 실행 파일을 건드리지 않고 캐시와 로그 위주로 비우는 것이 핵심입니다.

1. APT 패키지 캐시 정리

우분투는 프로그램을 설치하거나 업데이트할 때 다운로드한 패키지 파일(.deb)을 로컬에 보관합니다. 이 파일들은 시간이 지날수록 불필요하게 쌓이게 되며, apt 명령어로 안전하게 비울 수 있습니다.

  • sudo apt clean: 캐시 디렉터리에 남아 있는 모든 패키지 파일을 삭제합니다. 패키지를 다시 다운로드해야 하는 수고 외에는 시스템에 전혀 해가 없습니다.
  • sudo apt autoclean: 더 이상 다운로드할 수 없거나 오래된 캐시 파일만 골라서 정리합니다.
  • sudo apt autoremove: 다른 패키지의 의존성 때문에 설치되었으나 현재는 필요 없는 고아 패키지(Orphaned packages)를 찾아 제거합니다.

2. systemd 저널 로그 크기 조절

우분투 최신 버전은 systemd 저널(journal)을 통해 시스템 로그를 관리합니다. 이 로그 파일이 수 GB 이상 커지는 경우가 빈번합니다. 디스크 공간을 확보하기 위해 오래된 로그를 수동으로 정리하거나 보관 기간을 제한할 수 있습니다.

현재 저널 로그가 차지하는 용량 확인:

journalctl --disk-usage

특정 용량(예: 500MB) 이하로 로그 크기 축소하기:

sudo journalctl --vacuum-size=500M

특정 기간(예: 최근 7일)을 제외한 오래된 로그 삭제하기:

sudo journalctl --vacuum-time=7d

3. 임시 파일 디렉터리 정리

/tmp 디렉터리는 시스템이 임시로 사용하는 공간입니다. 재부팅 시 자동 정리되기도 하지만, 장기간 재부팅하지 않은 서버라면 오래된 임시 파일이 쌓여 있을 수 있습니다. 다만 현재 실행 중인 프로세스가 참조 중인 파일을 강제로 지우면 문제가 생길 수 있으므로, 며칠 이상 경과된 파일만 선별해서 삭제하거나 시스템 기본 기능을 활용하는 것이 안전합니다.

디스크 정리 시 자주 하는 실수

초보 관리자가 디스크를 정리하다가 흔히 저지르는 실수들을 미리 파악하고 예방해야 합니다.

  • /proc, /sys, /dev 디렉터리 임의 조작: 이들은 실제 디스크 공간을 차지하는 일반 파일이 아니라 커널과 상호작용하는 가상 파일시스템입니다. 이곳의 파일을 삭제하거나 수정하면 시스템이 즉시 다운될 수 있습니다.
  • 실행 중인 프로세스의 로그 파일 직접 삭제: rm 명령어로 로그 파일을 직접 지우더라도, 해당 로그를 쓰레드에 물고 있는 데몬 프로그램이 열어둔 파일 핸들을 놓지 않으면 디스크 공간이 실제로 반환되지 않고 프로세스 에러를 유발할 수 있습니다. 로그는 truncate 명령이나 로그 로테이션 도구를 사용해야 합니다.
  • 백업 파일(.bak, .tar.gz) 방치: 수동으로 백업을 생성한 뒤 홈 디렉터리나 웹 루트에 그대로 두고 잊어버리는 경우가 많습니다. 대용량 압축 파일의 위치를 주기적으로 확인해야 합니다.

안전한 디스크 관리 실무 체크리스트

서버 디스크 정리를 수행할 때 다음 항목을 순서대로 점검하면 장애를 예방할 수 있습니다.

  • [ ] df -h 명령어로 전체 디스크 파티션 및 사용률 확인
  • [ ] du -sh /* 명령어로 용량을 가장 많이 차지하는 상위 디렉터리 파악
  • [ ] sudo apt clean 및 sudo apt autoremove를 통한 패키지 캐시 정리
  • [ ] journalctl --disk-usage 확인 후 --vacuum-size 명령으로 시스템 로그 용량 축소
  • [ ] 웹서버 및 데이터베이스 로그 파일이 과도하게 커졌는지 확인 후 로그 로테이션(Logrotate) 설정 점검
  • [ ] 삭제 전 중요한 데이터나 설정 파일의 백업 상태 재확인

마무리

Ubuntu 서버의 디스크 사용량 관리는 일회성 작업이 아니라 정기적으로 모니터링해야 하는 운영의 한 과정입니다. df와 du를 통한 정확한 진단, 안전한 패키지 및 로그 정리를 습관화하면 디스크 부족으로 인한 갑작스러운 서비스 중단을 효과적으로 방지할 수 있습니다. 항상 삭제 전 한 번 더 대상을 확인하고, 시스템 파일 영역과 일반 데이터 영역을 구분하여 안전하게 서버를 관리하시기 바랍니다.

관련 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다