Vérifier l'intégrité du fichier avec la somme de contrôle
Dans cette étape, vous allez utiliser le module Ansible get_url pour vérifier l'intégrité du fichier téléchargé en utilisant une somme de contrôle.
Tout d'abord, modifiez le fichier de playbook existant en supprimant tout le contenu et en ajoutant le contenu suivant au fichier de playbook :
- hosts: localhost
tasks:
- name: Télécharger un fichier et vérifier la somme de contrôle
get_url:
url: "https://releases.ansible.com/ansible/ansible-2.9.25.tar.gz"
dest: "/tmp/ansible-2.9.25-2.tar.gz"
checksum: "sha256:https://releases.ansible.com/ansible/ansible-2.9.25.tar.gz.sha"
get_url
: C'est un module dans Ansible utilisé pour télécharger des fichiers depuis Internet.
url
: Ce paramètre spécifie l'URL à partir de laquelle télécharger le fichier. Dans ce cas, il télécharge la version Ansible
2.9.25 à partir des versions officielles d'Ansible.
dest
: Ce paramètre spécifie le chemin de destination sur l'hôte cible où le fichier téléchargé sera enregistré. Dans ce cas, il enregistre le fichier dans /tmp/ansible-2.9.25-2.tar.gz
.
checksum
: Ce paramètre est utilisé pour spécifier la somme de contrôle du fichier en cours de téléchargement, ainsi que son type. Dans ce cas, il est défini sur sha256:https://releases.ansible.com/ansible/ansible-2.9.25.tar.gz.sha
, indiquant qu'Ansible devrait vérifier la somme de contrôle SHA256
du fichier téléchargé par rapport à la somme de contrôle fournie à l'URL spécifiée. Cela assure l'intégrité du fichier téléchargé.
En résumé, ce playbook téléchargera le fichier tarball de la version Ansible 2.9.25 à partir de l'URL spécifiée, le sauvera sous le nom ansible-2.9.25-2.tar.gz
dans le répertoire /tmp
sur l'hôte local, et vérifiera son intégrité en comparant sa somme de contrôle SHA256
avec la somme de contrôle fournie à l'URL spécifiée.
Ensuite, exécutez le playbook avec la commande suivante :
ansible-playbook get_url-module-playbook.yaml
Observez la sortie pour voir si le fichier a été téléchargé et enregistré avec succès sur l'hôte distant, et vérifiez si la vérification de la somme de contrôle a réussi.
Sortie d'exemple :
[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 [Download a file and verify checksum] *************************************
changed: [localhost]
PLAY RECAP *********************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Vérifiez que le fichier a été téléchargé et enregistré avec succès sur l'hôte distant.
ll /tmp/ansible-2.9.25-2.tar.gz
Sortie d'exemple :
-rw-rw-r-- 1 labex labex 14M Mar 15 13:31 /tmp/ansible-2.9.25-2.tar.gz