yum-cron 으로 시스템 자동 업데이트

CentOS 사용자가 패키지 업데이트를 자동으로 하려면 yum-cron 패키지를 사용하면 정해진 시간마다 업데이트 정보를 검색해서 자동 업데이트를 수행할 수 있습니다.


$ sudo yum install yum-cron
$ sudo systemctl enable yum-cron
$ sudo systemctl restart yum-cron
yum-cron 설치


이제 설정 파일인 /etc/yum/yum-cron.conf 를 에디터로 열어봅시다. 

[commands]
# 업데이트 명령어 종류
# default = yum upgrade
# security = yum --security upgrade
# security-severity:Critical = yum --sec-severity=Critical upgrade
# minimal = yum --bugfix update-minimal
# minimal-security = yum --security update-minimal
# minimal-security-severity:Critical = --sec-severity=Critical update-minimal

update_cmd = default

# yes 로 설정하면 업데이트가 가능해지면 메일로 알림
update_messages = yes

# yes 로 설정하면 업데이트가 가능해지면 다운로드
download_updates = yes

# 업데이트가 가능해지면 시스템에 반영.
# download_updates 가 반드시 yes 로 설정되어야 함
apply_updates = yes

# 동시에 다운로드를 시작해서 대역폭을 많이 소비하지 않도록 시작전에 아래 정해진 시간만큼 잠듬(분 단위)
random_sleep = 360


[email]
# 업데이트 메일 송신자 주소
email_from = root@example.com

# 업데이트 메일 송신자 주소, 여러 명일 경우 공백을 구분자로 기술합니다.
email_to = root@example.com ec2-user@gmail.com

/etc/yum/yum-cron.conf

설정 파일에서 강조한 부분을 설정하면 yum-cron 을 사용하여 자동으로 시스템 업데이트를 반영할 수 있습니다.

업데이트 실행 시간은 /etc/anacrontab 에 설정되어 있으며 무작위로 지연 시간을 주기때문에 실제 실행 시간은 매일 다를 수 있습니다.


보안을 강화하는데 있어 시스템 업데이트는 매우 중요하며 수동 업데이트라면 주요 업데이트를 빠뜨릴 수 있습니다.

서버 운영은 최대한 자동화를 해야 하지만 가끔 커널 업데이트나 glibc 업데이트등 중요한 업데이트는 시스템 재부팅이나 서비스의 재구동이 필요할 수 있습니다.

자동화 시스템 도입시에는 이런 경우도 고려하여 적절하게 업데이트를 할 수 있도록 해야 합니다.


만약 패키지를 소스에서 설치했다면 이런 자동화가 힘들어지므로 보안과 자동화를 통한 업무 효율을 위해서도 패키지 관리자를 사용하는 것이 좋습니다.