Odgovorno

Jednostavna instalacija više paketa na CentOS pomoću Ansible

Jednostavna instalacija više paketa na CentOS pomoću Ansible
Na Ansible možete koristiti dnf ili njam modul za instaliranje softverskih paketa na CentOS ili RHEL hostove. Prema zadanim postavkama ovi moduli instaliraju samo jedan softverski paket. Možete koristiti dnf ili njam modul više puta u svojoj knjizi Ansible za instaliranje onoliko softverskih paketa koliko želite. Iako ovo nije najučinkovitiji način za to, jer će biti puno ponavljanja koda koje bismo željeli izbjeći ako je moguće. Srećom, petlje možemo koristiti za lako instaliranje onoliko softverskih paketa koliko želimo bez ponavljanja koda.

Ovaj će vam članak pokazati kako instalirati više softverskih paketa na CentOS / RHEL hostove pomoću petlje Ansible. Pa, krenimo.

Preduvjeti

Ako želite isprobati primjere u ovom članku,
1) Na računalu morate imati instaliran Ansible.
2) Morate imati najmanje CentOS / RHEL 7 ili 8 host konfiguriran za Ansible automatizaciju.

Na LinuxHintu postoji mnogo članaka posvećenih Instaliranju Ansible i konfiguriranju hostova za Ansible automatizaciju. Možete ih provjeriti ako je potrebno.

Postavljanje direktorija projekata

Prije nego što krenemo dalje, stvorit ćemo direktorij projekata, samo da stvari budu malo organizirane.

Za stvaranje direktorija projekta centos-kg / i sve potrebne poddirektorijume (u vašem trenutnom radnom direktoriju), pokrenite sljedeću naredbu:

$ mkdir -pv centos-pkg / playbooks

Jednom kad se kreira direktorij projekta, prijeđite na direktorij projekta, kako slijedi:

$ cd centos-kg /

Zatim stvorite a domaćini inventarna datoteka, kako slijedi:

$ nano domaćini

Dodajte IP ili DNS ime hosta (vm3.nodekite.com, u mom slučaju) vaših CentOS / RHEL hostova u datoteci inventara (jedan host u retku).

Nakon što završite, datoteku spremite pritiskom na + x, nakon čega slijedi Y i .

Stvorite konfiguracijsku datoteku Ansible ansible.usp u vašem direktoriju projekta, kako slijedi:

$ nano ansible.usp

Zatim unesite sljedeće retke u ansible.usp datoteka.

[zadane postavke]
inventar = domaćini
host_key_checking = Netačno

Nakon što završite, spremite ansible.usp datoteku pritiskom na + x, nakon čega slijedi Y i .

Pokušajte pingati sve CentOS / RHEL hostove koje ste dodali u svoj domaćini inventarna datoteka, kako slijedi:

$ ansible sve -u ansible -m ping

Kao što vidite, moj CentOS 8 domaćin je dostupan.

Instaliranje jednog softverskog paketa

Ovaj će vam odjeljak pokazati kako instalirati jedan softverski paket pomoću dnf ili njam modul Ansible na vašim CentOS / RHEL domaćinima.

Prvo izradite novu knjigu pjesama install_package.yaml u igraonice / direktorij, kako slijedi:

$ nano playbooks / install_package.yaml

Zatim unesite sljedeće retke u install_package.yaml datoteka.

- domaćini: svi
korisnik: ansible
postati: Istina
zadaci:
- ime: Instalirajte httpd paket
dnf:
naziv: httpd
stanje: prisutno
update_cache: Tačno

Nakon što završite, datoteku spremite pritiskom na + x, nakon čega slijedi Y i .

Evo, dodao sam samo jedan zadatak, Instalirajte httpd paket. Svrha ovog zadatka je instalirati httpd paket na CentOS / RHEL 8.

CentOS / RHEL 7 ne koristi dnf paket manager, koristi njam upravitelj paketa. Dakle, ako koristite CentOS / RHEL 7, promijenite ga dnf do njam, kako je označeno na snimci zaslona u nastavku. Nisu potrebne nikakve druge promjene.

The Ime opcija koristi se za kazivanje dnf ili njam modul naziv paketa koji pokušavate instalirati. U ovom će slučaju to biti httpd paket.

The država opcija koristi se za kazivanje dnf ili njam modul radnje (tj.e. instalirati, nadograditi, ukloniti) trebao bi preuzeti zadani paket. U ovom slučaju radnja je predstaviti.

Podržane vrijednosti država opcije su:

predstaviti - instalirat će paket ako već nije instaliran.

najnoviji - instalirat će paket ako već nije instaliran; ako je već instaliran, modul će provjeriti ima li ažuriranja; ako je dostupna ažurirana verzija paketa, instalirat će novu verziju.

odsutan - uklonit će paket ako je instaliran.

Ako je update_cache opcija je postavljena na Pravi, predmemorija spremišta spremišta DNF / YUM bit će ažurirana prije instaliranja paketa.

Pokrenite install_package.yaml playbook, kako slijedi:

$ ansible-playbook playbooks / install_package.yaml

Kao što vidite, igrana knjiga install_package.yaml uspješno trčao.

Kao što vidite, httpd paket je instaliran na mom CentOS 8 hostu, koji sam dodao na svoj domaćini spis inventara.

Instaliran $ sudo dnf popis | grep httpd

Ako ste na CentOS / RHEL 7, upotrijebite njam upravitelj paketa umjesto dnf upravitelj paketa da provjeri je li paket instaliran.

$ sudo yum popis instaliran | grep httpd

Instaliranje više softverskih paketa pomoću petlje with_items

Prethodni odjeljak ovog članka pokazao vam je kako instalirati jedan softverski paket na vaš CentOS / RHEL domaćin pomoću programa Ansible dnf/njam modul. Ovaj će vam odjeljak pokazati kako instalirati više softverskih paketa na svoje CentOS / RHEL hostove pomoću Ansible sa_postavkama petlja.

Prvo izradite novu knjigu pjesama install_packages.yaml, kako slijedi:

$ nano playbooks / install_packages.yaml

Utipkajte sljedeće retke u install_packages.yaml datoteka.

- domaćini: svi
korisnik: ansible
postati: Istina
zadaci:
- ime: Instalirajte sve pakete
dnf:
ime: 'item'
stanje: prisutno
update_cache: Tačno
with_items:
httpd
php
vsftpd

Kada završite, pritisnite + x, nakon čega slijedi Y i , spasiti install_packages.yaml datoteka.

Ovdje sam definirao nazive paketa (httpd, php, vsftpd) koji želim instalirati pomoću sa_postavkama petlja.

Zamijenio sam naziv paketa varijablom artikal. The artikal varijabla će se ažurirati s imenom paketa u svakoj iteraciji.

Pokrenite install_packages.yaml playbook, kako slijedi:

$ ansible-playbook playbooks / install_packages.yaml

Kao što vidite, igrana knjiga install_packages.yaml uspješno trčao.

The httpd, php, i vsftpd paketi su instalirani na mom CentOS 8 hostu, kao što možete vidjeti na snimci zaslona u nastavku.

Instaliran $ sudo dnf popis | grep httpd
Instaliran $ sudo dnf popis | grep php
Instaliran $ sudo dnf popis | grep vsftpd

Instaliranje više softverskih paketa pomoću petlje loop

Polazeći od Ansible 2.5, preporučeni način korištenja petlji u vašoj playbook je korištenje petlja ključna riječ, umjesto sa_postavkama ključna riječ. Zbog toga ste vidjeli poruku upozorenja kad sam pokrenuo install_packages.yaml playbook u ranijem odjeljku ovog članka.

Rad s petljama pomoću petlja ključna riječ je vrlo jednostavna.

Prvo otvorite knjigu s igrama install_packages.yaml (iz prethodnog primjera), kako slijedi:

$ nano playbooks / install_packages.yaml

U install_packages.yaml playbook, samo zamijenite pojam sa_postavkama s pojmom petlja, kako je označeno na snimci zaslona u nastavku. Ne trebate ništa drugo mijenjati.

Kada završite, pritisnite + x, nakon čega slijedi Y i , spasiti install_packages.yaml datoteka.

Pokrenite install_packages.yaml playbook, kako slijedi:

$ ansible-playbook playbooks / install_packages.yaml

Kao što vidite, zadatak Instalirajte sve pakete vodio dnf/njam modul ukupno tri puta; jednom za svaku petlju artikal.

The httpd, php, i vsftpd paketi su instalirani na mom CentOS 8 hostu, kao što možete vidjeti na snimci zaslona u nastavku.

Instaliran $ sudo dnf popis | grep httpd
Instaliran $ sudo dnf popis | grep php
Instaliran $ sudo dnf popis | grep vsftpd

Instaliranje više softverskih paketa korištenjem Array Syntax

Raniji odjeljci ovog članka pokazali su vam kako koristiti sa_postavkama i petlja petlje u Ansibleu za instaliranje više softverskih paketa na CentOS / RHEL 7 ili 8, bez ponavljanja koda. Ovaj će vam odjeljak pokazati kako učiniti istu stvar s jednostavnijom sintaksom niza.

Prvo otvorite install_packages.yaml playbook, kako slijedi:

$ nano playbooks / install_packages.yaml

Uklonite sa_postavkama ili petlja odjeljak iz zadatka i promijenite Ime mogućnost da ['httpd', 'php', vsftpd '], kako je označeno na snimci zaslona u nastavku.

Kada završite, pritisnite + x, nakon čega slijedi Y i , spasiti install_packages.yaml igraonica.

Ovdje svaki citirani niz unutar uglatih zagrada ([]) je element niza (u mom slučaju naziv softverskog paketa). Svaki element niza trebao bi biti odvojen zarezom (,). Možete dodati onoliko elemenata niza koliko želite. Dodao sam samo tri elementa, httpd, php, i vsftpd.

Pokrenite install_packages.yaml playbook, kako slijedi:

$ ansible-playbook playbooks / install_packages.yaml

Kao što vidite, softverski paketi httpd, php, i vsftpd su instalirani na mom CentOS 8 hostu.

Instaliran $ sudo dnf popis | grep httpd
Instaliran $ sudo dnf popis | grep php
Instaliran $ sudo dnf popis | grep vsftpd

Zaključak

Ovaj vam je članak pokazao kako se koristi sa_postavkama i petlja petlje, kao i sintaksa Array, s Ansible njam/dnf modul za instaliranje više softverskih paketa na vaše CentOS / RHEL 7 ili 8 hostove.

Za više informacija pogledajte službenu dokumentaciju Ansible.

[1] Službena dokumentacija petlji Ansible
[2] Službena dokumentacija Ansible with_items
[3] Službena dokumentacija modula Ansible dnf
[4] Službena dokumentacija modula Ansible yum

Kako razviti igru ​​na Linuxu
Prije deset godina malo je Linux korisnika predviđalo da će njihov omiljeni operativni sustav jednog dana biti popularna platforma za igranje komercij...
Luke komercijalnih igara s otvorenim kodom
Besplatne igre s otvorenim kodom i više platformi mogu se koristiti za igranje starih, kao i nekih prilično nedavnih naslova igara. U ovom će se člank...
Najbolje igre naredbenog retka za Linux
Naredbeni redak nije samo vaš najveći saveznik pri korištenju Linuxa - on također može biti izvor zabave jer ga možete koristiti za igranje mnogih zab...