Ansible Apt 모듈

AnsibleBeginner
지금 연습하기

소개

이 랩에서는 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 기반 시스템에서 패키지 관리 작업을 자동화할 수 있는 강력한 도구입니다. 이 지식을 통해 소프트웨어 설치 및 업데이트를 효율적으로 관리할 수 있습니다.