CentOS 6에서 패키지 자동 업데이트하기

  • Post author:
  • Post category:칼럼
  • Post comments:0 Comments
  • Post last modified:February 14, 2015

윈도우 업데이트처럼 CentOS 6에도 yum-cron이라는 서비스가 있습니다. yum update -ycron으로 돌리는 것과 유사하다고 보면 됩니다. 이메일 통지라던가 몇 가지 기능이 추가된 정도입니다. 자동으로 패키지를 업데이트하면 버그 있는 패키지가 서비스에 적용이 되어서 문제가 발생할 수도 있습니다. 그러므로 자동 업데이트는 개발/스테이지 환경에 적용하면 좋습니다. 이렇게 Stage 환경에 최신 패키지를 유지해 놓으면 Production에 자신있게 보안 또는 패키지 패치를 할 수 있습니다.

리눅스 노드가 여러 대이므로 한대 한대 이렇게 설정할 수는 없고 Puppet을 이용해 yum-cron을 구성합니다.

  1. 우선 Puppet forge에서 yum_autoupdate를 찾아서 설치합니다.
    puppet module install aco-yum_autoupdate
    
  2. yum-cron이 필요한 노드에 yum_autoupdate를 설치하고
    include ::yum_autoupdate
    
  3. hiera를 통해서 각 환경 별로 설정을 달리 합니다.
    ---
    # stage
    yum_autoupdate::notify_email: true
    yum_autoupdate::action: 'apply'
    yum_autoupdate::email_from: "sysadmins+%{::environment}@gmail.com"
    yum_autoupdate::email_to: "sysadmins+%{::environment}@gmail.com"
    yum_autoupdate::exclude:
    
    ---
    # production
    yum_autoupdate::notify_email: false
    yum_autoupdate::action: 'download'
    yum_autoupdate::email_from: "sysadmins+%{::environment}@gmail.com"
    yum_autoupdate::email_to: "sysadmins+%{::environment}@gmail.com"
    yum_autoupdate::exclude:
        - 'kernel*'
    

이 경우에는 Stage에는 패키지를 자동으로 업데이트하고, Production에서는 패키지를 설치하지는 않고 미리 다운로드만 받게 합니다.

Author Details
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
0 0 votes
Article Rating
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments