unattended-upgrades 설정 및 관리 방법 | Ubuntu(우분투)
unattended-upgrades ?
unattended-upgrades 는 Ubuntu 의 최신 보안 패치 및 기타 업데이트를 자동으로 수행하고 시스템을 유지, 관리 하는 것에 목적이 있는 서비스.
Ubuntu 를 설치하면 기본적으로 해당 서비스는 설치되어 작동하고 있습니다.
만약 설치가 안되어 있다면 아래와 같이 설치를 진행합니다.
$ sudo apt install unattended-upgrades -y
unattended-upgrades : 설정
unattended-upgrades
에 Default 로 들어가는 설정은 아래와 같습니다.
기본적으로 설정 되있는 것을 보면 4개의 Repository 에 대해서는 Update 가 Allow 되어 있는 것을 볼 수 있습니다.
특별히 추가한 Repository 가 없다면, Update 대상이 되는 Repository 는 우분투 22.04기준에서는 jammy
, jammy-security
입니다.
unattended-upgrades : service disable
고유한 서비스를 안정적으로 유지해야 하는경우엔 자동업데이트가 오히려 시스템을 불안정하게 하는 원인이 되는 경우가 대표적입니다.
따라서 운영중인 서비스에 영향이 가는 것을 막기 위하는 목적으로 Disabled을 수행해야 할 때가 있습니다.
Disable 을 위해서는 아래 명령을 이용하면 됩니다.
$ sudo dpkg-reconfigure unattended-upgrades
위 명령을 입력하면 아래와 같은 화면이 나타나며, 여기에서 <No>
를 선택하면 서비스가 Disable 됩니다.
상세 설정에서 아래와 같이 0으로 바뀌어 있는지 확인합니다.
ubuntu@ubuntu:~$ sudo dpkg-reconfigure unattended-upgrades
Replacing config file /etc/apt/apt.conf.d/20auto-upgrades with new version
ubuntu@ubuntu:~$ cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";
Enable 을 위해서는 Disable 에서 사용한 명령을 그대로 사용하고 <Yes>
를 선택하면 서비스가 Enable 됩니다.
ubuntu@ubuntu:~$ sudo dpkg-reconfigure unattended-upgrades
Replacing config file /etc/apt/apt.conf.d/20auto-upgrades with new version
ubuntu@ubuntu:~$ cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
unattended-upgrades : 주요 기능
활용하기 좋은 설정 들을 몇 가지 소개해 봅니다.
Blacklist 기능
/etc/apt/apt.conf.d/50unattended-upgrades
의 Unattended-Upgrade::Package-Blacklist
영역에
내용을 추가하면 특정 Package 를 Update 못하게 할 수 있습니다.
한가지 예로 nginx
에 대해 자동 update 가 안되도록 하기 위해서는 아래와 같이 설정하면 됩니다.
Unattended-Upgrade::Package-Blacklist {
"nginx";
};
Auto-Reboot
주기적으로 시스템을 Update 하고 자동으로 재부팅을 진행하고 싶은 경우, 아래 설정을 이용 할 수 있습니다.
Unattended-Upgrade::Automatic-Reboot
에서 재부팅 여부를 설정 할 수 있고,Unattended-Upgrade::Automatic-Reboot-WithUsers
에서 로그인한 사용자에 대한 재부팅 여부 설정,Unattended-Upgrade::Automatic-Reboot-Time
에서는 재부팅 시간을 설정 할 수 있습니다.
작동 확인
기본적으로 unattended-upgrades
는 매일 06:25 분에 수행되는 cron.daily 에 등록 되어 있습니다.
ubuntu@ubuntu:~$ cat /etc/crontab | grep daily
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
(위 시간은 각 시스템에 설정에 따라 차이가 있을 수 있습니다.)
수행하는 script 는 아래 부분입니다.
ubuntu@ubuntu:~$ cat /etc/cron.daily/apt-compat | tail -n1
exec /usr/lib/apt/apt.systemd.daily
작동 로그
자동으로 update 가 완료되는 아래와 경로에 로그가 생성되고 확인이 가능합니다.
apt history.log
에도 해당 내용이 기록됩니다.
참고 자료
Bricoleur88 Tech Insight 에서 더 알아보기
구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.