Anonīms

Vairāku pakotņu ērta instalēšana CentOS, izmantojot

Vairāku pakotņu ērta instalēšana CentOS, izmantojot
Vietnē Ansible varat izmantot dnf vai yum modulis programmatūras pakotņu instalēšanai CentOS vai RHEL resursdatoros. Pēc noklusējuma šie moduļi instalē tikai vienu programmatūras pakotni. Jūs varat izmantot dnf vai yum vairākas reizes savā Ansible playbook modulī, lai instalētu pēc iespējas vairāk programmatūras pakotņu. Lai gan tas nav visefektīvākais veids, kā to izdarīt, jo būs daudz kodu atkārtojumu, no kuriem mēs vēlētos izvairīties, ja iespējams. Par laimi, mēs varam izmantot cilpas, lai viegli instalētu tik daudz programmatūras pakotņu, cik vēlaties, bez koda atkārtošanas.

Šis raksts parādīs, kā instalēt vairākas programmatūras pakotnes CentOS / RHEL resursdatoros, izmantojot Ansible loop. Tātad, sāksim darbu.

Priekšnoteikumi

Ja vēlaties izmēģināt šī raksta piemērus,
1) Jūsu datorā jābūt instalētai programmai Ansible.
2) Jums jābūt vismaz CentOS / RHEL 7 vai 8 resursdatoram, kas konfigurēts iespējamai automatizācijai.

Vietnē LinuxHint ir daudz rakstu, kas veltīti Ansible instalēšanai un resursdatoru konfigurēšanai Ansible automatizācijai. Ja nepieciešams, varat tos pārbaudīt.

Projektu direktorijas iestatīšana

Pirms virzīties tālāk, mēs izveidosim projekta direktoriju, lai lietas būtu mazliet sakārtotas.

Lai izveidotu projekta direktoriju centos-pkg / un visas nepieciešamās apakšdirektorijas (pašreizējā darba direktorijā), izpildiet šādu komandu:

$ mkdir -pv centos-pkg / playbooks

Kad projekta direktorijs ir izveidots, dodieties uz projekta direktoriju šādi:

$ cd centos-pkg /

Pēc tam izveidojiet a saimniekiem krājuma fails:

$ nano saimnieki

Pievienojiet resursdatora IP vai DNS nosaukumu (vm3.nodekite.com, manā gadījumā) jūsu CentOS / RHEL resursdatori inventāra failā (viens resursdators katrā rindā).

Kad esat pabeidzis, saglabājiet failu, nospiežot + X, sekoja un .

Izveidojiet Ansible konfigurācijas failu iespējams.cfg projekta direktorijā šādi:

$ nano ansible.cfg

Pēc tam ierakstiet šādas rindiņas iespējams.cfg failu.

[noklusējumi]
inventārs = saimnieki
host_key_checking = Nepatiesa

Kad esat pabeidzis, saglabājiet iespējams.cfg failu, nospiežot + X, sekoja un .

Mēģiniet pingēt visus CentOS / RHEL resursdatorus, kurus esat pievienojis savā saimniekiem krājuma fails:

$ ansible all -u ansible -m ping

Kā redzat, mans CentOS 8 resursdators ir pieejams.

Viena programmatūras pakotnes instalēšana

Šajā sadaļā tiks parādīts, kā instalēt vienu programmatūras pakotni, izmantojot dnf vai yum modulis Ansible jūsu CentOS / RHEL resursdatoros.

Vispirms izveidojiet jauno rotaļlietu grāmatu install_package.yaml iekš playbooks / direktorijā:

$ nano playbooks / install_package.yaml

Pēc tam ierakstiet šādas rindiņas install_package.yaml failu.

- saimnieki: visi
lietotājs: ansible
kļūt: Patiesi
uzdevumi:
- nosaukums: instalējiet paketi httpd
dnf:
nosaukums: httpd
stāvoklis: klāt
update_cache: True

Kad esat pabeidzis, saglabājiet failu, nospiežot + X, sekoja un .

Šeit es esmu pievienojis tikai vienu uzdevumu, Instalējiet httpd pakotni. Šī uzdevuma mērķis ir instalēt httpd pakete uz CentOS / RHEL 8.

CentOS / RHEL 7 neizmanto dnf pakotņu pārvaldnieks, tas izmanto yum paku pārvaldnieks. Tātad, ja izmantojat CentOS / RHEL 7, nomainiet dnf uz yum, kā norādīts zemāk redzamajā ekrānuzņēmumā. Citas izmaiņas nav nepieciešamas.

The nosaukums opcija tiek izmantota, lai pastāstītu dnf vai yum moduļa pakotnes nosaukumu, kuru mēģināt instalēt. Šajā gadījumā tas būs httpd iepakojums.

The Valsts opcija tiek izmantota, lai pastāstītu dnf vai yum modulēt darbību (t.i.e. instalēt, uzlabot, noņemt), tai vajadzētu uzņemties norādīto pakotni. Šajā gadījumā darbība ir klāt.

Atbalstītās vērtības Valsts iespējas ir:

klāt - instalēs paketi, ja tā vēl nav instalēta.

vēlākais - instalēs paketi, ja tā vēl nav instalēta; ja modulis jau ir instalēts, tas pārbaudīs atjauninājumus; ja ir pieejama atjaunināta pakotnes versija, tā instalēs jauno versiju.

nav - noņems pakotni, ja tā ir instalēta.

Ja update_cache opcija ir iestatīta uz Patiesi, pirms pakotnes instalēšanas tiks atjaunināta DNF / YUM pakotnes krātuves kešatmiņa.

Palaidiet install_package.yaml playbook šādi:

$ ansible-playbook playbooks / install_package.yaml

Kā redzat, spēļu grāmata install_package.yaml veiksmīgi skrēja.

Kā redzat, httpd pakotne ir instalēta manā CentOS 8 resursdatorā, kuru esmu pievienojis savam saimniekiem inventarizācijas fails.

Instalēts $ sudo dnf saraksts | grep httpd

Ja izmantojat CentOS / RHEL 7, izmantojiet yum pakotņu pārvaldnieks dnf pakotņu pārvaldnieks, lai pārbaudītu, vai pakotne ir instalēta.

$ sudo yum saraksts ir instalēts | grep httpd

Vairāku programmatūras pakotņu instalēšana, izmantojot cilni with_items

Šī raksta iepriekšējā sadaļa parādīja, kā instalēt vienu programmatūras pakotni savā CentOS / RHEL resursdatorā, izmantojot Ansible dnf/yum modulis. Šajā sadaļā tiks parādīts, kā instalēt vairākas programmatūras pakotnes CentOS / RHEL resursdatoros, izmantojot Ansible with_items cilpa.

Vispirms izveidojiet jauno rotaļlietu grāmatu instalēt_paketes.yaml, sekojoši:

$ nano playbooks / install_packages.yaml

Ierakstiet šādas rindiņas instalēt_paketes.yaml failu.

- saimnieki: visi
lietotājs: ansible
kļūt: Patiesi
uzdevumi:
- nosaukums: instalējiet visus paketes
dnf:
nosaukums: 'item'
stāvoklis: klāt
update_cache: True
with_items:
httpd
php
vsftpd

Kad esat pabeidzis, nospiediet + X, sekoja un , lai saglabātu instalēt_paketes.yaml failu.

Šeit es esmu definējis pakotņu nosaukumus (httpd, php, vsftpd), kuru es vēlos instalēt, izmantojot with_items cilpa.

Paketes nosaukumu esmu aizstājis ar mainīgo lieta. The lieta mainīgais tiks atjaunināts ar pakotnes nosaukumu katrā atkārtojumā.

Palaidiet instalēt_paketes.yaml playbook šādi:

$ ansible-playbook playbooks / install_packages.yaml

Kā redzat, spēļu grāmata instalēt_paketes.yaml veiksmīgi skrēja.

The httpd, php, un vsftpd pakotnes ir instalētas manā CentOS 8 resursdatorā, kā redzat zemāk redzamajā ekrānuzņēmumā.

Instalēts $ sudo dnf saraksts | grep httpd
Instalēts $ sudo dnf saraksts | grep php
Instalēts $ sudo dnf saraksts | grep vsftpd

Vairāku programmatūras pakotņu instalēšana, izmantojot cilpas cilpu

Sākot no Ansible 2.5, ieteicamais cilpu izmantošanas veids savā playbook ir, izmantojot cilpa atslēgvārdu, nevis with_items atslēgvārds. Tāpēc jūs redzējāt brīdinājuma ziņojumu, kad es skrēju instalēt_paketes.yaml playbook šī raksta iepriekšējā sadaļā.

Darbs ar cilpām, izmantojot cilpa atslēgvārds ir ļoti viegli.

Vispirms atveriet spēļu grāmatu instalēt_paketes.yaml (no iepriekšējā piemēra) šādi:

$ nano playbooks / install_packages.yaml

Iekš instalēt_paketes.yaml playbook, vienkārši nomainiet terminu with_items ar terminu cilpa, kā norādīts zemāk redzamajā ekrānuzņēmumā. Jums nekas cits nav jāmaina.

Kad esat pabeidzis, nospiediet + X, sekoja un , lai saglabātu instalēt_paketes.yaml failu.

Palaidiet instalēt_paketes.yaml playbook šādi:

$ ansible-playbook playbooks / install_packages.yaml

Kā redzat, uzdevums Instalējiet visus paketes skrēja dnf/yum modulis kopumā trīs reizes; vienu reizi katrai cilpai lieta.

The httpd, php, un vsftpd pakotnes ir instalētas manā CentOS 8 resursdatorā, kā redzat zemāk redzamajā ekrānuzņēmumā.

Instalēts $ sudo dnf saraksts | grep httpd
Instalēts $ sudo dnf saraksts | grep php
Instalēts $ sudo dnf saraksts | grep vsftpd

Vairāku programmatūras pakotņu instalēšana, izmantojot masīva sintaksi

Iepriekšējās šī raksta sadaļas parādīja, kā lietot with_items un cilpa cilpas. Iespējams instalēt vairākas programmatūras pakotnes CentOS / RHEL 7 vai 8 bez koda atkārtošanas. Šajā sadaļā tiks parādīts, kā darīt to pašu, izmantojot vienkāršāku masīva sintaksi.

Vispirms atveriet instalēt_paketes.yaml playbook šādi:

$ nano playbooks / install_packages.yaml

Noņemiet with_items vai cilpa sadaļu no uzdevuma un mainiet nosaukums iespēja ['httpd', 'php', vsftpd '], kā norādīts zemāk redzamajā ekrānuzņēmumā.

Kad esat pabeidzis, nospiediet + X, sekoja un , lai saglabātu instalēt_paketes.yaml rotaļu grāmata.

Katra citētā virkne kvadrātiekavās ([]) ir masīva elements (programmatūras pakotnes nosaukums, manā gadījumā). Katrs masīva elements jāatdala ar komatu (,). Jūs varat pievienot tik daudz masīva elementu, cik vēlaties. Esmu pievienojis tikai trīs elementus, httpd, php, un vsftpd.

Palaidiet instalēt_paketes.yaml playbook šādi:

$ ansible-playbook playbooks / install_packages.yaml

Kā redzat, programmatūras pakotnes httpd, php, un vsftpd ir instalēti manā CentOS 8 resursdatorā.

Instalēts $ sudo dnf saraksts | grep httpd
Instalēts $ sudo dnf saraksts | grep php
Instalēts $ sudo dnf saraksts | grep vsftpd

Secinājums

Šis raksts parādīja, kā lietot with_items un cilpa cilpas, kā arī masīva sintaksi ar Ansible yum/dnf moduli, lai CentOS / RHEL 7 vai 8 resursdatoros instalētu vairākas programmatūras paketes.

Lai iegūtu papildinformāciju, skatiet oficiālo oficiālo dokumentāciju.

[1] Ansible loops oficiālā dokumentācija
[2] Ansible with_items oficiālā dokumentācija
[3] Ansible dnf moduļa oficiālā dokumentācija
[4] Ansible yum moduļa oficiālā dokumentācija

Kā lietot GameConqueror Cheat Engine Linux
Rakstā ir sniegts ceļvedis par GameConqueror apkrāptu dzinēja izmantošanu Linux. Daudzi lietotāji, kas spēlē spēles operētājsistēmā Windows, bieži izm...
Labākie Linux spēļu konsoles emulatori
Šajā rakstā tiks uzskaitīta populārā Linux spēļu konsoles atdarināšanas programmatūra. Emulācija ir programmatūras saderības slānis, kas atdarina spēļ...
Labākie Linux spēļu draiveri 2021. gadā
Linux operētājsistēma ir gājusi tālu no sākotnējā, vienkāršā uz serveriem balstītā izskata. Šī operētājsistēma pēdējos gados ir ārkārtīgi uzlabojusies...