Ubuntu 26.04 강좌 / 보안 업데이트와 재부팅을 관리하기

Ubuntu 보안 업데이트는 패키지 설치 성공만으로 완료되지 않습니다. 자동 업데이트의 대상과 실제 로그를 확인하고, 필요한 재부팅과 서비스 응답을 별도로 검증해야 합니다.

현재 자동 업데이트 구성 확인하기

dpkg-query -W unattended-upgrades
systemctl list-timers --all apt-daily.timer apt-daily-upgrade.timer
apt-config dump | grep -E 'Periodic|Unattended-Upgrade'

명령이 실패하거나 타이머가 없으면 설치 유형과 해당 패키지를 먼저 확인합니다. 설정 파일 하나의 주석보다 APT가 읽은 최종 설정과 실제 실행 이력을 기준으로 판단합니다. 자동 업데이트가 설치되어 있다는 사실은 모든 저장소의 모든 업데이트가 허용되었다는 뜻이 아닙니다.

Ubuntu 자동 업데이트 안내는 허용 출처·스케줄·로그와 재부팅 설정을 설명합니다.

수동 업데이트와 서비스 영향 검토하기

sudo apt update
apt list --upgradable
apt-get -s upgrade

업데이트할 패키지·용량·서비스 영향을 읽고 백업과 작업 시간을 확보한 뒤 sudo apt upgrade로 적용합니다. 애플리케이션이 시작하는지뿐 아니라 외부에서 필요한 요청이 성공하는지도 확인합니다. 단계적 배포로 보류된 패키지를 일반 오류와 구분합니다.

자동 작업은 모의 실행과 로그로 검증하기

sudo unattended-upgrade --dry-run --debug
sudo journalctl -u apt-daily-upgrade.service --since today --no-pager
sudo ls /var/log/unattended-upgrades

모의 실행은 현재 설정에서 어떤 대상이 선택되는지 검토하는 과정이며 실제 설치 완료 증거가 아닙니다. 실제 실행 로그에서 성공·실패·보류 이유와 시각을 확인합니다. 다른 APT 작업이 진행 중이면 충돌시키지 말고 완료를 기다립니다.

자동 재부팅 정책을 명시하기

자동 재부팅을 허용하지 않는 실습 서버라면 기존 설정을 백업하고 로컬 APT 설정에 아래 항목을 명시할 수 있습니다. 예를 들어 /etc/apt/apt.conf.d/52unattended-upgrades-local을 사용하되 같은 이름의 파일이 이미 있으면 덮어쓰지 않고 내용을 검토·병합합니다.

Unattended-Upgrade::Automatic-Reboot "false";

변경 후 apt-config dump에서 최종 값을 확인합니다. 자동 재부팅을 막았다고 재부팅이 불필요해지는 것은 아니므로 운영자가 정해진 시간에 처리해야 합니다. 허용 정책이라면 시각·사용자 로그인·서비스 중단·실패 알림을 함께 설계합니다.

재부팅 필요와 실제 복구 결과 확인하기

test -f /run/reboot-required && cat /run/reboot-required
uname -r
systemctl --failed

필요하면 작업을 저장하고 계획한 시간에 재부팅합니다. 이후 실행 커널·시간·네트워크·SSH·웹 응답을 원래 기준과 비교합니다. 커널 패키지가 설치된 버전과 현재 실행 중인 커널은 다를 수 있습니다. 실패하면 업데이트 직전 로그와 콘솔·이전 정상 커널 등 준비한 복구 경로를 사용합니다.

정책 실습을 마치면 이번에 바꾼 로컬 설정만 백업과 비교해 복원하고 최종 값을 다시 조회합니다. 보안 업데이트 전체를 끄거나 오류 로그를 지우는 방식으로 점검 결과를 맞추지 않습니다.