Ansible

Hoe EPEL Repository op CentOS in te schakelen met Ansible

Hoe EPEL Repository op CentOS in te schakelen met Ansible
In dit artikel laat ik je zien hoe je EPEL-repository op CentOS kunt inschakelen met Ansible. Dus laten we beginnen.

Vereisten

Om EPEL-repository in te schakelen op CentOS 7- of CentOS 8-machines met Ansible:

  1. Je moet Ansible op je computer hebben geïnstalleerd.
  2. U moet CentOS 7- of CentOS 8-machines hebben geconfigureerd voor Ansible-automatisering.

Er zijn veel artikelen over LinuxHint gewijd aan het installeren van Ansible en het configureren van hosts voor Ansible-automatisering. Misschien wilt u deze artikelen indien nodig bekijken voor uw doeleinden.

EPEL-repository inschakelen op CentOS-hosts

Maak eerst een projectdirectory ~/project met het volgende commando:

$ mkdir -pv ~/project/playbooks

Navigeer naar de ~/project map met het volgende commando:

$ cd ~/project

Een nieuw bestand maken gastheren in de projectdirectory en open deze als volgt met de nano-teksteditor:

$ nano-hosts

Een leeg bestand gastheren moet worden gemaakt en geopend met de nano-teksteditor.

Typ de IP-adressen of DNS-namen van de doel-CentOS 7- en CentOS 8-machines (waar u EPEL-repository wilt inschakelen) in de centos gedeelte van de gastheren bestand, als volgt:

[cento's]
192.168.20.169
192.168.20.222

Hier, 192.168.20.169 is het IP-adres van mijn CentOS 8 virtuele machine en 192.168.20.222 is het IP-adres van mijn virtuele CentOS 7-machine. Deze zullen voor jou anders zijn. Zorg ervoor dat u vanaf nu de voorbeeld-IP-adressen vervangt door uw eigen lijst.

OPMERKING: U kunt de IP-adressen van uw CentOS-hosts vinden met de volgende opdracht:

$ hostnaam -I

Als uw CentOS-hosts DNS-namen hebben geconfigureerd, zou u ze moeten kunnen vinden met de volgende opdracht:

$ hostnaam -A

De laatste gastheren bestand zou eruit moeten zien zoals weergegeven in de onderstaande schermafbeelding.

Sla nu het hosts-bestand op door op . te drukken + X gevolgd door Y en .

Een Ansible-configuratiebestand maken weerbaar.cfg als volgt:

$ nano mogelijk.cfg

Typ de volgende regels in het ansible.cfg-bestand:

[standaard]
inventaris=./hosts

Nadat u deze stap hebt voltooid, slaat u het bestand op door op te drukken + X gevolgd door Y en .

Maak nu een nieuw Ansible-playbook enable_epel_repo.yaml in de draaiboeken/ map als volgt:

$ nano playbooks/enable_epel_repo.yaml

Typ vervolgens de volgende codes in de enable_epel_repo.yaml het dossier:

- hosts: centos
gebruiker: ansible
taken:
- naam: Schakel EPEL Repository in op CentOS 8
dnf:
naam: epel-release
staat: laatste
worden: True
wanneer: ansible_facts['os_family'] == 'RedHat' en ansible_facts
['distribution_major_version'] == '8'
- naam: Schakel EPEL Repository in op CentOS 7
jammie:
naam: epel-release
staat: laatste
worden: True
wanneer: ansible_facts['os_family'] == 'RedHat' en ansible_facts
['distribution_major_version'] == '7'

In deze code:

hosts: centos, selecteert alleen de hosts in de centos groep uit de gastheren het dossier.

gebruiker: ansible, de SSH-gebruikersnaam van de hosts (waar Ansible de taken zal uitvoeren) is: weerbaar.

ik heb 2 . gedefinieerd taken hier. Eén voor CentOS 8-hosts en één voor CentOS 7-hosts. De reden dat ik het op deze manier heb gedaan, is omdat de standaardpakketbeheerder voor CentOS 8 DNF is en CentOS 7 YUM is. Eén taak (eerste taak) gebruikt de DNF-pakketbeheerder en werkt alleen op CentOS 8-hosts. De andere taak (laatste taak) gebruikt de YUM-pakketbeheerder en draait alleen op CentOS 7-hosts.

Deze twee taken zijn bijna identiek. De enige verschillen zijn de pakketbeheermodules (dnf en jammie) gebruikt in de taken en de CentOS-versiecontrolecode.

dnf en jammie Ansible-modules accepteren dezelfde parameters.

Hier, naam: epel-release, het te installeren pakket is de is epel-release.

staat: laatste, het pakket epel-release moet worden geïnstalleerd. Als het pakket al is geïnstalleerd en er een bijgewerkte versie beschikbaar is, wordt het pakket bijgewerkt.

wanneer: voorwaarde, als de staat is waar, dan wordt de taak uitgevoerd. Anders wordt de taak niet uitgevoerd.

ansible_facts, gebruikt om toegang te krijgen tot de Ansible-hostvariabelen.

ansible_facts['os_family'] == 'RedHat', controleert of het host-besturingssysteem CentOS of RedHat is.

ansible_facts['distribution_major_version'] == '8', controleert of de host OS-versie 8 is (CentOS 8 of RedHat 8, in dit geval).

ansible_facts['distribution_major_version'] == '7', controleert of de host OS-versie 7 is (CentOS 7 of RedHat 7, in dit geval).

Sla dan op enable_epel_repo.yaml bestand door op te drukken + X gevolgd door Y en .

Nu kunt u het Ansible-playbook als volgt uitvoeren:

$ ansible-playbook playbooks/enable_epel_repo.yaml

Het playbook zou zonder fouten moeten werken en de EPEL-repository moet zijn ingeschakeld op zowel de CentOS 7- als de CentOS 8-hosts.

Zoals je kunt zien, is de EPEL-repository ingeschakeld in mijn CentOS 8-host.

Zoals je kunt zien, is EPEL-repository ingeschakeld in mijn CentOS 7-host.

Dus zo schakel je EPEL-repository op CentOS in met Ansible. Bedankt voor het lezen van dit artikel.

Open source-poorten van commerciële game-engines
Gratis, open source en platformonafhankelijke game-engine-recreaties kunnen worden gebruikt om zowel oude als enkele van de vrij recente gametitels te...
Beste opdrachtregelspellen voor Linux
De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...
Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...