SW/리눅스

CentOS 7 : yum-cron을 사용하여 자동 업데이트 구성 방법, 예제, 명령어

얇은생각 2021. 8. 23. 07:30
반응형

CentOS 시스템은 정기적으로 업데이트 전반적인 시스템 보안에서 가장 중요한 측면 중 하나입니다. 운영 체제의 패키지를 최신 보안 패치로 업데이트하지 않으면 시스템이 공격에 취약해집니다.

여러 센트OS 시스템을 관리하는 경우, 시스템 패키지를 수동으로 업데이트하려면 시간이 많이 걸릴 수 있습니다. 단일 CentOS를 관리하더라도 설치 시 중요한 업데이트를 간과할 수 있습니다. 여기서 자동 업데이트를 쉽게 사용할 수 있습니다.

CentOS 7에서 자동 업데이트를 구성하는 과정을 살펴보겠습니다. CentOS 6에도 동일한 지침이 적용됩니다.

 

 

CentOS 7 : yum-cron을 사용하여 자동 업데이트 구성 방법, 예제, 명령어

 

 

전제조건

계속하기 전에 sudo 권한을 가진 사용자로 로그인했는지 확인하십시오.

 

 

 

yum-cron 패키지 설치

yum-cron 패키지를 사용하여 cron 작업으로 yum 명령을 자동으로 실행하여 업데이트를 확인, 다운로드 및 적용할 수 있습니다. 이 패키지가 이미 CentOS 시스템에 설치되어 있을 수 있습니다. 설치되지 않은 경우 다음 명령을 실행하여 패키지를 설치할 수 있습니다.

sudo yum install yum-cron

 

 

설치가 완료되면 서비스를 활성화하고 시작합니다.

sudo systemctl enable yum-cron
sudo systemctl start yum-cron

 

 

서비스가 실행 중인지 확인하려면 다음 명령을 입력합니다.

systemctl status yum-cron

# ● yum-cron.service - Run automatic yum updates as a cron job
#    Loaded: loaded (/usr/lib/systemd/system/yum-cron.service; enabled; vendor preset: disabled)
#    Active: active (exited) since Sat 2019-05-04 21:49:45 UTC; 8min ago
#   Process: 2713 ExecStart=/bin/touch /var/lock/subsys/yum-cron (code=exited, status=0/SUCCESS)
#  Main PID: 2713 (code=exited, status=0/SUCCESS)
#    CGroup: /system.slice/yum-cron.service

 

 

 

yum-cron 구성

yum-cron은 /etc/crin 디렉토리에 저장된 두 개의 구성 파일, 즉 시간당 구성 파일 yum-cron-cron-cron.conf와 일일 구성 파일 yum-cron.conf와 함께 제공됩니다.

 yum-cron 서비스는 cron 작업의 실행 여부만 제어합니다. yum-cron 유틸리티는 /etc/cron에 의해 호출된다.매시간/0rpm-cron.cron 및 /etc/cron.daily/0rpm-daily.cron 파일.cron 파일.

기본적으로 시간별 크론은 아무 작업도 하지 않도록 구성됩니다. 사용 가능한 업데이트가 있는 경우 매일 크론이 다운로드하도록 설정되지만 사용 가능한 업데이트를 설치하지 않고 메시지를 stdout으로 보냅니다. 기본 구성은 테스트 서버에서 업데이트를 테스트한 후 알림을 받고 업데이트를 수동으로 수행하려는 중요한 프로덕션 시스템에 충분합니다.

 구성 파일은 섹션으로 구성되며 각 섹션에는 각 구성 라인이 수행하는 작업을 설명하는 설명이 포함되어 있습니다.

yum-cron 구성 파일을 편집하려면 텍스트 편집기에서 파일을 엽니다.

첫 번째 섹션인 [commands]에서는 업데이트할 패키지 유형을 정의하고, 메시지 및 다운로드를 활성화하며, 업데이트를 사용할 수 있을 때 자동으로 적용하도록 설정할 수 있습니다. 기본적으로 update_cmd는 모든 패키지를 업데이트하는 기본값으로 설정됩니다. 자동 무인 업데이트를 설정하려면 값을 보안으로 변경하는 것이 좋습니다. 이 값은 보안 문제만 해결하는 패키지를 업데이트하라는 메시지를 표시합니다.

다음 예에서는 apply_updates를 yes로 설정하여 update_cmd를 보안으로 변경하고 무인 업데이트를 사용하도록 설정했습니다.

# /etc/yum/yum-cron-hourly.conf

[commands]
update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = no
random_sleep = 360

 

 

두 번째 절에서는 메시지를 보내는 방법을 정의합니다. stdout 및 e-메일로 메시지를 보내려면 extect_via의 값을 stdio, e-메일로 변경합니다.

# /etc/yum/yum-cron-hourly.conf

[emitters]
system_name = None
emit_via = stdio,email
output_width = 80

 

 

[전자 메일] 섹션에서 발신자 및 수신자 전자 메일 주소를 설정할 수 있습니다. mailx 또는 postfix와 같이 시스템에 전자 메일을 보낼 수 있는 도구가 있는지 확인합니다.

# /etc/yum/yum-cron-hourly.conf

[email]
email_from = root@centos.host
email_to = me@example.com
email_host = localhost

 

 

[base] 섹션에서 yum.conf 파일에 정의된 설정을 재정의할 수 있습니다. 특정 패키지를 업데이트에서 제외하려면 제외 매개 변수를 사용할 수 있습니다. 다음 예제에서는 [mongodb] 패키지를 제외합니다.

# /etc/yum/yum-cron-hourly.conf

[base]
debuglevel = -2
mdpolicy = group:main
exclude = mongodb*

 

 

변경 내용을 적용하려면 얌크론 서비스를 다시 시작할 필요가 없습니다.

 


로그 보기

grep를 사용하여 yum과 연결된 cron 작업이 실행되었는지 여부를 확인합니다.

sudo grep yum /var/log/cron

# May  4 22:01:01 localhost run-parts(/etc/cron.hourly)[5588]: starting 0yum-hourly.cron
# May  4 22:32:01 localhost run-parts(/etc/cron.daily)[5960]: starting 0yum-daily.cron
# May  4 23:01:01 localhost run-parts(/etc/cron.hourly)[2121]: starting 0yum-hourly.cron
# May  4 23:01:01 localhost run-parts(/etc/cron.hourly)[2139]: finished 0yum-hourly.cr

 

 

yum 업데이트 내역은 /var/log/yum 파일에 기록됩니다. tail 명령을 사용하여 최신 업데이트를 볼 수 있습니다.

sudo tail -f  /var/log/yum.log

# May 04 23:47:28 Updated: libgomp-4.8.5-36.el7_6.2.x86_64
# May 04 23:47:31 Updated: bpftool-3.10.0-957.12.1.el7.x86_64
# May 04 23:47:31 Updated: htop-2.2.0-3.el7.x86_64

 

반응형