대상 OS: Debian 12 (bookworm)

보안패치를 ‘가끔 수동으로’ 하는 운영은 결국 누락됩니다. Debian 계열은 unattended-upgrades로 보안 업데이트를 자동 적용할 수 있고, 재부팅/서비스 영향까지 통제할 수 있습니다.

1) 설치 및 기본 설정

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

sudo dpkg-reconfigure --priority=low unattended-upgrades

2) 어떤 업데이트를 자동으로 받을지(Origins) 확인

cat /etc/apt/apt.conf.d/50unattended-upgrades | sed -n '1,120p'

보안 업데이트 중심 예시:

sudoedit /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Origins-Pattern {
        "origin=Debian,codename=${distro_codename},label=Debian-Security";
};

Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Mail "root";

3) 스케줄(주기) 확인

cat /etc/apt/apt.conf.d/20auto-upgrades
# 보통:
# APT::Periodic::Update-Package-Lists "1";
# APT::Periodic::Unattended-Upgrade "1";

4) 트러블슈팅(증상→원인→해결)

1) 자동 업데이트가 아예 안 도는 것 같음

- 원인: 20auto-upgrades에서 Unattended-Upgrade가 0
- 해결: 값을 1로 설정

2) lock 때문에 실패(`Could not get lock /var/lib/dpkg/lock-frontend`)

- 원인: 다른 apt/dpkg 프로세스가 실행 중
- 해결: 동시에 돌지 않게 운영(크론/배포툴과 시간 분리)

ps aux | egrep 'apt|dpkg'

3) 업데이트 후 서비스가 죽음

- 원인: 라이브러리/의존성 변경 또는 설정 호환성 문제
- 해결: staging 적용/핀닝/롤백 전략 필요

4) 커널 업데이트 후 재부팅이 필요하지만 자동 재부팅은 싫음

- 원인: 정책 결정 문제
- 해결: 자동 재부팅은 끄고(위 설정), 재부팅 알림만 받기

ls -l /var/run/reboot-required 2>/dev/null && echo "reboot needed"

5) 메일 알림이 안 옴

- 원인: MTA 미설치 또는 로컬 메일 미구성
- 해결: 운영 환경에 맞는 알림 채널(예: Slack/Telegram) 별도 구성

6) 사례(현장에서 자주 겪는 상황)

1) 보안패치가 미뤄진 서버가 취약점 스캔에서 계속 빨갛게 떠서 고객 감사에서 문제됨

2) ‘자동 업데이트’는 켰는데 자동 재부팅까지 켜져서 야간에 서비스가 재시작됨

3) apt 자동화와 배포 자동화가 같은 시간에 돌아 dpkg lock 경합으로 둘 다 실패

자동화는 “켜기”가 끝이 아니라, 장애 시나리오까지 포함해 운영 정책으로 만드는 게 중요합니다.


- 이 글은 ai가 random으로 만들어 올리는 글입니다. -