
시스템 관리자에게 필수적인 역량 중 하나는 온라인·오프라인 시스템의 상태를 항상 건강하게 유지하는 것입니다. 특히 장애 발생 시 데이터 손실로 이어질 수 있는 운영 서버에서는 더욱 중요합니다. 가장 흔한 문제 중 하나는 디스크 공간 부족으로 인해 업데이트가 실패하는 경우인데, 오류 메시지를 만났을 때 몇 가지 간단한 점검만 해두면 중요한 시스템이 원활하게 작동하도록 유지할 수 있습니다.
디스크 공간 점검에 주로 사용되는 명령어는 두 가지입니다.
df– 시스템 전체의 디스크 공간 현황을 보여줍니다du– 특정 파일이나 디렉터리가 차지하는 용량을 보여줍니다
두 명령어는 각각 다른 목적으로 사용되며, 필요에 따라 조합해서 활용할 수도 있습니다. 아래 예시를 통해 실제 사용법을 살펴보겠습니다.
df 명령어 사용하기
터미널을 열고 df를 입력한 후 Enter 키를 누르면 아래 이미지와 같은 출력 결과를 볼 수 있습니다.

출력 결과에는 시스템에 연결된 모든 디스크가 표시됩니다. 정보가 많아 다소 번거롭게 느껴질 수 있으므로, 작업 대상 디스크를 직접 지정하여 범위를 좁히는 것이 좋습니다. 예를 들어 기본 디스크가 "/dev/sda"로 표시된다면, "/dev/sda1", "/dev/sda2"처럼 특정 파티션만 지정해 조회할 수 있습니다.

df -h 옵션을 추가하면 사람이 읽기 쉬운 형태(KB, MB, GB 단위)로 결과를 확인할 수 있습니다.

--output 플래그를 사용하면 필요한 항목만 골라 더욱 깔끔하게 출력할 수 있습니다. 이 옵션에서 사용 가능한 매개변수는 다음과 같습니다.
source– 마운트 지점의 디바이스 출처size– 전체 블록 수used– 사용 중인 블록 수avail– 사용 가능한 블록 수pcent– 사용률(백분율)target– 디바이스의 마운트 지점
다음은 두 개의 매개변수만 지정한 예시입니다.
df --output=source,used,avail

du 명령어 사용하기
디스크가 거의 가득 찼다는 것을 알았다면, 그 원인이 무엇인지 찾아야 합니다. 바로 이럴 때 du 명령어가 문제의 파일들을 찾아내는 데 유용합니다. 실제 사례를 하나 소개하자면, 어느 날 원격 서버의 디스크 사용률이 별다른 경고 없이 98%에 달한다는 것을 발견했습니다. 조사해 보니 약 40GB에 달하는 자바 에러 로그 파일들이 쌓여 있는 것였습니다. 불필요하게 낭비된 엄청난 공간이었고, du로 해당 파일을 찾아낸 후 삭제하여 문제를 해결할 수 있었습니다.
주의할 점이 있습니다. 옵션 없이 du만 입력하면 모든 파일을 검색하기 때문에 상당한 시간이 걸릴 수 있습니다. 따라서 적절한 매개변수를 지정하는 것이 좋습니다. 예를 들어 시스템에서 용량이 가장 큰 디렉터리 10개를 찾으려면 다음과 같이 입력합니다.
du -a / | sort -n -r | head -n 10
명령어를 실행하면 스캔 후 아래와 비슷한 형태의 결과가 출력됩니다. 권한 관련 경고는 일단 무시해도 됩니다.

사용 가능한 모든 매개변수 목록은 du 맨 페이지(man page)에서 확인할 수 있습니다.
du의 훌륭한 대안: ncdu
터미널 명령어보다 좀 더 인터랙티ve한 방식으로 하드디스크 정보를 확인하고 싶다면 ncdu를 추천합니다. ncdu는 du를 ncurses 기반 인터페이스로 구현한 도구로, 동일한 정보를 훨씬直观적인 화면으로 보여줍니다. 방향키로 폴더 사이를 이동하고 Enter 키로 선택할 수도 있어 탐색이 매우 편리합니다.
Ubuntu에서는 다음 명령어로 설치할 수 있습니다.
sudo apt install ncdu
실행 방법은 다음과 같습니다.
ncdu /directory-to-scan
"directory-to-scan" 부분을 실제 스캔하려는 디렉터리 경로로 바꿔 입력하면 됩니다. 예를 들어 전체 하드디스크를 스캔하려면 다음과 같이 입력합니다.
ncdu /

기본적인 디스크 관리 습관
위의 명령어들 외에도, 디스크 사용량을 최소화로 유지하는 데 도움이 되는 기본적인 관리 방법들이 있습니다.
Autoremove로 불필요한 패키지 제거
Ubuntu 계열 시스템에서 가장 먼저 할 수 있는 일은 오래되었거나 불필요한 패키지를 정리하는 것입니다. 터미널에 다음을 입력합니다.
sudo apt autoremove
비밀번호를 올바르게 입력하면 시스템이 고립된(orphaned) 패키지 삭제를 시작합니다. 공간을 차지하면서도 대부분 불필요한 구버전 커널까지 함께 제거해 줍니다.
APT 캐시 정리
Ubuntu는 패키지를 다운로드할 때 apt 파일을 보관해 두었다가 필요할 때 쉽게 재설치할 수 있도록 합니다. 이 파일들이 공간을 차지하므로, 다음 명령어로 캐시 크기를 먼저 확인해 보세요.
sudo du -sh /var/cache/apt
그런 다음 아래 명령어로 캐시를 정리할 수 있습니다.
sudo apt autoclean
GUI 기반 도구 활용하기
터미널 작업이 번거롭게 느껴지거나, 잘못된 명령어 입력으로 시스템에 문제가 생길까 걱정되는 분들도 있을 것입니다. 다행히 리눅스에는 GUI 기반 도구도 준비되어 있습니다.
Bleachbit
Bleachbit은 Windows와 Linux 양쪽에서 사용할 수 있는 프로그램으로, 두 환경에서 동일한 방식으로 작동합니다. 공식 웹사이트에서 다운로드할 수 있지만 대부분의 시스템 저장소에도 포함되어 있습니다. 설치 후에는 체크박스로 정리할 항목을 선택하고 실행하기만 하면 되므로 사용법이 매우 간단합니다.
이 외에도 Ubuntu 시스템을 청소하는 다양한 방법이 있으니 참고해 보시기 바랍니다.
지금까지 살펴본 것처럼, 시스템과 디스크 공간을 주기적으로 점검하면 문제를 미연에 방지할 수 있습니다. 무엇보다 정기적인 청소가 중요합니다. 여러분의 경험담을 댓글로 공유해 주세요.