소개
이 랩에서는 Apt 패키지 관리자를 사용하여 Debian 기반 시스템에서 패키지를 관리할 수 있는 Ansible Apt 모듈을 살펴봅니다. Apt 모듈은 패키지 설치, 업데이트 및 제거는 물론, 저장소 (repository) 관리와 같은 다양한 옵션을 제공합니다.
이 랩에서는 Apt 패키지 관리자를 사용하여 Debian 기반 시스템에서 패키지를 관리할 수 있는 Ansible Apt 모듈을 살펴봅니다. Apt 모듈은 패키지 설치, 업데이트 및 제거는 물론, 저장소 (repository) 관리와 같은 다양한 옵션을 제공합니다.
이 단계에서는 Ansible Apt 모듈을 사용하여 대상 시스템에 패키지를 설치합니다.
먼저 /home/labex/project/apt-module-playbook.yaml이라는 새 Ansible 플레이북 파일을 생성하고 ( .yml 확장자를 사용해도 됩니다) 텍스트 편집기에서 엽니다.
플레이북 파일에 다음 내용을 추가합니다:
- hosts: localhost
tasks:
- name: Install a package
become: yes
apt:
name: docker-compose
state: present
이것은 로컬 호스트에 docker-compose라는 패키지를 설치하기 위한 Ansible 플레이북입니다. 작업을 수행하기 위해 관리자 권한을 사용하는 것은 become: yes를 통해 지정됩니다. apt 모듈에서 name은 설치할 패키지의 이름이 docker-compose임을 지정하고, state: present는 패키지가 설치된 상태임을 보장합니다.
그런 다음 다음 명령을 사용하여 플레이북을 실행합니다:
ansible-playbook apt-module-playbook.yaml
예시 출력:
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
PLAY [localhost] ***************************************************************
TASK [Gathering Facts] *********************************************************
ok: [localhost]
TASK [Install a package] *******************************************************
changed: [localhost]
PLAY RECAP *********************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
마지막으로 docker-compose가 성공적으로 설치되었는지 확인하고 docker-compose 버전을 확인합니다.
docker-compose --version
예시 출력:
docker-compose version 1.29.2, build unknown
Apt 모듈을 사용하여 대상 시스템에 패키지를 성공적으로 설치했습니다.
이 단계에서는 Ansible Apt 모듈을 사용하여 대상 시스템에서 패키지를 업데이트합니다.
먼저, 기존 플레이북 파일의 모든 내용을 제거하고 다음 내용을 플레이북 파일에 추가하여 수정합니다.
- hosts: localhost
tasks:
- name: Update a package
become: yes
apt:
name: docker-compose
state: latest
이것은 로컬 호스트에서 docker-compose라는 패키지를 업데이트하기 위한 Ansible 플레이북입니다. 작업을 수행하기 위해 권한 있는 액세스를 사용하는 것은 become: yes를 통해 지정됩니다. apt 모듈에서 name은 업데이트할 패키지가 docker-compose임을 지정하고, state: latest는 패키지를 최신 버전으로 업데이트해야 함을 나타냅니다.
그런 다음, 다음 명령을 사용하여 플레이북을 실행합니다.
ansible-playbook apt-module-playbook.yaml
예시 출력:
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
PLAY [localhost] ***************************************************************
TASK [Gathering Facts] *********************************************************
ok: [localhost]
TASK [Update a package] ********************************************************
ok: [localhost]
PLAY RECAP *********************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
마지막으로, docker-compose가 성공적으로 업데이트되었는지 확인하고 docker-compose 버전을 확인합니다.
docker-compose --version
예시 출력:
docker-compose version 1.29.2, build unknown
Apt 모듈을 사용하여 대상 시스템에서 패키지를 성공적으로 업데이트했습니다.
이 단계에서는 Ansible Apt 모듈을 사용하여 대상 시스템에서 패키지를 제거합니다.
먼저, 기존 플레이북 파일의 모든 내용을 제거하고 다음 내용을 플레이북 파일에 추가하여 수정합니다.
- hosts: localhost
tasks:
- name: Remove a package
become: yes
apt:
name: docker-compose
state: absent
이것은 로컬 호스트에서 docker-compose라는 패키지를 제거하기 위한 Ansible 플레이북입니다. become: yes는 작업을 수행하기 위해 권한 있는 액세스가 사용됨을 지정합니다. apt 모듈에서 name은 제거할 패키지가 docker-compose임을 지정하고, state: absent는 패키지가 설치되지 않은 상태로 제거되도록 합니다.
그런 다음, 다음 명령을 사용하여 플레이북을 실행합니다.
ansible-playbook apt-module-playbook.yaml
예시 출력:
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
PLAY [localhost] ***************************************************************
TASK [Gathering Facts] *********************************************************
ok: [localhost]
TASK [Remove a package] ********************************************************
changed: [localhost]
PLAY RECAP *********************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
마지막으로, docker-compose가 성공적으로 제거되었는지 확인합니다.
docker-compose --version
예시 출력:
zsh: command not found: docker-compose
Apt 모듈을 사용하여 대상 시스템에서 패키지를 성공적으로 제거했습니다.
축하합니다! Ansible Apt 모듈 랩을 성공적으로 완료했습니다. 패키지를 설치, 업데이트 및 제거하는 방법을 배웠습니다.
Apt 모듈은 Debian 기반 시스템에서 패키지 관리 작업을 자동화할 수 있는 강력한 도구입니다. 이 지식을 통해 소프트웨어 설치 및 업데이트를 효율적으로 관리할 수 있습니다.