Linux 디스크 정리 대상 3가지와 데몬
Context
SSH 호스트에 접속하려다가 디스크가 96% 차서 무엇을 안전하게 지울 수 있는지 파악했다.
What I Learned
안전하게 지울 수 있는 것 3가지
셋 다 **“있으면 편하지만 없어도 동작에 지장 없는 캐시성 데이터”**다.
1. 저널 로그 (/var/log/journal)
systemd-journald가 쌓는 시스템 로그. 부팅 메시지, 커널 로그, 서비스 출력, 인증 시도 등을 기록한다.
journalctl --vacuum-size=100M # 100M만 남기고 정리
journalctl -u ssh # sshd 로그만
journalctl -b # 이번 부팅 이후 로그
journalctl -p err # 에러만
영구 제한은 /etc/systemd/journald.conf에 SystemMaxUse=100M 추가.
2. apt 캐시 (/var/cache/apt, /var/lib/apt)
/var/cache/apt/archives/—apt install시 다운로드한.deb파일 캐시/var/lib/apt/lists/—apt update로 받아온 패키지 목록 메타데이터
sudo apt clean # .deb 캐시 삭제 (100% 안전)
sudo apt autoremove # 더 이상 필요 없는 패키지 제거 (옛날 커널 헤더 등)
3. snapd (/var/lib/snapd)
Snap은 의존성을 통째로 묶은 컨테이너 형식 패키지. 이전 리비전을 기본 3개씩 보관해서 금방 GB 단위가 된다.
snap list # 설치된 snap 확인
sudo snap set system refresh.retain=2 # 보관 리비전 수 3→2로 줄이기
sudo apt purge snapd # 서버에서 아예 안 쓴다면 제거도 가능
서버(헤드리스 환경)에서는 snap 쓸 일이 거의 없다.
데몬(daemon)이란
백그라운드에서 계속 돌아가는 프로세스. 부팅 시 자동 시작되어 터미널 없이 동작한다.
| 일반 프로그램 | 데몬 | |
|---|---|---|
| 시작 | 사용자가 실행 | 부팅 시 자동 시작 |
| 종료 | 작업 끝나면 종료 | 계속 떠 있음 |
| 터미널 | 붙어 있음 | 없어도 동작 |
| 예시 | ls, vim | sshd, cron, nginx |
Unix 관례상 이름 끝에 d가 붙는다 — sshd, journald, crond.
# 현재 실행 중인 데몬 목록
systemctl list-units --type=service --state=running
# PPID=1인 프로세스가 대부분 데몬
ps -ef | head -20
어원은 그리스 신화의 daimon — 악마(demon)가 아니라 “보이지 않게 일을 돕는 정령” 쪽.
Note
디스크가 꽉 찼을 때 journal → apt → snapd 순으로 정리하면 보통 수백 MB~GB 확보 가능. apt autoremove는 오래된 커널 헤더까지 정리해줘서 효과가 크다.