Introdução
Neste laboratório, você explorará o módulo Ansible Apt, que permite gerenciar pacotes em sistemas baseados em Debian usando o gerenciador de pacotes Apt. O módulo Apt oferece uma ampla gama de opções para instalar, atualizar e remover pacotes, bem como gerenciar repositórios.
Instalar um Pacote
Nesta etapa, você usará o módulo Apt do Ansible para instalar um pacote em um sistema de destino.
Primeiro, crie um novo arquivo de playbook do Ansible chamado /home/labex/project/apt-module-playbook.yaml (você também pode usar a extensão .yml) e abra-o em um editor de texto.
Adicione o seguinte conteúdo ao arquivo de playbook:
- hosts: localhost
tasks:
- name: Install a package
become: yes
apt:
name: docker-compose
state: present
Este é um playbook do Ansible para instalar um pacote chamado docker-compose em um host local. O uso de acesso privilegiado para realizar a tarefa é especificado via become: yes. No módulo apt, name especifica que o pacote a ser instalado é chamado docker-compose, e state: present garante que o pacote esteja no estado instalado.
Em seguida, execute o playbook usando o seguinte comando:
ansible-playbook apt-module-playbook.yaml
Exemplo de saída:
[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
Finalmente, verifique se o docker-compose foi instalado com sucesso e veja a versão do docker-compose.
docker-compose --version
Exemplo de saída:
docker-compose version 1.29.2, build unknown
Instalou com sucesso um pacote no sistema de destino usando o módulo Apt.
Atualizar um Pacote
Nesta etapa, você usará o módulo Ansible Apt para atualizar um pacote em um sistema de destino.
Primeiro, modifique o arquivo de playbook existente removendo todo o conteúdo e adicionando o seguinte conteúdo ao arquivo do playbook:
- hosts: localhost
tasks:
- name: Update a package
become: yes
apt:
name: docker-compose
state: latest
Este é um playbook Ansible para atualizar um pacote chamado docker-compose no host local. O uso de acesso privilegiado para executar a tarefa é especificado via become: yes. No módulo apt, name especifica que o pacote a ser atualizado se chama docker-compose e state: latest indica que o pacote deve ser atualizado para a versão mais recente.
Em seguida, execute o playbook usando o seguinte comando:
ansible-playbook apt-module-playbook.yaml
Exemplo de saída:
[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
Finalmente, verifique se o docker-compose foi atualizado com sucesso e veja a versão do docker-compose.
docker-compose --version
Exemplo de saída:
docker-compose version 1.29.2, build unknown
Atualize um pacote com sucesso no sistema de destino usando o módulo Apt.
Remover um Pacote
Nesta etapa, você usará o módulo Ansible Apt para remover um pacote de um sistema de destino.
Primeiro, modifique o arquivo de playbook existente removendo todo o conteúdo e adicionando o seguinte conteúdo ao arquivo do playbook:
- hosts: localhost
tasks:
- name: Remove a package
become: yes
apt:
name: docker-compose
state: absent
Este é um playbook Ansible para remover um pacote chamado docker-compose no host local. become: yes especifica que o acesso privilegiado é usado para executar a tarefa. No módulo apt, name especifica que o pacote a ser removido se chama docker-compose, e state: absent garante que o pacote seja removido, estando no estado desinstalado.
Em seguida, execute o playbook usando o seguinte comando:
ansible-playbook apt-module-playbook.yaml
Exemplo de saída:
[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
Finalmente, verifique se o docker-compose foi removido com sucesso.
docker-compose --version
Exemplo de saída:
zsh: command not found: docker-compose
Remova um pacote com sucesso do sistema de destino usando o módulo Apt.
Resumo
Parabéns! Você concluiu com sucesso o laboratório do módulo Ansible Apt. Você aprendeu como instalar, atualizar e remover pacotes.
O módulo Apt é uma ferramenta poderosa que permite automatizar tarefas de gerenciamento de pacotes em sistemas baseados em Debian. Com este conhecimento, você pode gerenciar com eficiência as instalações e atualizações de software.


