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.confSystemMaxUse=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, vimsshd, 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는 오래된 커널 헤더까지 정리해줘서 효과가 크다.

← All TIL