대상 OS: Ubuntu Server 24.04 LTS

보안 패치는 “해야 하는 일”이 아니라 “안 하면 언젠가 터지는 일”입니다.
그런데 운영 서버에서 업데이트 자동화는 또 다른 불안을 만듭니다: 어느 날 갑자기 재시작이 걸리거나, 의존성이 꼬여 서비스가 흔들릴 수 있죠.
그래서 중요한 건 ‘무조건 자동’이 아니라, 안전장치를 넣은 자동화입니다.
Ubuntu의 unattended-upgrades는 보안 업데이트를 자동 적용할 수 있는 표준 도구이고, 설정을 잘 잡으면 운영 안정성과 보안을 같이 끌어올릴 수 있습니다.

이 글은 Ubuntu Server 24.04 LTS에서 unattended-upgrades를 “보안 업데이트만, 정해진 시간에, 재부팅은 통제된 방식으로” 운영하는 설정과 점검/트러블슈팅을 정리합니다.

---

1) 목표 정의: 무엇을 자동화하고 무엇을 남길 것인가

1) 자동 적용: 보안 업데이트(Security)

2) 조건부 적용: 중요 업데이트(환경에 따라)

3) 수동 유지: 커널/글리브/핵심 서비스의 메이저 변경

4) 통제 포인트: 재부팅(시간/조건), 알림, 롤백 플랜

운영 서버에서는 “보안 저장소만 자동, 나머지는 수동 검증 후”가 흔한 균형점입니다.

---

2) 설치 및 현재 상태 확인

1) 패키지 설치

sudo apt update
sudo apt -y install unattended-upgrades apt-listchanges

2) 서비스/타이머 확인

systemctl list-timers --all | grep -E 'apt|unattended' || true
systemctl status unattended-upgrades --no-pager || true

3) 기본 설정 파일 위치 확인

ls -la /etc/apt/apt.conf.d | sed -n '1,200p'

보통 아래 파일들이 핵심입니다.
- `/etc/apt/apt.conf.d/20auto-upgrades`
- `/etc/apt/apt.conf.d/50unattended-upgrades`

---

3) 자동 업데이트 스위치 켜기(20auto-upgrades)

1) 주기 설정(매일 업데이트 목록 갱신 + 매일 unattended 실행)

sudo tee /etc/apt/apt.conf.d/20auto-upgrades >/dev/null