Yum-Paketverwaltung mit Ansible
Ansible bietet eine leistungsstarke und flexible Möglichkeit, die Paketinstallation und -aktualisierung in Ihrer Infrastruktur zu verwalten. In diesem Abschnitt werden wir untersuchen, wie Sie Ansible zur Yum-Paketverwaltung auf CentOS/RHEL-basierten Systemen verwenden können.
Yum-Modul in Ansible
Ansible's integriertes yum
-Modul ermöglicht es Ihnen, verschiedene Paketverwaltungstasks auszuführen, wie z. B. das Installieren, Aktualisieren oder Entfernen von Paketen. Hier ist ein Beispiel-Playbook, das das httpd
-Paket installiert:
---
- hosts: webservers
tasks:
- name: Install Apache
yum:
name: httpd
state: present
In diesem Playbook wird das yum
-Modul verwendet, um sicherzustellen, dass das httpd
-Paket auf allen Hosts in der webservers
-Gruppe installiert ist.
Aktualisieren von Paketen
Um ein Paket zu aktualisieren, können Sie die Option state: latest
im yum
-Modul verwenden:
---
- hosts: all
tasks:
- name: Update all packages
yum:
name: "*"
state: latest
Dieses Playbook wird alle installierten Pakete auf den verwalteten Knoten auf ihre neuesten Versionen aktualisieren.
Entfernen von Paketen
Um ein Paket zu entfernen, können Sie die Option state: absent
im yum
-Modul verwenden:
---
- hosts: webservers
tasks:
- name: Remove Apache
yum:
name: httpd
state: absent
Dieses Playbook wird das httpd
-Paket von allen Hosts in der webservers
-Gruppe entfernen.
Verwalten von Paketgruppen
Ansible ermöglicht es Ihnen auch, Paketgruppen mit dem yum
-Modul zu verwalten. Hier ist ein Beispiel für die Installation der Paketgruppe "Development Tools":
---
- hosts: all
tasks:
- name: Install Development Tools
yum:
name: "@Development Tools"
state: present
In diesem Playbook wird das @
-Symbol verwendet, um anzugeben, dass der Paketname sich auf eine Paketgruppe bezieht.
Umgang mit Paketabhängigkeiten
Ansible's yum
-Modul behandelt automatisch Paketabhängigkeiten und stellt sicher, dass alle erforderlichen Abhängigkeiten installiert werden, wenn ein Paket installiert wird.
---
- hosts: webservers
tasks:
- name: Install WordPress
yum:
name:
- httpd
- php
- mysql
state: present
Dieses Playbook wird die Pakete httpd
, php
und mysql
zusammen mit ihren Abhängigkeiten auf allen Hosts in der webservers
-Gruppe installieren.