- 1 1. 사전 지식: Linux/Ubuntu의 스토리지 구조와 마운트
- 2 2. 용량 확인을 위한 기본 명령어
- 3 3. GUI를 사용한 디스크 사용량 확인 (Ubuntu Desktop)
- 4 4. 디스크 공간 부족 조사 단계 및 해결 방법
- 5 5. 고급 팁 (유용한 트릭 & 주의사항)
- 6 6. FAQ (자주 묻는 질문)
- 6.1 Q1. Ubuntu에서 현재 남은 공간을 확인하는 가장 간단한 방법은?
- 6.2 Q2. 디렉터리별 디스크 사용량을 어떻게 확인할 수 있나요?
- 6.3 Q3. df와 du의 차이점은 무엇인가요?
- 6.4 Q4. GUI를 통해 남은 공간을 확인하려면 어떻게 해야 하나요?
- 6.5 Q5. “디스크 가득참” 경고가 뜨면 먼저 무엇을 삭제해야 할까요?
- 6.6 Q6. 스냅 앱이 디스크 공간을 팽창시킬 수 있다고 들었어요. 어떻게 해야 하나요?
- 6.7 Q7. /var 또는 /home이 너무 클 때 어떻게 해야 하나요?
- 6.8 Q8. du 실행이 오래 걸려요. 속도를 높일 방법은 없나요?
- 6.9 Q9. 다시 공간이 부족해지지 않도록 어떻게 방지할 수 있나요?
- 6.10 Q10. 저장소를 확장할 수 있는 옵션은 무엇인가요?
- 6.11 Q11. 루트 권한 없이 디스크 사용량을 확인할 수 있나요?
- 6.12 Q12. 헤드리스(서버) 시스템에서 저장소를 어떻게 확인하나요?
- 6.13 Q13. 저장소 확인 중 시스템을 망가뜨릴 위험이 있나요?
- 6.14 Q14. 공간을 절약하는 숨겨진 트릭이 있나요?
- 6.15 Q15. 디스크 사용량 모니터링을 위한 추천 도구는 무엇인가요?
- 6.16 Summary
1. 사전 지식: Linux/Ubuntu의 스토리지 구조와 마운트
Ubuntu(및 대부분의 Linux 기반 OS)에서 스토리지 용량을 확인할 때, 올바르게 이해해야 할 기본 구조가 있습니다. 이 섹션에서는 혼동을 일으키기 쉬운 개념들을 정리합니다.
- 디바이스와 파티션의 의미
- 마운트와 마운트 포인트
- LVM(Logical Volume Management)의 기본
- 일반적인 Ubuntu 구성
각 항목을 단계별로 살펴보겠습니다.
1.1 디바이스와 파티션 기본
디바이스(물리 및 논리 디스크)
Linux에서는 각 스토리지 디바이스가 디바이스 파일로 취급됩니다. 예를 들어 HDD, SSD, USB 드라이브 등은 /dev/sda, /dev/sdb, /dev/nvme0n1 등으로 나타납니다.
뒤에 붙는 문자(a, b, c…)는 시스템이 디바이스를 감지한 순서를 나타냅니다.
파티션
하나의 물리 디바이스를 그대로 사용할 수도 있지만, 일반적으로 여러 논리 구역(파티션)으로 나눕니다. 파티션을 사용하면 OS, 데이터, 로그 등을 별도로 관리하기 쉬워집니다.
예를 들어 /dev/sda1, /dev/sda2는 디바이스 sda의 첫 번째와 두 번째 파티션을 의미합니다. 각 파티션에 파일시스템이 생성되고 실제 데이터는 그 안에 저장됩니다.
(Example explanation of partitions in Linux) Engineer’s Entrance
파티션은 MBR(구형)이나 GPT(신형)와 같은 파티션 테이블 형식을 사용하며, 각각 제한 사항과 장점이 있습니다.
1.2 마운트와 마운트 포인트
마운트
파일시스템을 사용하려면 마운트해야 합니다. 즉, 파티션(또는 논리 볼륨)을 특정 디렉터리(마운트 포인트)와 연결하는 작업입니다. 마운트하지 않으면 해당 파티션의 데이터를 접근할 수 없습니다.
예를 들어 /dev/sda1에 ext4 파일시스템 있더라도, /mnt/data 아래에서 작업하려면 mount /dev/sda1 /mnt/data 명령을 실행해야 합니다.
마운트 포인트
파일시스템을 마운트하는 디렉터리를 마운트 포인트라고 합니다. 일반적인 예시:
/– 루트, 시스템 전체의 시작점/home– 사용자 홈 디렉터리/var– 로그, 캐시, 가변 데이터/boot– 부팅 관련 파일
다른 파티션을 서로 다른 마운트 포인트에 할당하는 것이 일반적인 관행입니다.
Ubuntu 및 대부분의 Linux OS에서는 /etc/fstab 파일에 “어떤 디바이스/UUID가 어디에(부팅 시 자동으로) 마운트되는지”가 정의되어 있습니다.
1.3 LVM(Logical Volume Management) 개요
단순 파티셔닝만으로는 나중에 변경하기 어려운 경우가 많습니다. LVM(Logical Volume Manager) 은 이를 해결해 줍니다.
핵심 LVM 구성 요소
- Physical Volume(PV) – 물리 디스크 또는 파티션
- Volume Group(VG) – 여러 PV를 하나의 큰 풀로 합침
- Logical Volume(LV) – VG에서 할당된 슬라이스; 파일시스템을 LV에 생성함
이 계층 구조를 통해 나중에 논리 볼륨을 확장·축소하거나, 물리 디스크를 풀에 추가할 수 있습니다.
LVM의 장점과 주의점
장점
- 유연한 크기 조정
- 여러 디스크를 하나의 풀로 결합
- 백업을 위한 스냅샷 생성이 쉬움
주의점
- 설정·운영이 복잡함
- 잘못 다루면 데이터 손실 위험
- 비 LVM 환경과는 확장 절차가 다름
Ubuntu 설치 프로그램은 종종 LVM 옵션을 제공하지만, 필요에 따라 사용하지 않는 경우도 많습니다.
1.4 일반적인 Ubuntu 구성
구성은 상황에 따라 다르지만, 흔히 사용되는 패턴은 다음과 같습니다.
단일 파티션(간단) 레이아웃
모든 파일이 루트(/) 아래에 존재합니다. 간단하지만, 나중에 파티션을 나누거나 확장하기가 어려울 수 있습니다.
분할 레이아웃 예시
/– 시스템 파일/home– 사용자 데이터/var– 로그 및 가변 데이터/boot– 부트 로더 파일- Swap(스왑 파티션 또는 스왑 파일)
이처럼 구분하면 로그나 캐시가 전체 시스템을 가득 채우는 상황을 방지할 수 있습니다.
LVM + 논리 볼륨
보다 고급 설정:
- 물리 디스크 → PV
- 여러 PV → VG
/,/home,/var등 → 별도 LV- 필요에 따라 LV를 추가·확장
LVM을 사용하면 디스크를 추가하거나 논리 볼륨을 유연하게 확장할 수 있습니다.
2. 용량 확인을 위한 기본 명령어
Ubuntu에서 명령줄을 사용하는 것이 디스크 사용량을 확인하는 가장 신뢰할 수 있고 유연한 방법입니다. 헤드리스 서버에서도 정확히 어떤 디스크가 사용 중이고 어떤 디렉토리가 공간을 소비하는지 확인할 수 있습니다.
아래는 핵심 df와 du 명령어와 몇 가지 도우미 도구입니다.
2.1 df를 사용한 전체 파일 시스템 확인
df가 하는 일
df (disk free)는 각 파일 시스템에 대한 총 사용량, 사용 중인 공간, 사용 가능한 공간을 표시합니다. Linux에서 용량을 확인하는 가장 일반적인 방법입니다.
기본 사용법
df -h
이 명령어는 “인간이 읽기 쉬운” 단위(K, M, G)로 모든 파일 시스템을 나열합니다. 주요 열:
| Column | Meaning |
|---|---|
| Filesystem | Device name (e.g., /dev/sda1) |
| Size | Total size of the filesystem |
| Used | Space already used |
| Avail | Free space remaining |
| Use% | Percentage used |
| Mounted on | Mount point (e.g., /, |
| Option | Description |
|---|---|
-h | Display sizes in MB/GB units (handy for a quick view) |
-T | Also show the filesystem type (e.g., ext4, xfs) |
--total | Append a total line at the end |
df -h /home | Show only the filesystem that contains the specified directory |
예시
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 100G 55G 40G 59% /
/dev/sda1 512M 120M 392M 24% /boot
tmpfs 16G 32M 16G 1% /run
이 출력에서 각 영역이 얼마나 많은 공간을 사용하고 있는지 한눈에 알 수 있습니다.
주의사항
- 마운트되지 않은 파티션은
df출력에 포함되지 않습니다. - Snap 패키지(
/var/lib/snapd/snaps)가 공간을 소비하고 있다면 별도로 확인해야 합니다. - 루트 권한 없이 일부 마운트 포인트는 보이지 않습니다.
2.2 du 명령어를 사용한 디렉토리 수준 사용량 확인
du 개요
du (disk usage)는 디렉토리와 파일의 크기를 보고하는 명령어입니다.
df가 “큰 그림”을 제공하는 반면, du는 “무거운 부분이 어디 있는지” 찾는 데 도움이 됩니다.
기본 사용법
du -sh /home
이 예시에서 /home 디렉토리의 총 사용량이 “인간이 읽기 쉬운 형식”(-h)으로 표시됩니다.
일반적인 옵션
| Option | Description |
|---|---|
-s | Show only the total (suppress details) |
-h | Auto‑scale units for readability |
--max-depth=1 | List usage of items directly under the specified directory |
-c | Show a grand total at the end |
--exclude=PATTERN | Exclude specific folders (e.g., caches) |
예시 (전체 비교)
sudo du -h --max-depth=1 /var
샘플 출력:
1.2G /var/log
2.5G /var/lib
800M /var/cache
4.5G /var
이로써 어떤 폴더가 공간을 차지하고 있는지 빠르게 확인할 수 있습니다.
고급: 크기별 정렬
du를 sort와 결합하면 큰 디렉토리를 쉽게 찾아낼 수 있습니다.
sudo du -hsx /* | sort -rh | head -10
이 명령어는 각 최상위 폴더의 사용량을 계산하고 상위 10개를 표시합니다.
시스템 전체에서 “공간을 먹는 범인”을 사냥하는 데 매우 효과적입니다.
주의사항
- 깊은 디렉토리 트리는 처리하는 데 시간이 걸릴 수 있습니다.
- 루트 권한 없이 일부 디렉토리는 정확한 크기를 보고하지 않습니다.
- 빠른 SSD에서도 수십 기가바이트를 측정하는 데 몇 분이 걸릴 수 있습니다.
2.3 다른 유용한 도우미 명령어 및 도구
lsblk: 블록 장치 레이아웃 보기
lsblk
lsblk는 디스크 장치와 파티션 레이아웃을 트리 형식으로 표시합니다.
크기를 마운트 포인트와 시각적으로 상관짓는 편리한 방법입니다.
예시:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 512M 0 part /boot
└─sda2 8:2 0 99.5G 0 part /
ncdu: 대화형 디스크 사용량 분석기
du보다 더 직관적인 인터페이스를 원한다면 ncdu (NCurses Disk Usage)를 시도해 보세요.
설치:
sudo apt install ncdu
실행:
sudo ncdu /
화살표 키를 사용하여 폴더를 확장하고 축소하며 어떤 디렉토리가 공간을 소비하는지 확인하세요.
GUI 없이 작동하기 때문에 서버와 워크스테이션 모두에서 인기 있습니다.
find와 결합
가장 큰 파일만 찾으려면 find를 사용하세요:
sudo find / -type f -size +1G
이것은 1 GB보다 큰 모든 파일을 검색하여 로그나 가상 머신 이미지와 같은 불필요한 큰 파일을 식별하는 데 도움이 됩니다.
2.4 어떤 방법을 사용할까? (비교 요약)
| Goal | Example command | Characteristics |
|---|---|---|
| Check overall free space | df -h | Shows usage per filesystem |
| Find size of a specific folder | du -sh /path | Displays detailed size |
| Locate space‑eaters | du -hsx /* | sort -rh | Sorts directories by size |
| View device layout | lsblk | Visualizes partition relationships |
| Find large files | find / -type f -size +1G | Filters by size condition |
3. GUI를 사용한 디스크 사용량 확인 (Ubuntu Desktop)
Ubuntu는 터미널을 열지 않고 디스크 사용량을 볼 수 있는 그래픽 도구를 제공합니다. 아래는 두 가지 일반적인 방법입니다.
- 내장 파일 관리자 (Nautilus)
- 디스크 사용량 분석기 (Baobab)
각각의 기능과 사용 방법을 살펴보겠습니다.
3.1 파일 관리자 (Nautilus)를 사용한 여유 공간 확인
기본 Ubuntu 방법
Ubuntu Desktop을 사용 중이라면 디스크 공간을 보는 가장 간단한 방법은 파일 관리자 (Nautilus)를 여는 것입니다.
- 왼쪽 도크(애플리케이션 런처)에서 파일 아이콘을 클릭하세요.
- 창의 오른쪽 위 또는 왼쪽 아래에 있는 상태 표시줄을 확인하세요.
- “xx GB 중 yy GB 사용됨” 또는 “zz GB 사용 가능”과 같은 것을 볼 수 있습니다.
이것은 시스템 드라이브의 여유 공간을 즉시 확인할 수 있게 해줍니다.
속성 통해 세부 정보 보기
폴더나 드라이브 아이콘을 오른쪽 클릭하고 속성을 선택하세요.
대화 상자는 해당 특정 폴더의 사용 공간과 여유 공간을 보여주며, /home 또는 /Downloads와 같은 디렉토리를 확인하는 데 유용합니다.
장단점
| Pros | Cons |
|---|---|
| One‑click, very easy | Hidden or system areas are not obvious |
| Beginner‑friendly | Doesn’t reveal /var/log, system partitions, etc. |
GUI는 전체 사용량의 빠른 “느낌”을 위해 훌륭하지만, 더 깊은 분석을 위해서는 Baobab을 원할 것입니다.
3.2 Disk Usage Analyzer (Baobab)
Baobab이란?
Baobab (Disk Usage Analyzer)은 파일 시스템을 스캔하고 결과를 대화형 트리맵 또는 링 차트로 제시하는 그래픽 유틸리티입니다. 시각적 개요로 큰 디렉토리와 파일을 빠르게 발견할 수 있게 해줍니다.
설치
sudo apt install baobab
실행
애플리케이션 메뉴에서 시작할 수 있습니다 (“Disk Usage Analyzer” 검색) 또는 실행:
baobab
사용 방법
- 스캔할 위치를 선택하세요 (예: “홈 폴더,” “파일 시스템,” 또는 사용자 지정 경로).
- 스캔이 완료되면, 트리맵은 공간 소비에 비례하여 크기가 조정된 직사각형으로 각 폴더를 표시합니다.
- 직사각형에 마우스를 올리거나 클릭하여 정확한 크기와 경로를 확인하세요.
- 폴더를 오른쪽 클릭하여 파일 관리자에서 열거나 직접 삭제하세요.
Baobab은 전체 데스크톱 환경 없이 작동하므로, 가벼운 Ubuntu 변형에서도 유용합니다.
이점
- 디스크 사용량의 시각적이고 직관적인 표현.
- 가장 큰 공간 소비자에게 쉽게 이동.
- 명령줄 옵션을 기억할 필요 없음.
제한사항
- 매우 큰 파일 시스템 스캔은 몇 분 걸릴 수 있음.
- 그래픽 세션이 필요 (헤드리스 서버에 적합하지 않음).
Baobab (공식 이름: Disk Usage Analyzer)은 Ubuntu에서 기본으로 제공되는 그래픽 도구로, 파이 차트와 트리맵으로 각 폴더가 사용하는 공간을 시각적으로 보여줍니다.
대부분의 시스템에 기본 설치되어 있지만, 없으면 다음으로 추가할 수 있습니다:
sudo apt install baobab
실행 방법
- Activities(왼쪽 위 검색 바)에서 “Disk Usage” 검색
- Disk Usage Analyzer (Baobab) 클릭하여 시작
- 실행 후, 폴더 스캔 또는 전체 파일 시스템 스캔 선택
짧은 스캔 후, 파이 차트 또는 트리 뷰가 각 디렉토리의 사용량을 시각적으로 표시합니다.
예시 보기 (이미지)
- 더 멀리 갈수록 디렉토리 계층이 깊어짐
- 각 세그먼트의 크기는 파이 조각의 면적으로 표현됨
시각적 단서로 어떤 폴더가 비대해졌는지 한눈에 쉽게 볼 수 있습니다.
주요 기능
| Feature | Description |
|---|---|
| Specify Scan Target | You can limit the scan to a specific directory such as /home |
| Tree View | Browse the folder structure and sizes in a list |
| Identify Unneeded Files | Spot large folders instantly |
| Right‑click → Open | Open the selected directory directly in the file manager |
이점과 주의사항
이점
- 그래픽 표시로 초보자에게 직관적임
- 무엇을 삭제하거나 재구성할지 결정하는 데 도움
- 루트로 실행하면 시스템 파티션도 분석 가능
주의사항
- 전체 시스템 스캔은 시간이 걸릴 수 있음
- 권한 제한으로 일부 폴더의 정확한 측정이 불가능할 수 있음
- 큰 디스크는 스캔 중 메모리 사용량 증가
3.3 GNOME Disks로 디스크 정보 확인
Ubuntu에는 표준 앱 GNOME Disks (Disk Utility)도 포함되어 있습니다.
디스크 구조 자체를 검사할 수 있게 하며, 여유 공간뿐만 아니라 더 많은 것을 보여줍니다:
- 장치 이름 (예:
/dev/sda) - 파일 시스템 유형 (ext4, NTFS 등)
- 마운트 지점
- 사용량 그래프
실행 방법:
- Activities에서 “Disks” 검색
- GNOME Disks 열기
- 왼쪽 목록에서 디스크 선택
시각적 게이지가 사용량을 보여주며, df와 동일한 정보를 그래픽 형태로 제공합니다.
3.4 GUI vs. 명령줄 사용 시기
Ubuntu 데스크톱에서는 GUI 도구가 저장소 관리에 충분한 경우가 많습니다.
그러나 정밀한 문제 해결이나 서버 관리를 위해서는 df와 du와 같은 명령줄 도구가 필수입니다.
| Situation | Recommended Tool |
|---|---|
| Quick check of free space | File manager (Nautilus) |
| Find large folders | Baobab (Disk Usage Analyzer) |
| Inspect device layout | GNOME Disks |
| Server or remote environment | df, du, lsblk, ncdu |
3.5 GUI가 없는 경우 (서버 사용자)
만약 GUI가 없는 Ubuntu Server 또는 다른 환경을 실행 중이라면, Baobab와 파일 관리자를 사용할 수 없습니다.
이 경우, 이전에 소개된 df, du, ncdu 명령어를 사용하세요; 이들은 상세한 텍스트 기반 저장소 분석을 제공합니다.
요약
GUI를 사용하면 저장소를 확인하고 정리할 지점을 몇 번의 클릭으로만 파악할 수 있습니다.
특히 Baobab는 Ubuntu 초보자부터 고급 사용자까지 모두가 사용하는 필수 도구입니다.
이 장에서 설명된 방법을 조합하면 일상적인 저장소 모니터링이 훨씬 쉬워집니다.
4. 디스크 공간 부족 조사 단계 및 해결 방법
시간이 지나면서 장기적인 사용과 누적된 패키지 업데이트로 인해 Ubuntu에서 디스크 공간이 부족해질 수 있습니다.
저공간 상태로 시스템을 방치하면 업데이트 실패, 로그 누락, 전체적인 불안정성이 발생할 수 있습니다.
이 섹션에서는 저공간 문제를 진단하고 효과적으로 해결하는 방법을 단계별로 안내합니다.
4.1 저공간 증상 인식
먼저 저장소가 부족해지고 있다는 징후를 식별하세요. 다음을 확인하세요:
apt upgrade가 “사용 가능한 공간이 부족합니다”라고 보고- GUI 경고 “디스크 공간이 부족합니다”
- 설정 저장이나 로그 작성 실패로 인한 애플리케이션 오류
/var또는/tmp가 가득 차서 느려지는 동작
이러한 징후가 보이면, 단순히 공간을 추가하는 것이 아니라 공간이 어디에 사용되고 있는지 파악할 때입니다.

4.2 단계 1: 사용량 개요 확인 (df)
전체 용량을 확인하기 위해 df -h로 시작하세요:
df -h
샘플 출력:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 50G 48G 1.2G 98% /
/dev/sda1 512M 120M 392M 24% /boot
Use% ≥ 90%인 마운트 포인트는 주의가 필요하며, 특히 /, /var, /home입니다.
4.3 단계 2: 공간을 소비하는 디렉터리 찾기 (du)
문제의 파티션을 파악한 후, du로 세부적으로 파고들어 보세요.
예시: 상위 10개 공간 소비 항목 표시
sudo du -hsx /* | sort -rh | head -10
샘플 출력:
15G /var
10G /home
5.2G /usr
3.1G /snap
큰 /var은 보통 로그나 캐시를 가리키며, 큰 /home은 사용자 데이터를 나타냅니다.
/var 내부 더 깊이 파고들기
sudo du -hsx /var/* | sort -rh | head -10
계층 구조를 탐색함으로써 공간을 과도하게 점유하는 정확한 디렉터리를 찾아낼 수 있습니다.
4.4 단계 3: 불필요한 파일 및 캐시 제거
범인을 식별한 후, 안전하게 삭제할 수 있는 항목부터 정리하세요.
(1) APT 캐시 정리
Ubuntu는 /var/cache/apt/archives에 임시 패키지 파일을 저장합니다. 이를 삭제하면 수 기가바이트를 확보할 수 있습니다.
sudo apt clean
sudo apt autoremove
apt clean– 모든 캐시된 패키지 파일 제거apt autoremove– 더 이상 필요 없는 패키지 제거
(2) 오래된 로그 파일 삭제
/var/log는 흔한 팽창 원인입니다.
sudo journalctl --vacuum-time=7d
위 명령어는 7일 이상 된 시스템 로그를 삭제합니다.
또한 불필요한 .gz (압축 로그) 파일을 수동으로 삭제할 수도 있습니다.
sudo rm -f /var/log/*.gz
(3) 오래된 Snap 패키지 버전 제거
Ubuntu에서 Snap 앱의 오래된 버전은 자동으로 유지됩니다.
다음 명령어로 오래된 스냅을 삭제할 수 있습니다.
sudo snap list --all | grep disabled | awk '{print $1, $3}' |
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
대안으로 간단한 “Snap Cleaner” 유형 유틸리티를 사용할 수 있습니다.
(4) 썸네일 캐시 삭제
이미지나 비디오를 많이 다루면 ~/.cache/thumbnails에 많은 캐시가 쌓입니다.
rm -rf ~/.cache/thumbnails/*
(5) 휴지통 비우기
GUI를 통해 삭제된 파일은 여전히 ~/.local/share/Trash/files에 남아 있을 수 있습니다.
rm -rf ~/.local/share/Trash/*
4.5 단계 4: 애플리케이션 및 로그로 인한 팽창 완화
(1) Docker 사용 시
Docker를 사용할 때 불필요한 이미지와 컨테이너가 공간을 소비할 수 있습니다.
docker system df
docker system prune -a
docker system df: Docker 관련 사용량 확인docker system prune -a: 사용되지 않는 이미지와 컨테이너 제거
(2) Flatpak 또는 Snap을 많이 사용할 때
많은 GUI 앱이 설치된 환경에서는 앱의 잔여 아티팩트(오래된 버전)가 축적되는 경향이 있습니다.
flatpak uninstall --unused 같은 명령어로 정리하세요.
(3) 로그 로테이션 설정 검토
/etc/logrotate.conf와 /etc/logrotate.d/를 확인하고, 재발을 방지하기 위해 적절한 보관 기간과 크기 제한을 설정하세요.
4.6 5단계: 디스크 크기 조정 또는 추가로 근본적으로 해결
파일 삭제만으로는 충분하지 않다면, 다음 구성 변경을 고려하세요.
(1) LVM을 사용할 때
LVM(Logical Volume Manager)을 사용하는 환경에서는 논리 볼륨을 쉽게 확장할 수 있습니다.
sudo lvextend -L +20G /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
이렇게 하면 /의 용량을 증가시킬 수 있습니다.
(2) 새 디스크 추가 및 마운트
새 스토리지를 /mnt/data(또는 유사한 위치)에 마운트하고, 큰 디렉토리(예: /var/lib/docker 또는 /home)를 그곳으로 이동하세요.
(3) 클라우드 스토리지 활용
로그와 백업을 Google Drive, Dropbox, Nextcloud 등으로 이동하는 것도 또 다른 옵션입니다.
4.7 재발 방지를 위한 정기 점검
공간 부족은 정기 모니터링으로 피할 수 있는 문제입니다.
다음 관행을 채택하는 것이 효과적입니다.
df -h와du -sh /var를 정기적으로 확인- 큰 디렉토리를 자동으로 확인하는 스크립트 생성
- 사용량이 임계값을 초과할 때 이메일 알림 설정 (
cron+mailutils, 등)
간단한 예:
#!/bin/bash
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
echo "Disk usage on / has exceeded ${THRESHOLD}%!" | mail -s "Disk Alert" admin@example.com
fi
4.8 요약: 공간 절약 조치 우선순위
| Priority | Measure | Notes |
|---|---|---|
| ★★★★★ | Delete APT cache (sudo apt clean) | Immediate effect |
| ★★★★☆ | Delete logs (sudo journalctl --vacuum-time=7d) | Safe and reliable |
| ★★★★☆ | Remove unnecessary Snap/Flatpak versions | Effective on desktop environments |
| ★★★☆☆ | Delete unnecessary Docker data | Useful for server use |
| ★★☆☆☆ | Disk expansion / mount addition | Effective as a root solution |
| ★☆☆☆☆ | Implement regular monitoring scripts | Benefits over long‑term operation |
Ubuntu의 공간이 부족할 때,
주요 소비자 식별 → 안전한 영역에서 삭제 → 구성 검토
이 세 단계를 따르면 대부분의 문제를 해결할 수 있습니다.
5. 고급 팁 (유용한 트릭 & 주의사항)
위의 방법으로 공간을 확인하고 정리한 후에도, 시간이 지나면서 디스크가 다시 가득 찰 수 있습니다.
Ubuntu를 원활하게 유지하기 위한 고급 기술을 소개합니다.
5.1 정기 디스크 점검 자동화
df나 du를 수동으로 실행하는 것은 번거롭지만, 자동화 스크립트로 노력을 줄일 수 있습니다.
사용량이 임계값을 초과할 때 알림을 보내도록 간단한 모니터링 스크립트를 cron에 등록하세요.
예: 여유 공간이 10% 미만으로 떨어지면 이메일 보내는 스크립트
#!/bin/bash
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
echo "Warning: Root disk usage has reached ${USAGE}%." |
mail -s "Ubuntu Disk Warning" user@example.com
fi
이것을 /usr/local/bin/check_disk.sh로 저장하고 chmod +x로 실행 가능하게 만드세요.
그 다음 crontab -e에 다음과 같이 등록하세요:
0 8 * * * /usr/local/bin/check_disk.sh
→ 매일 아침 8시에 자동으로 확인이 실행됩니다.
유용한 포인트
- Slack Webhook, LINE Notify 등을 통해 알림을 보낼 수도 있습니다.
- 여러 마운트 포인트를 동시에 모니터링하도록 확장할 수 있습니다.
5.2 큰 파일 찾기 원라이너
종종 부족은 몇 개의 거대한 파일로 인해 발생합니다.
다음 원라이너는 1 GB 이상의 파일을 나열합니다.
sudo find / -type f -size +1G -exec ls -lh {} ; | awk '{print $9 ": " $5}'
/var/log/syslog.1: 1.5G
/var/lib/docker/overlay2/.../diff/usr/lib/libchrome.so: 2.3G
/home/user/Downloads/video.mp4: 4.1G
이렇게 하면 삭제하거나 이동해야 할 파일을 빠르게 찾을 수 있습니다.
예: 특정 디렉토리만 검색
sudo find /var -type f -size +500M
→ /var 아래 500 MB 이상의 파일을 찾는 데 유용합니다.
5.3 자주 사용하는 명령어 별칭 설정
매번 긴 명령어를 입력하는 것은 번거롭기 때문에 별칭을 설정하는 것이 효율적입니다.
예: ~/.bashrc에 추가
alias dfh='df -h --total'
alias duh='sudo du -hsx /* | sort -rh | head -10'
alias logs='sudo du -hs /var/log/* | sort -rh | head -10'
설정 후 적용하세요:
source ~/.bashrc
이제,
dfh→ 전체 용량 확인duh→ 상위 10개 폴더 보기logs→ 로그 크기 조사
이러한 작업을 즉시 실행할 수 있습니다.
5.4 디스크 사용량 변화를 지속적으로 모니터링 (monitoring)
Ubuntu를 장기간 운영하면 “디스크 공간이 조용히 증가”하는 문제를 겪을 수 있습니다.
따라서 디스크 사용량 변화를 히스토리로 기록해 두는 것이 유용합니다.
예시: 디스크 사용량을 파일에 기록하는 스크립트
#!/bin/bash
df -h / | awk 'NR==2 {print strftime("%Y-%m-%d %H:%M:%S"), $3, $4, $5}' >> /var/log/disk_usage.log
이 스크립트를 cron 으로 하루에 한 번 실행하면 나중에 디스크 사용량 추세를 추적할 수 있습니다.
보다 고급적인 방법
- 그래프 작성을 위해
collectd또는netdata설치 - 모니터링 시각화를 위해 Prometheus + Grafana 사용
- 클라우드 환경에서는 AWS CloudWatch 또는 GCP Ops Agent와 연동
GUI 도구에 의존하지 않고 운영 관리 수준에서 모니터링할 수 있습니다.
5.5 권한 장벽에 주의
디스크 사용량을 확인하거나 삭제할 때 루트 권한이 없으면 정확한 결과를 얻지 못할 수 있습니다.
예시:
du -sh /var
일반 사용자는 “Permission denied”가 발생한 폴더를 건너뛰게 되므로 실제 사용량보다 낮은 값이 표시됩니다.
→ 대책으로 sudo 를 앞에 붙이거나 관리자 권한으로 작업하십시오.
5.6 SSD/HDD 환경에 대한 고려 사항
SSD 환경
- 불필요한 쓰기를 방지하기 위해
fstrim으로 정기적으로 TRIM을 실행합니다:sudo systemctl enable fstrim.timer
이는 SSD가 삭제된 블록을 최적화하도록 돕습니다.
HDD 환경
- 로그와 캐시가 파편화되기 쉬우므로 불필요한 파일을 삭제한 뒤 재부팅하면 효과적입니다.
- I/O‑무거운
du명령은 밤늦은 시간 등 부하가 낮은 시점에 실행하는 것이 좋습니다.
5.7 용량 관리를 체계화하여 재발 방지
궁극적인 용량 관리 해결책은 습관적이고 체계적인 접근입니다.
실용 체크리스트
df -h를 정기적으로 확인/var/log성장량을 월별로 점검apt autoremove를 주간 실행- 불필요한 Snap 및 Docker 데이터를 주기적으로 삭제
- 자동 알림 스크립트를 마련
이러한 작업을 꾸준히 수행하면 대부분의 디스크 공간 문제를 예방할 수 있습니다.
요약
이 섹션에서는 Ubuntu 디스크 공간 관리를 보다 효율적으로 만들 고급 기술을 소개했습니다.
핵심 포인트는 세 가지입니다:
- 자동화와 알림을 통한 조기 탐지
- 별칭과 원‑라인 명령을 활용한 운영 효율성
- 권한 및 장치 특성을 고려한 안전한 관리
이들을 결합하면 용량 관리가 번거로운 작업에서 시스템 운영의 필수적인 부분으로 변모합니다.
6. FAQ (자주 묻는 질문)
Q1. Ubuntu에서 현재 남은 공간을 확인하는 가장 간단한 방법은?
터미널에서 다음 명령을 실행하면 가장 쉽습니다.
df -h
이 명령은 각 드라이브(파티션)의 전체 크기, 사용 중인 공간, 남은 공간을 한눈에 보여줍니다.
-h 옵션을 추가하면 크기가 인간이 읽기 쉬운 형식(GB, MB)으로 표시됩니다.
Q2. 디렉터리별 디스크 사용량을 어떻게 확인할 수 있나요?
du 명령을 사용합니다.
특정 폴더의 사용량을 확인하려면 다음을 실행합니다:
du -sh /home
옵션 의미:
-s: 총합만 표시-h: 인간이 읽기 쉬운 단위로 크기 표시
보다 상세한 폴더별 사용량을 보려면 다음을 사용합니다:
sudo du -h --max-depth=1 /var
Q3. df와 du의 차이점은 무엇인가요?
요약하면 두 명령은 서로 다른 대상을 측정합니다.
| Command | Target | Primary Use |
|---|---|---|
df | Entire filesystem | Check free space |
du | File/directory level | Find where space is used |
예를 들어, / 의 전체 여유 공간을 보려면 df 를, 특정 폴더가 차지하는 용량을 보려면 du 를 사용합니다.
Q4. GUI를 통해 남은 공간을 확인하려면 어떻게 해야 하나요?
Ubuntu Desktop에서는 파일 관리자(Nautilus) 또는 디스크 사용량 분석기(Baobab) 를 이용해 시각적으로 확인할 수 있습니다.
- 파일 관리자 → 하단 바에 “Remaining XX GB” 표시
- Baobab → 사용량을 그래프로 분류하여 보여줌
두 방법 모두 초보자에게 친숙하며 클릭 한 번으로 결과를 확인할 수 있습니다.
Q5. “디스크 가득참” 경고가 뜨면 먼저 무엇을 삭제해야 할까요?
안전한 캐시와 불필요한 파일을 제거하는 것으로 시작하세요.
권장 순서는 다음과 같습니다:
- APT 캐시 지우기
sudo apt clean - 불필요한 패키지 제거
sudo apt autoremove - 로그 정리
sudo journalctl --vacuum-time=7d - 휴지통과 썸네일 캐시 비우기
rm -rf ~/.cache/thumbnails/* && rm -rf ~/.local/share/Trash/*
이 단계만으로도 여러 기가바이트를 확보할 수 있습니다.
Q6. 스냅 앱이 디스크 공간을 팽창시킬 수 있다고 들었어요. 어떻게 해야 하나요?
스냅은 앱의 각 버전을 유지하므로 오래된 개정이 남아 있을 수 있습니다.
다음 명령으로 불필요한 오래된 개정을 삭제할 수 있습니다:
sudo snap list --all | grep disabled | awk '{print $1, $3}' |
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
대안으로, GUI 도구 Snap Store를 사용하여 수동으로 제거할 수 있습니다.
Q7. /var 또는 /home이 너무 클 때 어떻게 해야 하나요?
/var– 로그(/var/log)와 캐시(/var/cache) 정리/home– 다운로드 및 비디오 파일을 백업하거나 외부 저장소로 이동
용량을 늘려야 한다면 LVM으로 볼륨을 확장하거나 새 디스크를 마운트하여 공간을 별도로 관리할 수 있습니다.
Q8. du 실행이 오래 걸려요. 속도를 높일 방법은 없나요?
du는 모든 파일을 재귀적으로 스캔하므로 항목이 많은 디렉터리에서 느릴 수 있습니다.
다음 트릭이 도움이 될 수 있습니다:
--max-depth=1을 사용하여 깊은 하위 디렉터리를 건너뛰기- 불필요한 폴더 제외(예:
--exclude=/proc) ncdu명령 사용(대화형 보기)sudo apt install ncdu sudo ncdu /
ncdu는 가볍게 느껴지며 디스크 사용량을 시각적으로 검사할 수 있는 방법을 제공합니다.
Q9. 다시 공간이 부족해지지 않도록 어떻게 방지할 수 있나요?
정기적인 유지보수가 큰 도움이 됩니다:
- 매주
sudo apt autoremove실행 - 매월
/var/log와/home사용량 확인 df -h출력을 로그에 저장하고 변경 사항 추적- 주기적으로 오래된 Snap 또는 Docker 데이터 삭제
- SSD의 경우
sudo systemctl enable fstrim.timer로 자동 트리밍 활성화
이러한 작업을 자동화하면 디스크 공간 문제를 방지할 수 있습니다.
Q10. 저장소를 확장할 수 있는 옵션은 무엇인가요?
세 가지 일반적인 접근 방법이 있습니다:
LVM 볼륨 확장
bash sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv sudo resize2fs /dev/ubuntu-vg/ubuntu-lv2. 새 디스크 추가 및 마운트 –/mnt/data와 같은 마운트 포인트 생성 및 부하 분산. 3. 클라우드 저장소 사용 – 큰 파일을 Google Drive, Nextcloud 등으로 이동.
물리적 저장소를 추가하는 것이 불가능하다면 오래된 파일을 아카이빙하는 것도 효과적입니다.
Q11. 루트 권한 없이 디스크 사용량을 확인할 수 있나요?
기본 df -h는 모든 사용자에게 작동하지만 du는 특정 디렉터리(예: /var/log)를 읽기 위한 권한이 필요합니다.
비루트 환경에서는 홈 디렉터리로 스캔을 제한하세요:
du -sh ~/*
Q12. 헤드리스(서버) 시스템에서 저장소를 어떻게 확인하나요?
Ubuntu 서버 에디션은 GUI가 없으므로 다음 명령을 사용하세요:
| Goal | Command |
|---|---|
| Check overall usage | df -h |
| Check per‑directory usage | sudo du -hsx /* |
| Find large files | sudo find / -type f -size +1G |
| Visual, text‑based view | sudo ncdu / |
이들을 조합하면 GUI 없이 디스크 사용량을 편안하게 분석할 수 있습니다.
Q13. 저장소 확인 중 시스템을 망가뜨릴 위험이 있나요?
단순히 확인하는 것은 위험이 없습니다.
그러나 삭제나 크기 조정 시 주의하세요:
sudo rm -rf사용 전에 경로를 이중 확인/bin,/lib,/etc와 같은 시스템 디렉터리는 절대 삭제하지 마세요- 확실하지 않다면 먼저 백업하세요
Q14. 공간을 절약하는 숨겨진 트릭이 있나요?
- 로그 보존 기간 단축(
/etc/logrotate.conf설정) - 불필요한 언어 팩 제거:
sudo apt install localepurge - 오래된 커널 제거(때때로 남아 있음):
sudo apt autoremove --purge
이 단계로 수백 MB에서 여러 GB까지 확보할 수 있습니다.
Q15. 디스크 사용량 모니터링을 위한 추천 도구는 무엇인가요?
Ubuntu는 여러 유용한 모니터링 도구를 제공합니다:
| Tool | Features |
|---|---|
| ncdu | Lightweight, fast CLI explorer |
| Baobab | GUI with visual charts |
| duf | Enhanced df with a clean table layout |
| Netdata / Prometheus / Grafana | Full‑stack server monitoring and graphing |
Summary
Ubuntu에서 디스크 공간을 관리하는 주요 요점은:
- 전체적인 보기에는
df를, 상세 검사는du를 사용하세요 - 불필요한 데이터를 안전한 순서로 삭제하세요 (APT → 로그 → 캐시)
- 재발 방지를 위해 정리와 모니터링을 자동화하세요
이러한 관행을 일상화하면 디스크 공간 문제는 드물게 발생합니다. 스토리지를 관리하는 일은 평범해 보일 수 있지만, 안정적인 Ubuntu 시스템을 위해 가장 중요한 유지 관리 작업 중 하나입니다.



