Võimalik

Mitme paketi installimine CentOS-i hõlpsalt, kasutades rakendust Ansible

Mitme paketi installimine CentOS-i hõlpsalt, kasutades rakendust Ansible
Rakenduses Ansible saate kasutada dnf või yum moodul CentOS või RHEL hostidele tarkvarapakettide installimiseks. Vaikimisi installivad need moodulid ainult ühe tarkvarapaketi. Võite kasutada dnf või yum moodulit mitu korda oma Ansible playbookis, et installida nii palju tarkvarapakette kui soovite. Kuigi see pole kõige tõhusam viis seda teha, kuna seal on palju koodikordusi, mida sooviksime võimaluse korral vältida. Õnneks saame tsüklite abil installida nii palju tarkvarapakette, kui soovime, ilma koodi kordamiseta.

See artikkel näitab teile, kuidas installida mitu tarkvarapaketti CentOS / RHEL-i hostidele, kasutades Ansible loopi. Alustame siis.

Eeldused

Kui soovite proovida selles artiklis toodud näiteid,
1) Teie arvutisse peab olema installitud Ansible.
2) Teil peab olema vähemalt CentOS / RHEL 7 või 8 host, mis on konfigureeritud Ansible automatiseerimiseks.

LinuxHintis on palju artikleid, mis on pühendatud Ansible'i installimisele ja hostide konfigureerimisele Ansible'i automatiseerimiseks. Vajadusel võite neid vaadata.

Projektikataloogi seadistamine

Enne edasiliikumist loome projekti kataloogi, et asju natuke korrastada.

Projektikataloogi loomiseks senti-pkg / ja kõik vajalikud alamkataloogid (teie praeguses töökataloogis), käivitage järgmine käsk:

$ mkdir -pv sentos-pkg / playbooks

Kui projekti kataloog on loodud, navigeerige projekti kataloogi järgmiselt:

$ cd senti-pkg /

Järgmisena looge a võõrustajad varude toimik järgmiselt:

$ nano hostid

Lisage hosti IP või DNS-i nimi (vm3.nodekite.com, minu puhul) teie CentOS / RHEL-i hostidest inventeerimisfailis (üks host rea kohta).

Kui olete lõpetanud, salvestage fail, vajutades + X, järgneb Y ja .

Looge Ansible konfiguratsioonifail võimalik.vrd oma projekti kataloogis järgmiselt:

$ nano on võimalik.vrd

Seejärel tippige väljale järgmised read võimalik.vrd faili.

[vaikimisi]
inventar = hostid
host_key_checking = Vale

Kui olete valmis, salvestage võimalik.vrd faili vajutades + X, järgneb Y ja .

Proovige pingida kõiki CentOS / RHEL-i hoste, mille olete oma kausta lisanud võõrustajad varude toimik järgmiselt:

$ ansible all -u ansible -m ping

Nagu näete, on minu CentOS 8 host juurdepääsetav.

Ühe tarkvarapaketi installimine

See jaotis näitab, kuidas installida üks tarkvarapakett, kasutades dnf või yum teie CentOS / RHEL-i hostide mooduli Ansible.

Kõigepealt looge uus mänguraamat install_package.yaml aastal mänguraamatud / kataloogi järgmiselt:

Esitusraamatud $ nano / install_package.yaml

Järgmisena sisestage järgmised read install_pakett.yaml faili.

- võõrustajad: kõik
kasutaja: ansible
muutunud: Tõsi
ülesanded:
- nimi: installige pakett httpd
dnf:
nimi: httpd
olek: kohal
update_cache: Tõsi

Kui olete lõpetanud, salvestage fail, vajutades + X, järgneb Y ja .

Siia olen lisanud ainult ühe ülesande, Installige pakett httpd. Selle ülesande eesmärk on installida httpd pakett CentOS / RHEL 8-l.

CentOS / RHEL 7 ei kasuta dnf paketihaldur kasutab seda yum paketihaldur. Seega, kui kasutate CentOS / RHEL 7, muutke dnf kuni yum, nagu on märgitud alloleval ekraanipildil. Muud muudatused pole vajalikud.

The nimi valikut kasutatakse dnf või yum mooduli paketi nimi, mida proovite installida. Sel juhul on see httpd pakend.

The riik valikut kasutatakse dnf või yum moodulit (s.e. installida, uuendada, eemaldada) see peaks antud paketi võtma. Sel juhul on tegevus kohal.

Toetatud väärtused riik võimalused on:

kohal - installib paketi, kui see pole veel installitud.

hiljemalt - installib paketi, kui see pole veel installitud; kui see on juba installitud, kontrollib moodul värskendusi; kui paketi uuendatud versioon on saadaval, installib see uue versiooni.

puudub - eemaldab paketi, kui see on installitud.

Kui update_cache suvandiks on seatud Tõsi, DNF / YUM paketi hoidla vahemälu värskendatakse enne paketi installimist.

Käivitage install_pakett.yaml järgmine raamat:

$ ansible-playbook playbooks / install_package.yaml

Nagu näete, mänguraamat install_package.yaml jooksis edukalt.

Nagu näete, httpd pakett on installitud minu CentOS 8 hostile, mille olen oma võõrustajad varude toimik.

$ sudo dnf loend on installitud | grep httpd

Kui kasutate CentOS / RHEL 7, kasutage yum paketi haldur dnf paketihaldur, et kontrollida, kas pakett on installitud.

$ sudo yumi loend on installitud | grep httpd

Mitme tarkvarapaketi installimine aasaga with_items

Selle artikli eelmises osas näidati teile, kuidas installida üks tarkvarapakett oma CentOS / RHEL-i hostile rakenduse Ansible abil dnf/yum moodul. See jaotis näitab teile, kuidas installida CentOS / RHEL-i hostidesse mitu tarkvarapaketti, kasutades rakendust Ansible with_items silmus.

Kõigepealt looge uus mänguraamat install_packages.yaml, järgnevalt:

Esitusraamatud $ nano / install_packages.yaml

Tippige väljale järgmised read install_packages.yaml faili.

- võõrustajad: kõik
kasutaja: ansible
muutunud: Tõsi
ülesanded:
- nimi: installige kõik paketid
dnf:
nimi: „item”
olek: kohal
update_cache: Tõsi
with_items:
httpd
php
vsftpd

Kui olete lõpetanud, vajutage + X, järgneb Y ja , salvestada install_packages.yaml faili.

Siin olen määranud pakettide nimed (httpd, php, vsftpd), mille abil tahan installida with_items silmus.

Olen asendanud paketi nime muutujaga üksus. The üksus muutujat värskendatakse igas iteratsioonis paketi nimega.

Käivitage install_packages.yaml järgmine raamat:

$ ansible-playbook playbooks / install_packages.yaml

Nagu näete, mänguraamat install_packages.yaml jooksis edukalt.

The httpd, php, ja vsftpd paketid on installitud minu CentOS 8 hostile, nagu näete alloleval ekraanipildil.

$ sudo dnf loend on installitud | grep httpd
$ sudo dnf loend on installitud | grep php
$ sudo dnf loend on installitud | grep vsftpd

Mitme tarkvarapaketi installimine loop Loopi abil

Alustades jaotisest Ansible 2.5, on mänguraamatus silmuste kasutamiseks soovitatav viis silmus märksõna asemel with_items märksõna. Sellepärast nägite hoiatussõnumit, kui ma käivitasin install_packages.yaml mänguraamat selle artikli eelmises osas.

Silmustega töötamine silmus märksõna on väga lihtne.

Esmalt avage mänguraamat install_packages.yaml (eelmisest näitest) järgmiselt:

Esitusraamatud $ nano / install_packages.yaml

Aastal install_packages.yaml mänguraamat, asendage lihtsalt termin with_items terminiga silmus, nagu on märgitud alloleval ekraanipildil. Teil pole vaja midagi muud muuta.

Kui olete lõpetanud, vajutage + X, järgneb Y ja , salvestada install_packages.yaml faili.

Käivitage install_packages.yaml järgmine raamat:

$ ansible-playbook playbooks / install_packages.yaml

Nagu näete, ülesanne Installige kõik paketid jooksis dnf/yum moodul kokku kolm korda; üks kord iga silmuse jaoks üksus.

The httpd, php, ja vsftpd paketid on installitud minu CentOS 8 hostile, nagu näete alloleval ekraanipildil.

$ sudo dnf loend on installitud | grep httpd
$ sudo dnf loend on installitud | grep php
$ sudo dnf loend on installitud | grep vsftpd

Mitu tarkvarapaketti installimine massiivi süntaksiga

Selle artikli varasemates osades on näidatud, kuidas with_items ja silmus silmused sisse Võimalik installida CentOS / RHEL 7 või 8-le mitu tarkvarapaketti, ilma et kood korduks. See jaotis näitab teile, kuidas sama teha lihtsama massiivi süntaksiga.

Esiteks avage install_packages.yaml järgmine raamat:

Esitusraamatud $ nano / install_packages.yaml

Eemalda with_items või silmus jaotis ülesandest ja muutke nimi võimalus ['httpd', 'php', vsftpd '], nagu on märgitud alloleval ekraanipildil.

Kui olete lõpetanud, vajutage + X, järgneb Y ja , salvestada install_packages.yaml mänguraamat.

Iga tsiteeritud string nurksulgudes ([]) on massiivi element (minu puhul tarkvarapaketi nimi). Iga massiivi element tuleks eraldada komaga (,). Saate lisada nii palju massiivi elemente kui soovite. Olen lisanud ainult kolm elementi, httpd, php, ja vsftpd.

Käivitage install_packages.yaml järgmine raamat:

$ ansible-playbook playbooks / install_packages.yaml

Nagu näete, tarkvarapaketid httpd, php, ja vsftpd on installitud minu CentOS 8 hostile.

$ sudo dnf loend on installitud | grep httpd
$ sudo dnf loend on installitud | grep php
$ sudo dnf loend on installitud | grep vsftpd

Järeldus

See artikkel näitas teile, kuidas with_items ja silmus tsüklid, samuti massiivi süntaks koos Ansible'iga yum/dnf moodul CentOS / RHEL 7 või 8 hostidele mitme tarkvarapaketi installimiseks.

Lisateavet leiate ametlikust võimalikust dokumendist.

[1] Ansible loopsi ametlik dokumentatsioon
[2] Ansible with_items ametlik dokumentatsioon
[3] Ansible dnf mooduli ametlik dokumentatsioon
[4] Ansible yum mooduli ametlik dokumentatsioon

Installige Linuxile uusim Dolphin Emulator for Gamecube & Wii
Dolphini emulaator võimaldab teil mängida valitud Gamecube & Wii mänge Linuxi personaalarvutites (PC). Vabalt saadaval oleva ja avatud lähtekoodiga m...
Kuidas kasutada GameConquerori petumootorit Linuxis
Artikkel sisaldab juhendit GameConquerori petumootori kasutamise kohta Linuxis. Paljud kasutajad, kes mängivad Windowsis mänge, kasutavad rakendust „C...
Parimad Linuxi mängukonsooli emulaatorid
Selles artiklis loetletakse Linuxi jaoks saadaval olev populaarne mängukonsooli emuleerimise tarkvara. Emuleerimine on tarkvara ühilduvuse kiht, mis j...