[Ansible] Yum 패키지 관리

Ansible의 YUM 모듈은 기본 모듈 중 하나로, 리눅스 시스템에서 YUM (Yellowdog Updater, Modified) 패키지 관리자를 사용하여 패키지를 설치, 업그레이드, 제거하는 작업을 수행합니다. Ansible의 YUM 모듈을 통해 원격 호스트의 패키지 관리 작업을 자동화하여 사용할 수 있습니다.

 


YUM 모듈 구조

# 주요 매개변수 및 옵션을 사용한 예시
- name: YUM 패키지 설치, 업그레이드, 제거
  ansible.builtin.yum:
    name: package_name
    state: latest
    disable_gpg_check: true
    disablerepo: myrepo
    enablerepo: myotherrepo
    update_cache: false
    use_backend: dnf

 

주요 매개변수 및 옵션

  • name: 설치 또는 제거할 패키지의 이름을 지정합니다.
  • state: 패키지의 상태를 지정합니다.
    • present : 패키지 설치
    • latest : 최신 버전으로 패키지 업그레이드
    • absent : 패키지 제거
  • disable_gpg_check: GPG (GNU Privacy Guard) 검사를 비활성화합니다. 기본값은 False입니다.
  • disablerepo: 특정 리포지토리를 비활성화합니다.
  • enablerepo: 특정 리포지토리를 활성화합니다.
  • update_cache: YUM 패키지 캐시를 업데이트합니다. 기본값은 True입니다.
  • use_backend: 사용할 백엔드를 선택합니다. 기본 값은 auto이며, dnf 또는 yum을 직접 지정할 수도 있습니다.

 


YUM 패키지 설치

  • 실행 코드
- name: 패키지 설치
  yum:
    name: tcpdump
    state: present

 

  • 실행 로그
# ansible-playbook -i {{Inventory}}  roles/test_work.yml  -vv

TASK [test_work : 패키지 설치] *************************
changed: [node0] => {"changed": true, "changes": {"installed": ["tcpdump"]}, "msg": "##### 생략 #####", "rc": 0, "results": #####", 생략 #####", "]}

 

YUM 패키지 업그레이드

  • 실행 코드
- name: 최신 버전으로 패키지 업그레이드
  yum:
    name: tcpdump
    state: latest

 

  • 실행 로그
# ansible-playbook -i {{Inventory}}  roles/test_work.yml  -vv

TASK [test_work : 최신 버전으로 패키지 업그레이드] *****************
ok: [node0] => {"changed": false, "changes": {"installed": [], "updated": []}, "msg": "", "rc": 0, "results": ["All packages providing tcpdump are up to date", ""]}

 

YUM 패키지 제거

  • 실행 코드
- name: 패키지 제거
  yum:
    name: tcpdump
    state: absent

 

  • 실행 로그
# ansible-playbook -i {{Inventory}}  roles/test_work.yml  -vv

TASK [test_work : 패키지 제거] ************************
changed: [node0] => {"changed": true, "changes": {"removed": ["tcpdump"]}, "msg": "##### 생략 #####", "rc": 0, "results": #####", 생략 #####", "]}

 

 

기본적인 설치, 업그레이드, 제거 작업을 수행할 수 있으며 매개변수 및 옵션을 추가하여 상황에 맞는 작업을 진행할 수 있습니다. 지금까지 Ansible의 YUM 모듈을 통해서 원격 호스트의 패키지 관리 작업을 자동화하는 것을 알아보았습니다...! 끝...!

 

 

[Reference]

+ Recent posts