Comment exécuter une mise à jour apt-get dans Ansible

How Run An Apt Get Update Ansible



Dans mon flux de travail quotidien, je travaille avec de nombreux systèmes Linux distants, dont la plupart sont basés sur Debian.

Je peux vous dire ouvertement que parfois, il devient très fastidieux de SSH dans toutes les machines, de faire une mise à jour apt-get, puis de vérifier s'il y a des mises à jour et de les installer. Même avec des connexions SSH sans mot de passe, cela prend toujours un temps considérable.







Après m'être constamment demandé, comment puis-je automatiser ce processus ? J'ai trouvé Ansible !



Pour ce tutoriel, je vais vous montrer comment utiliser ce puissant outil d'automatisation pour mettre à jour tous vos systèmes distants à l'aide d'apt. Rester à jour et appliquer tous les correctifs à votre système contribuera à assurer la sécurité de votre système.



Qu'est-ce qu'Ansible ?

Ansible est un outil d'automatisation puissant qui vous permet de configurer et de gérer à distance et automatiquement les systèmes. De plus, il offre des fonctionnalités intéressantes telles que l'installation de logiciels à distance, des restaurations en cas d'erreurs, des sauvegardes, des téléchargements à distance et bien d'autres.





Ansible est également très facile à utiliser. Il utilise des fichiers YAML faciles à écrire et très lisibles, ainsi qu'un haut niveau de sécurité car il utilise SSH pour se connecter et gérer les systèmes.

Gérer plus d'un système à partir d'un seul outil est plus que triomphant, et tout administrateur système devrait être familier s'il n'utilise pas déjà Ansible.



Installer Ansible

Avec les éloges d'Ansible à l'écart, examinons l'installation d'Ansible sur notre machine locale pour gérer les serveurs distants.

Pour ce tutoriel, j'utiliserai Ubuntu 20.10 comme machine locale. Pour savoir comment installer Ansible sur d'autres systèmes, consultez la documentation.

Sur Ubuntu, utilisez les commandes :

mise à jour sudo apt
sudo apt install software-properties-common
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt installer ansible

Ansible Ajouter des hôtes

Si vous n'êtes pas familier avec Ansible, la première étape consiste à créer un inventaire des machines distantes que vous souhaitez automatiser. Vous pouvez le faire en modifiant le fichier /etc/ansible/hosts.

Pour ajouter les serveurs Debian, saisissez les entrées comme suit :

[debian]
192.168.0.13

Vous pouvez transmettre l'adresse IP de l'hôte distant ou utiliser le nom d'hôte de la machine.

Une fois que nous avons la liste des hôtes à gérer dans le fichier de configuration, nous pouvons procéder et automatiser les mises à jour.

Mettre à jour à l'aide du module apt

Pour mettre à jour et gérer les packages à distance sur des machines basées sur Debian, nous utilisons le module apt fourni par Ansible. Le module apt nous permet de gérer les packages apt avec d'autres configurations.

Mettre à jour le cache du référentiel
Pour mettre à jour le cache du référentiel à l'aide d'Ansible, nous pouvons utiliser un playbook comme indiqué ci-dessous :

---
- hébergeurs : debian
devenir : oui
devenir_méthode : sudo
Tâches:
- nom : 'Mettre à jour le cache du référentiel'
apte:
update_cache : vrai
cache_valid_time : 3600
force_apt_get : vrai

Enregistrez le fichier et exécutez la commande en tant que :

ansible-playbook --user=debian apt.yaml

Cela exécutera le playbook et exécutera les tâches spécifiées. La sortie est comme indiqué ci-dessous :

Dans le playbook Ansible, nous commençons par spécifier les hôtes. Dans ce cas, nous ne voulons que les hôtes Debian.

Ensuite, nous le définissons pour qu'il devienne true, permettant à l'utilisateur d'élever ses privilèges à l'aide de sudo comme spécifié dans becom_method.

Enfin, nous définissons les tâches pour mettre à jour le cache du référentiel. Nous définissons également un cache_valid_time comme 3600 qui actualise le cache s'il est plus ancien que ladite heure.

REMARQUE: Utilisez force_apt-get au lieu d'aptitude.

Mettre à niveau tous les forfaits
Nous pouvons également mettre à jour tous les packages du système qui correspondent à la commande :

sudo apt-get dist-upgrade

Pour ce faire à l'aide d'Ansible playbook, nous ajoutons le fichier yaml en tant que :

---
- hébergeurs : tous
devenir : oui
devenir_méthode : sudo
Tâches:
- nom : 'Mise à jour du cache et mise à jour complète du système'
apte:
update_cache : vrai
mise à niveau : dist
cache_valid_time : 3600
force_apt_get : vrai

De même, exécutez Ansible Playbook ci-dessus, comme indiqué dans la première commande.

Conclusion

Dans ce didacticiel, nous avons rapidement expliqué ce qu'est Ansible, ce qu'il offre et comment nous pouvons utiliser ses modules pour effectuer une mise à jour du système sur un système basé sur Debian.

Merci et bonne automatisation