본문 바로가기

리눅스

우분투 24.04에서 자동 업그레이드 및 자동 재부팅을 비활성화 방법

반응형

우분투 24.04에서 자동 업그레이드(Unattended-Upgrades) 및 자동 재부팅을 비활성화 방법

우분투 24.04는 기본적으로 unattended-upgrades 서비스와 apt-daily 타이머를 통해 자동 패키지 업데이트 및 보안 업그레이드를 수행합니다.

  • 자동 패키지 목록 갱신 (apt update)
  • 자동 보안 업데이트
  • 자동 패키지 업그레이드
  • 커널 업데이트 후 자동 재부팅

운영 서버 환경에서는 예기치 않은 패키지 변경 및 재부팅을 방지하기 위해 자동 업그레이드를 비활성화하는 경우가 많습니다.

테스트 환경

운영체제 정보

lsb_release -d | grep Description
Description:	Ubuntu 24.04.4 LTS

1. 현재 자동 업그레이드 동작 확인

cron.daily 확인

cat /etc/crontab | grep daily
25 6 * * * root test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.daily; }
우분투 24.04에서는 대부분 systemd timer 기반으로 동작하지만 일부 환경에서는 cron.daily도 함께 사용됩니다.

unattended-upgrades 로그 확인

cat /var/log/unattended-upgrades/unattended-upgrades-dpkg.log

APT 패키지 이력 확인

cat /var/log/apt/history.log
자동 업그레이드가 실제 수행되었는지 확인할 수 있습니다.

2. unattended-upgrades 서비스 비활성화

서비스 상태 확인

sudo systemctl status unattended-upgrades

서비스 중지 및 비활성화

sudo systemctl disable --now unattended-upgrades

상태 확인

systemctl is-enabled unattended-upgrades
disabled
  • 자동 패키지 업그레이드 대부분 중지
  • 자동 보안 패치 중지
  • 자동 재부팅도 일반적으로 중지

이 설정으로 대부분의 자동 패키지 업그레이드와 자동 보안 패치가 중지됩니다.

다만 우분투 24.04에서는 apt-daily.timer 및 apt-daily-upgrade.timer가 여전히 동작할 수 있으므로 운영 서버에서는 추가 비활성화를 권장합니다.

3. APT 자동 업데이트 설정 비활성화

설정 파일 수정

sudo vim /etc/apt/apt.conf.d/20auto-upgrades

기본 설정

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

다음과 같이 변경합니다.

APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";

설정 값 설명

  • Update-Package-Lists : 자동 apt update 수행 여부
  • Unattended-Upgrade : 자동 업그레이드 수행 여부
728x90

4. systemd APT Timer 비활성화

우분투 24.04에서는 아래 systemd timer가 자동 APT 작업을 수행합니다.

  • pt-daily.timer : 패키지 목록 자동 갱신
  • apt-daily-upgrade.timer : 자동 업그레이드 수행

apt-daily.timer 비활성화

  • 상태 확인
sudo systemctl status apt-daily.timer
  • 비활성화
sudo systemctl disable --now apt-daily.timer

apt-daily-upgrade.timer 비활성화

  • 상태 확인
sudo systemctl status apt-daily-upgrade.timer
  • 비활성화
sudo systemctl disable --now apt-daily-upgrade.timer

활성화된 APT Timer 확인

systemctl list-timers | grep apt
비활성화 후 출력되지 않거나 inactive 상태이면 정상입니다.

5. 자동 재부팅 비활성화

커널 업데이트 후 자동 재부팅을 방지하려면 아래 설정을 적용합니다.

 

설정 파일 수정

sudo sed -i.bak \
's|//Unattended-Upgrade::Automatic-Reboot "false";|Unattended-Upgrade::Automatic-Reboot "false";|' \
/etc/apt/apt.conf.d/50unattended-upgrades

설정 확인

grep "Automatic-Reboot" /etc/apt/apt.conf.d/50unattended-upgrades | grep -v '//'

6. unattended-upgrades 패키지 제거

자동 업그레이드를 완전히 사용하지 않을 경우 패키지를 제거할 수 있습니다.

sudo apt remove -y unattended-upgrades
  • 설정 파일까지 제거
sudo apt purge -y unattended-upgrades

7.  운영 서버 권장 설정

sudo systemctl disable --now unattended-upgrades

sudo systemctl disable --now apt-daily.timer
sudo systemctl disable --now apt-daily-upgrade.timer
sudo sed -i.bak \
's|//Unattended-Upgrade::Automatic-Reboot "false";|Unattended-Upgrade::Automatic-Reboot "false";|' \
/etc/apt/apt.conf.d/50unattended-upgrades

8. 수동 패치

패키지 목록 갱신 및 패키지 업그레이드

sudo apt update
sudo apt upgrade

업그레이드 가능한 패키지 확인

apt list --upgradable

 

grep "자동 재부팅" /etc/apt/apt.conf.d/50unattended-upgrades | grep -v '//'
 
728x90
반응형