Ubuntu 디스크 사용량을 안전하게 확인하고 공간을 확보하는 실무 요령

시작하며

우분투 서버를 운영하다 보면 예기치 않게 디스크 공간이 부족해지는 상황을 마주하게 됩니다. 로그 파일이 무한정 쌓이거나, 사용하지 않는 패키지 캐시가 누적되면 시스템 성능 저하뿐만 아니라 핵심 서비스가 중단되는 서버 장애로 이어질 수 있습니다. 이 글에서는 우분투 초보 운영자가 시스템에 무리를 주지 않고 디스크 사용량을 안전하게 확인하고 공간을 확보하는 구체적인 절차를 다룹니다.

1. 현재 디스크 사용량과 여유 공간 확인하기

디스크 정리를 시작하기 전, 어떤 파티션이 얼마나 사용되고 있는지 전체적인 현황을 파악해야 합니다. 가장 기본이 되는 도구는 df와 du 명령어입니다.

전체 파일시스템 용량 확인 (df 명령어)

마운트된 파티션별 전체 용량과 남은 용량을 퍼센트(%) 단위로 보여줍니다. 사람이 읽기 쉬운 단위로 출력을 보려면 -h 옵션을 사용합니다.

df -h

이 명령어를 통해 어느 드라이브(예: 루트 파티션 /)가 포화 상태인지 빠르게 식별할 수 있습니다.

특정 디렉토리 용량 확인 (du 명령어)

특정 폴더가 얼마나 많은 용량을 차지하는지 파악하려면 du 명령어를 사용합니다. 예를 들어 루트 디렉토리 하위 폴더들의 크기를 확인하려면 아래 명령어를 입력합니다.

sudo du -h --max-depth=1 /

이 과정을 통해 용량을 과도하게 점유하는 특정 디렉토리(예: /var, /home, /tmp 등)를 정확히 찾아낼 수 있습니다.

2. 안전한 디스크 공간 확보 방법

원인을 파악했다면, 시스템 구동에 필수적인 파일을 건드리지 않고 안전하게 확보할 수 있는 공간부터 정리해야 합니다.

APT 패키지 캐시 정리

우분투는 패키지를 설치하거나 업데이트할 때 다운로드한 .deb 파일을 로컬에 보관합니다. 이 캐시는 시간이 지날수록 불필요하게 용량을 차지합니다. 패키지 관리 도구의 캐시를 정리하는 명령은 다음과 같습니다.

sudo apt-get clean

이 명령은 /var/cache/apt/archives/ 디렉토리에 쌓인 설치 파일을 안전하게 비워줍니다. 시스템 실행에는 아무런 영향을 주지 않습니다.

오래된 시스템 로그 및 저널 정리

systemd 저널 로그는 디스크 공간을 크게 소모하는 주범 중 하나입니다. 현재 저널 로그가 차지하는 용량을 확인한 뒤 크기를 제한할 수 있습니다.

sudo journalctl --disk-usage

특정 용량이나 기간을 기준으로 오래된 로그를 삭제하려면 아래 명령을 사용합니다. 예를 들어 2주가 지난 로그를 삭제합니다.

sudo journalctl --vacuum-time=2weeks

사용하지 않는 패키지와 의존성 제거

과거에 설치했으나 현재는 쓰지 않는 프로그램과, 더 이상 필요 없는 고아 패키지(Orphaned packages)를 정리합니다.

sudo apt-get autoremove --purge

이 명령어는 불필요한 패키지와 그 설정 파일을 함께 제거하여 디스크 공간을 확보해 줍니다.

3. 디스크 정리 작업 전후 검증 방법

정리 작업을 마친 후에는 반드시 시스템이 정상적으로 작동하는지, 목표했던 만큼 디스크 공간이 확보되었는지 검증해야 합니다.

  • 용량 재확인: df -h 명령을 다시 실행하여 루트 파티션의 사용률이 감소했는지 확인합니다.
  • 핵심 서비스 상태 점검: Nginx, Apache, MySQL, SSH 등 운영 중인 핵심 서비스가 정상 구동 중인지 systemctl 명령어로 확인합니다.
  • 로그 모니터링: tail -f /var/log/syslog 등을 통해 에러 로그가 급증하지 않는지 잠시 모니터링합니다.

실무 디스크 정리 체크리스트

서버 운영 중 디스크 부족 경고를 받았을 때 차례대로 실행할 수 있는 점검 항목입니다.

  • [ ] df -h 명령으로 포화 상태인 파티션 확인
  • [ ] sudo du -h --max-depth=1 / 명령으로 용량 과다 점유 폴더 특정
  • [ ] sudo apt-get clean으로 불필요한 패키지 캐시 삭제
  • [ ] sudo journalctl --vacuum-time=원하는기간으로 시스템 로그 정리
  • [ ] sudo apt-get autoremove --purge로 미사용 패키지 제거
  • [ ] 주요 서비스 구동 상태 및 에러 로그 재확인

초보 운영자가 자주 하는 실수

디스크를 정리할 때 초보자가 흔히 저지르는 실수는 다음과 같습니다. 주의를 기울여야 합니다.

  • 임의의 로그 파일 삭제: /var/log/ 내부의 파일을 rm 명령어로 직접 지우면, 해당 파일을 열고 있는 프로세스가 핸들을 놓지 않아 디스크 공간이 실제로 반환되지 않거나 서비스가 정상 로그를 쓰지 못하는 문제가 발생합니다. 로그는 반드시 logrotate나 전용 도구(journalctl 등)를 통해 관리해야 합니다.
  • 중요 설정 및 데이터 폴더 삭제 확인 누락: du 결과만 믿고 /var/lib 등의 핵심 데이터 디렉토리를 무단으로 삭제하면 데이터베이스나 웹 애플리케이션 데이터가 유실될 수 있습니다. 삭제 전 해당 경로의 용도를 반드시 확인하세요.
  • 백업 파일 방치: 수동으로 백업한 압축 파일(.tar.gz 등)을 홈 디렉토리나 루트에 남겨두고 잊어버리는 경우가 많습니다. 대용량 백업 파일은 안전한 외부 저장소로 이관하거나 즉시 삭제해야 합니다.

마치며

우분투 서버의 디스크 관리는 일회성 작업이 아니라 정기적으로 수행해야 하는 운영 루틴입니다. df와 du로 현황을 정확히 파악하고, 안전한 캐시 및 로그 정리 명령어를 활용한다면 장애 위험을 크게 낮출 수 있습니다. 항상 삭제 전 대상 경로를 두 번 확인하는 습관을 들이는 것이 안전한 서버 운영의 지름길입니다.

관련 글

답글 남기기

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