[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]
'Infrastructure As Code > Ansible' 카테고리의 다른 글
[Ansible] 시스템 OS 재시작 하기 (0) | 2023.03.10 |
---|---|
[Ansible] 도커 컨테이너 ID 가져오기 (0) | 2023.02.20 |