Lehetséges

Több csomag egyszerű telepítése a CentOS-ra az Ansible használatával

Több csomag egyszerű telepítése a CentOS-ra az Ansible használatával
Az Ansible oldalon használhatja a dnf vagy yum modul a szoftvercsomagok CentOS vagy RHEL állomásokra történő telepítéséhez. Alapértelmezés szerint ezek a modulok csak egyetlen szoftvercsomagot telepítenek. Használhatja a dnf vagy yum modul többször az Ansible playbook-ban annyi szoftvercsomag telepítéséhez, amennyit csak akar. Bár ez nem a leghatékonyabb módszer erre, mivel sok olyan kódismétlés lesz, amelyet lehetőség szerint szeretnénk elkerülni. Szerencsére a hurkok segítségével könnyedén telepíthetünk annyi szoftvercsomagot, amennyit csak akarunk, mindenféle kódismétlés nélkül.

Ez a cikk bemutatja, hogyan lehet több szoftvercsomagot telepíteni a CentOS / RHEL gazdagépekre az Ansible loop segítségével. Tehát kezdjük.

Előfeltételek

Ha ki szeretné próbálni a cikk példáit,
1) A számítógépére telepítve kell lennie az Ansible programnak.
2) Legalább egy CentOS / RHEL 7 vagy 8 gazdagéppel kell rendelkeznie az Ansible automatizáláshoz.

A LinuxHint-en számos cikk foglalkozik az Ansible telepítésével és a gazdagépek konfigurálásával az Ansible automatizáláshoz. Szükség esetén megnézheti ezeket.

Projektkönyvtár beállítása

Mielőtt továbblépne, létrehozunk egy projekt könyvtárat, csak azért, hogy a dolgokat egy kicsit rendben tartsuk.

A projekt könyvtár létrehozása centos-pkg / és az összes szükséges alkönyvtárat (az aktuális munkakönyvtárban), futtassa a következő parancsot:

$ mkdir -pv centos-pkg / playbooks

A projektkönyvtár létrehozása után lépjen a projektkönyvtárba az alábbiak szerint:

$ cd centos-pkg /

Ezután hozzon létre egy otthont ad leltárállomány, az alábbiak szerint:

$ nano házigazdák

Adja hozzá a gazdagép IP vagy DNS nevét (vm3.nodekite.com, az én esetemben) a CentOS / RHEL hosztokról a készletfájlban (soronként egy hoszt).

Ha végzett, mentse a fájlt a gombbal + x, utána Y és .

Hozzon létre egy Ansible konfigurációs fájlt lehetséges.vö a projektkönyvtárban, az alábbiak szerint:

$ nano ansible.vö

Ezután írja be a következő sorokat a lehetséges.vö fájl.

[alapértelmezések]
leltár = hosztok
host_key_checking = Hamis

Ha elkészült, mentse a lehetséges.vö fájl megnyomásával + x, utána Y és .

Próbálja meg pingelni az összes CentOS / RHEL állomást, amelyet hozzáadott a otthont ad leltárállomány, az alábbiak szerint:

$ ansible all -u ansible -m ping

Amint láthatja, a CentOS 8 gazdagépem elérhető.

Egyetlen szoftvercsomag telepítése

Ez a szakasz bemutatja, hogyan lehet egyetlen szoftvercsomagot telepíteni a dnf vagy yum modul az Ansible a CentOS / RHEL hosztokon.

Először hozza létre az új játékkönyvet install_package.yaml ban,-ben játékkönyvek / könyvtárat, az alábbiak szerint:

$ nano playbooks / install_package.yaml

Ezután írja be a következő sorokat a install_package.yaml fájl.

- házigazdák: mind
felhasználó: ansible
vált: Igaz
feladatok:
- név: Telepítse a httpd csomagot
dnf:
név: httpd
állapot: jelen
update_cache: Igaz

Ha végzett, mentse a fájlt a gombbal + x, utána Y és .

Itt csak egy feladatot adtam hozzá, Telepítse a httpd csomagot. Ennek a feladatnak a célja a httpd csomag a CentOS / RHEL 8-on.

A CentOS / RHEL 7 nem használja a dnf csomagkezelő, a yum csomagkezelő. Tehát, ha CentOS / RHEL 7-et használ, változtassa meg dnf nak nek yum, az alábbi képernyőképen jelölt módon. Nincs szükség egyéb változtatásokra.

A név opcióval a dnf vagy yum modul a telepíteni kívánt csomag nevét. Ebben az esetben ez lesz a httpd csomag.

A állapot opcióval a dnf vagy yum modulálja a műveletet (i.e. telepíteni, frissíteni, eltávolítani) az adott csomagra kell, hogy kerüljön. Ebben az esetben a cselekvés az ajándék.

A. Támogatott értékei állapot lehetőségek:

ajándék - telepíti a csomagot, ha még nincs telepítve.

legújabb - telepíti a csomagot, ha még nincs telepítve; ha már telepítve van, akkor a modul ellenőrzi a frissítéseket; ha elérhető a csomag frissített verziója, akkor telepíti az új verziót.

hiányzó - eltávolítja a csomagot, ha telepítve van.

Ha a update_cache opció értéke Igaz, a DNF / YUM csomagtárház gyorsítótárát a csomag telepítése előtt frissítjük.

Futtassa a install_package.yaml játékkönyv, az alábbiak szerint:

$ ansible-playbook playbooks / install_package.yaml

Mint látható, a játékkönyv install_package.yaml sikeresen futott.

Mint láthatja, a httpd csomag telepítve van a CentOS 8 gazdagépemre, amelyet hozzáadtam a sajátomhoz otthont ad leltárfájl.

$ sudo dnf lista telepítve | grep httpd

Ha CentOS / RHEL 7-en van, használja a yum csomagkezelő a dnf csomagkezelő a csomag telepítésének ellenőrzéséhez.

$ sudo yum lista telepítve | grep httpd

Több szoftvercsomag telepítése a with_items hurok használatával

A cikk előző szakasza bemutatta, hogyan lehet egyetlen szoftvercsomagot telepíteni a CentOS / RHEL gazdagépre az Ansible segítségével dnf/yum modul. Ez a szakasz bemutatja, hogyan lehet több szoftvercsomagot telepíteni a CentOS / RHEL gépekre az Ansible segítségével with_items hurok.

Először hozza létre az új játékkönyvet install_packages.yaml, alábbiak szerint:

$ nano playbooks / install_packages.yaml

Írja be a következő sorokat a install_packages.yaml fájl.

- házigazdák: mind
felhasználó: ansible
vált: Igaz
feladatok:
- név: Telepítse az összes csomagot
dnf:
név: 'item'
állapot: jelen
update_cache: Igaz
with_items:
httpd
php
vsftpd

Ha végzett, nyomja meg a gombot + x, utána Y és , hogy megmentse a install_packages.yaml fájl.

Itt definiáltam a csomagneveket (httpd, php, vsftpd), amelyet használni szeretnék with_items hurok.

A csomag nevét lecseréltem a változóra tétel. A tétel változó minden egyes iterációban frissül a csomag nevével.

Futtassa a install_packages.yaml játékkönyv, az alábbiak szerint:

$ ansible-playbook playbooks / install_packages.yaml

Mint látható, a játékkönyv install_packages.yaml sikeresen futott.

A httpd, php, és vsftpd csomagok vannak telepítve a CentOS 8 gazdagépemre, amint az az alábbi képernyőképen is látható.

$ sudo dnf lista telepítve | grep httpd
$ sudo dnf lista telepítve | grep php
$ sudo dnf lista telepítve | grep vsftpd

Több szoftvercsomag telepítése a hurokhurok használatával

Az Ansible 2-től indulva.5, a hurkok használatának ajánlott módja a játékkönyvben a hurok kulcsszó helyett with_items kulcsszó. Ezért látott egy figyelmeztető üzenetet, amikor a install_packages.yaml játékkönyv a cikk korábbi szakaszában.

Hurkokkal való munka a hurok kulcsszó nagyon egyszerű.

Először nyissa meg a játékkönyvet install_packages.yaml (az előző példából), az alábbiak szerint:

$ nano playbooks / install_packages.yaml

Ban,-ben install_packages.yaml játékkönyv, csak cserélje le a kifejezést with_items kifejezéssel hurok, az alábbi képernyőképen jelölt módon. Nem kell mást változtatnia.

Ha végzett, nyomja meg a gombot + x, utána Y és , hogy megmentse a install_packages.yaml fájl.

Futtassa a install_packages.yaml játékkönyv, az alábbiak szerint:

$ ansible-playbook playbooks / install_packages.yaml

Mint láthatja, a feladat Telepítse az összes csomagot futott a dnf/yum modul összesen háromszor; minden hurokhoz egyszer tétel.

A httpd, php, és vsftpd csomagok vannak telepítve a CentOS 8 gazdagépemre, amint az az alábbi képernyőképen is látható.

$ sudo dnf lista telepítve | grep httpd
$ sudo dnf lista telepítve | grep php
$ sudo dnf lista telepítve | grep vsftpd

Több szoftvercsomag telepítése az Array Syntax segítségével

A cikk korábbi szakaszai bemutatták, hogyan kell használni a with_items és hurok hurkok in Lehetséges több szoftvercsomag telepítése a CentOS / RHEL 7-re vagy 8-ra, minden kódismétlés nélkül. Ez a szakasz bemutatja, hogyan lehet ugyanezt tenni egy egyszerűbb tömbszintaxissal.

Először nyissa meg a install_packages.yaml játékkönyv, az alábbiak szerint:

$ nano playbooks / install_packages.yaml

Távolítsa el a with_items vagy hurok szakasz a feladattól, és módosítsa a név opció ['httpd', 'php', vsftpd '], az alábbi képernyőképen jelölt módon.

Ha végzett, nyomja meg a gombot + x, utána Y és , hogy megmentse a install_packages.yaml játékkönyv.

Itt minden idézett karakterlánc a szögletes zárójelben ([]) egy tömb elem (esetemben a szoftvercsomag neve). Minden tömb elemet vesszővel kell elválasztani (,). Annyi tömb elemet adhat hozzá, amennyit csak akar. Csak három elemet adtam hozzá, httpd, php, és vsftpd.

Futtassa a install_packages.yaml játékkönyv, az alábbiak szerint:

$ ansible-playbook playbooks / install_packages.yaml

Mint látható, a szoftvercsomagok httpd, php, és vsftpd telepítve vannak a CentOS 8 gazdagépemen.

$ sudo dnf lista telepítve | grep httpd
$ sudo dnf lista telepítve | grep php
$ sudo dnf lista telepítve | grep vsftpd

Következtetés

Ez a cikk bemutatta, hogyan kell használni a with_items és hurok hurkok, valamint a tömb szintaxisa az Ansible-vel yum/dnf modul több szoftvercsomag telepítésére a CentOS / RHEL 7 vagy 8 gépekre.

További információ az Ansible hivatalos dokumentációjában található.

[1] Az Ansible hurkok hivatalos dokumentációja
[2] Az Ansible with_items hivatalos dokumentációja
[3] Az Ansible dnf modul hivatalos dokumentációja
[4] Az Ansible yum modul hivatalos dokumentációja

Telepítse a legújabb OpenRA stratégiai játékot az Ubuntu Linux rendszerre
Az OpenRA egy ingyenes / ingyenes valós idejű stratégiai játékmotor, amely újjáépíti a korai Westwood játékokat, mint például a klasszikus Command & C...
Telepítse a legújabb Dolphin Emulator for Gamecube & Wii szoftvert Linuxra
A Dolphin Emulator segítségével a kiválasztott Gamecube & Wii játékokat játszhatja Linux személyi számítógépeken (PC). Mivel a Dolphin Emulator szaba...
A GameConqueror Cheat Engine használata Linux alatt
A cikk tartalmaz egy útmutatót a GameConqueror csaló motor Linux alatt történő használatáról. Sok olyan felhasználó, aki Windows-on játszik játékot, g...