Ansible Apt 모듈

AnsibleBeginner
지금 연습하기

소개

이 랩에서는 Apt 패키지 관리자를 사용하여 Debian 기반 시스템에서 패키지를 관리할 수 있는 Ansible Apt 모듈을 살펴봅니다. Apt 모듈은 패키지 설치, 업데이트 및 제거는 물론, 저장소 (repository) 관리와 같은 다양한 옵션을 제공합니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 100%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

패키지 설치

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