Como tirar o máximo de Ansible Unchive

Como tirar o máximo de Ansible Unchive
Unchiving refere -se à descompressão de arquivos que estão no .Zip, alcatrão e alcatrão.Formato GZ. É o processo por meio de quais arquivos são restaurados de um arquivo existente. Este arquivo pode estar presente localmente em seu sistema ou em um servidor remoto.

Arquivamento tem suas vantagens, a maior delas é a facilidade de portabilidade. Ele permite agrupar arquivos de diferentes tipos e compactá -los em um único portátil .arquivo zip/alcatrão que pode ser descomprimido para recuperar os arquivos originais posteriormente.

Ansible também fornece opções de arquivo com a ajuda do Ansible.construídas em.Módulo Uncarchivo. Este módulo tem as opções de descompactação disponíveis, juntamente com algumas opções que permitem copiar arquivos antes de extraí -los.

Este guia visa ajudá -lo a aprender como você pode usar o módulo UNARCRIVE em Ansible. Examinaremos o básico do módulo UNARCRIVE, alguns parâmetros comuns e exemplos sobre como implementá -los.

Dito isto, vamos começar.

Pré -requisitos de Uncarchive em Ansible

A seguir, estão os requisitos para o módulo nãoarcivo Ansible funcionar corretamente em seu sistema.

  • Um sistema com Ansible pré -instalado. Recomendamos que você use uma distribuição Linux.
  • Hosts remotos, sistemas separados ou máquinas virtuais. Software como as estações de trabalho Oracle VirtualBox, Vagrant e VMware são perfeitas para o trabalho.
  • Os comandos "Zipinfo", "Gtar" e "Unzip" devem ser instalados no host.

Também recomendamos que você tenha algum conhecimento básico de como executar comandos no terminal.

Limitações de Uncarchive em Ansible

Enquanto o módulo UNARCIVO funciona bem com .alcatrão, e .arquivos zip, ele não pode ser usado com arquivos do tipo .gz, .BZ2, .Arquivos XZ. Os arquivos devem conter um .Arquivo TAR para o módulo funcionar. Para arquivos que usam GTAR, verifique se o argumento -Diff é suportado.

A próxima seção deste guia cobrirá os parâmetros do módulo UNARCRIVE.

Parâmetros do módulo Ansible Uncarchive

O módulo Ansible Uncarchive tem sua própria lista de parâmetros que estendem a funcionalidade do módulo geral.

Uma lista de módulos importantes é dada abaixo.

  • “Atributos” - Eles governam os atributos de um determinado objeto de sistema de arquivos.
  • "Cópia" - esse recurso vem com duas opções, sim ou não. Se a opção selecionada for sim, o arquivo será copiado para o host remoto do dispositivo local.
  • "Creates" - usado para criar um caminho/diretório.
  • “Exclua” - permite que você exclua certos arquivos e diretórios de serem extraídos.
  • "Grupo" - designa um grupo ao qual o objeto de sistema de arquivos pertence.
  • “Incluir” - inclua arquivos e diretórios que você gostaria de extrair.
  • "Modo" - governa as permissões do sistema de arquivos.
  • “Proprietário” - designa um usuário como o proprietário de um objeto de sistema de arquivos

Além dos parâmetros acima, várias opções estão disponíveis com o módulo Ansible Uncarchive. Para mais detalhes sobre os parâmetros, confira a documentação oficial do módulo Ansible Uncarchive.

A próxima seção deste guia passará por alguns exemplos sobre como usar o UNARCIVE em Ansible.

Usando UNARCIVE para extrair um arquivo para um determinado diretório

O exemplo a seguir ilustra como você pode extrair um .Arquivo TGZ (chamado Arquivo.tgz) em um determinado caminho.

- Nome: Extrair Arquivo.tgz em/var/lib/arquivo
Ansible.construídas em.UNARCIVO:
SRC: Arquivo.TGZ
dest:/var/lib/arquivo

Agora, execute este comando no terminal Linux para executar um manual.

Livro de teste Ansible-PlayBook.yml

"SRC" indica o arquivo que deve ser extraído, enquanto "dest:" é usado para especificar o caminho.

Veremos mais exemplos para entender como usar melhor o módulo UNCHIVE.

Um arquivo desarquivo disponível no host remoto

O exemplo a seguir ilustra como você pode extrair um arquivo que já está presente no host ou máquina remota.

- Nome: Extrair um arquivo que já está presente no sistema remoto.
Ansible.construídas em.UNARCIVO:
src: /tmp /arquivo.fecho eclair
dest:/usr/local/bin
REMOTE_SRC: Sim

O código acima mencionado extrairá o arquivo de arquivo.zip in/usr/local/bin.

Usando o módulo UNARCIVE para extrair um arquivo online

Este foi um recurso que foi adicionado na versão 2 Ansible 2.0. Ele permite extrair um arquivo disponível online que ainda não foi baixado no sistema.

O exemplo a seguir ilustra como você pode conseguir isso.

- Nome: Extrair um arquivo que ainda não foi baixado no seu sistema
Ansible.construídas em.UNARCIVO:
SRC: https: ///.fecho eclair
dest:/usr/local/bin
REMOTE_SRC: Sim

O bloco de código acima mencionado extrairá o arquivo para o caminho de destino/usr/local/bin.

A diferença no código do manual com e sem desconhecimento

O exemplo a seguir visa ajudá -lo a ver a diferença entre o código que utiliza o módulo de comando desarquivo.

Começamos dando uma olhada em como escrever o código para copiar e arquivos desarquivais. Usaremos o módulo de cópia junto com o comando TAR -xvf para extração.

---
- Nome: Copie um determinado arquivo e extraia seu conteúdo
Hosts: test_servers
VARs:
- UserID: "LinuxUser1"
- oracle_home: "/opt/oracle"
- jdk_instl_file: "servidor-linux.alcatrão.gz "(nome do .alcatrão.arquivo gz.)
tarefas:
- Nome: Copie o conteúdo dos arquivos JDK
Torne -se: Sim
tornar -se_user: "userId"
Tags: App, CPBinários
cópia de:
src: "item"
dest: "oracle_home"
Modo: 0755
with_items:
- "jdk_instl_file"
- Nome: Instale Java
Torne -se: sim
tornar -se_user: "userId"
Tags: javainstall
shell: "tar xvfz oracle_home/jdk_instl_file"
args:
chdir: "oracle_home"
REGISTRO: JAVESTALL

As mesmas tarefas podem ser alcançadas de uma maneira muito mais simples usando o módulo UNCHIVE, como mostrado abaixo.

---
- Nome: Copie um determinado arquivo e extraia seu conteúdo
Hosts: test_servers
VARs:
- UserID: "LinuxUser1"
- oracle_home: "/opt/oracle"
- jdk_instl_file: "servidor-linux.alcatrão.gz "
tarefas:
- Nome: copie e instale o conteúdo JDK e Java
Torne -se: Sim
tornar -se_user: "userId"
Tags: javainstall
UNARCIVO:
src: "item"
dest: "oracle_home"
Modo: 0755
with_items:
- "jdk_instl_file"

Observe como há uma diminuição significativa nas linhas de código quando comparado com o método que não usa o módulo UNARCIVO. Ao usar o módulo UNARCRIVE, conseguimos mesclar a tarefa de copiar e desconhecer em um.

Conclusão

Esperamos. Cobrimos o básico do módulo junto com limitações, pré -requisitos e parâmetros. Também analisamos alguns exemplos para melhorar nosso entendimento. Com isso, desejamos a você tudo de melhor para aprender a usar Ansible.