Ansible apt_repository moduli var izmantot, lai viegli pievienotu un noņemtu pakotņu krātuves un EPL jūsu Ubuntu resursdatoros. Varat arī atjaunināt APT pakotnes krātuves kešatmiņu, izmantojot Ansible apt_repository modulis.
Šis raksts parādīs, kā pārvaldīt Ubuntu pakotņu krātuves un EPL, izmantojot Ansible apt_repository modulis. Tātad, sāksim darbu.
Priekšnoteikumi
Ja vēlaties izmēģināt šajā rakstā iekļautos piemērus:
1) Jūsu datorā jābūt instalētai programmai Ansible.
2) Jums jābūt konfigurētam Ubuntu resursdatoram, kas paredzēts automatizēšanai.
Vietnē LinuxHint ir daudz rakstu, kas veltīti Ansible instalēšanai un resursdatoru konfigurēšanai Ansible automatizācijai. Jūs varat pārbaudīt šos rakstus, ja jums nepieciešama papildu informācija.
Projektu direktorijas iestatīšana
Pirms mēs sākam, būs laba ideja izveidot projekta direktoriju struktūru, lai lietas būtu mazliet sakārtotākas.
Lai izveidotu projekta direktoriju apt-ppa-repo / un visas nepieciešamās apakšdirektorijas (pašreizējā darba direktorijā), izpildiet šādu komandu:
$ mkdir -pv apt-ppa-repo / playbooks
Kad projekta direktorijs ir izveidots, dodieties uz projekta direktoriju šādi:
$ cd apt-ppa-repo
Izveidojiet a saimniekiem krājuma fails:
$ nano saimnieki
Pievienojiet resursdatora IP vai DNS nosaukumu (vm7.nodekite.com un vm8.nodekite.com, manā gadījumā) jūsu Ubuntu saimniekiem inventāra failā.
Kad esat pabeidzis, saglabājiet failu, nospiežot
Projekta direktorijā izveidojiet Ansible konfigurācijas failu šādi:
$ nano ansible.cfg
Ierakstiet šādas rindiņas iespējams.cfg fails:
[noklusējumi]inventārs = saimnieki
host_key_checking = Nepatiesa
Kad esat pabeidzis, saglabājiet failu, nospiežot
Šajā brīdī projekta direktorijai vajadzētu izskatīties šādi:
$ koks
Kā redzat, Ansible saimnieki ir pieejami. Tātad, mēs varam pāriet uz nākamo šī raksta sadaļu.
$ ansible all -u ansible -m ping
Iepakojuma krātuvju pievienošana
Šajā sadaļā es jums parādīšu, kā pievienot pakotņu krātuvi Ubuntu, izmantojot Ansible.
Vispirms izveidojiet jaunu atskaņošanas grāmatu ar nosaukumu add_repo.yaml iekš playbooks / direktorijā:
$ nano playbooks / add_repo.yaml
Ierakstiet šādas rindiņas add_repo.yaml fails:
- saimnieki: visilietotājs: ansible
kļūt: Patiesi
uzdevumi:
- nosaukums: Pārliecinieties, vai ir iespējota Visuma krātuve
apt_repository:
repo: deb http: // arhīvs.ubuntu.com / ubuntu fokusa Visums
stāvoklis: klāt
update_cache: True
Kad esat pabeidzis, saglabājiet failu, nospiežot
Lūk, repo opcija apt_repository modulis tiek izmantots, lai norādītu APT pakotnes repozitorija līniju (manā gadījumā, deb http: // arhīvs.ubuntu.com / ubuntu fokusa Visumspakotnes krātuves, kuru vēlaties pievienot (manā gadījumā Ubuntu 20.04 LTS amatpersona Visums krātuve).
Lai uzzinātu vairāk par APT pakotnes repozitorija rindas formātu, izlasiet Ubuntu pakotnes krātuves konfigurācijas faili raksta sadaļa Kā lietot APT pakotņu pārvaldnieku Ubuntu 20.04 LTS.
Kad es šeit pievienoju jaunu pakotņu krātuvi, Valsts ir klāt.
The update_cache Var būt vai nu Patiesi/Jā vai Nepatiesa/Nē.
Ja update_cache ir iestatīts uz Patiesi, Pēc pakotņu krātuves pievienošanas programma Ansible atjauninās APT pakotņu krātuves kešatmiņu.
Ja update_cache ir iestatīts uz Nepatiesa, Ansible neatjauninās APT pakotnes krātuves kešatmiņu.
Es vēlos, lai APT pakotņu krātuve tiktu atjaunināta, tiklīdz būs pievienota jaunā pakotņu krātuve. Tātad, es iestatīju update_cache uz Patiesi.
Tagad palaidiet add_repo.yaml playbook šādi:
$ ansible-playbook playbooks / add_repo.yamlKā redzat, spēļu grāmata veiksmīgi darbojās.
Lai apstiprinātu, ka pakotnes krātuve (manā gadījumā Ubuntu 20.04 LTS Visums krātuve), izpildiet šādu komandu:
$ grep --color -R 'http: // arhīvs.ubuntu.com '/ etc / apt / sources.sarakstā/ etc / apt / sources.sarakstā.d / *.sarakstā
Kā redzat, programmā Windows ir izveidots jauns fails / etc / apt / sources.sarakstā.d / direktoriju (1) un Ubuntu 20.04 LTS Visums pievienota pakotņu krātuve (2).
Pēc noklusējuma Ansible automātiski ģenerēs a .sarakstā failu / etc / apt / sources.sarakstā.d / direktorijā, atkarībā no APT repozitorija rindas.
Ja vēlaties izvēlēties konkrētu faila nosaukumu (t.i.e. ubuntu-visums.sarakstā) savam krātuvei varat norādīt faila nosaukumu, izmantojot faila nosaukums opcija apt_repository modulis jūsu add_repo.yaml playbook, kā parādīts zemāk esošajā ekrānuzņēmumā.
Tagad palaidiet add_repo.yaml atkal playbook.
$ ansible-playbook playbooks / add_repo.yaml
Kā redzat, faila nosaukums ir tas pats nosaukums, kuru es norādīju.
$ grep --color -R 'http: // arhīvs.ubuntu.com '/ etc / apt / sources.sarakstā/ etc / apt / sources.sarakstā.d / *.sarakstā
Iepakojuma krātuvju noņemšana
Šajā sadaļā es jums parādīšu, kā noņemt esošo pakotņu krātuvi no jūsu Ubuntu resursdatoriem, izmantojot Ansible.
Pakotņu krātuves noņemšanas rokasgrāmata ir gandrīz tāda pati kā pakotņu krātuves pievienošana. Tātad, jūs varat vienkārši nokopēt add_repo.yaml playbook failu un nedaudz modificējiet to. Tas ir ļoti vienkārši izdarāms.
Vispirms nokopējiet add_repo.yaml failu uz noņemt_atkārtot.yaml, sekojoši:
$ cp -v playbooks / add_repo.yaml playbooks / remove_repo.yaml
Rediģēt noņemt_atkārtot.yaml playbook šādi:
$ nano playbooks / remove_repo.yaml
Mainīt stāvoklis: klāt uz stāvoklis: nav, kā norādīts zemāk redzamajā ekrānuzņēmumā. Šī būs vienīgā izmaiņa, kas jums jāveic.
Kad esat pabeidzis, saglabājiet failu, nospiežot
Palaidiet noņemt_atkārtot.yaml playbook šādi:
$ ansible-playbook playbooks / remove_repo.yaml
Pēc tam palaidiet šo komandu, lai pārbaudītu, vai pakotņu krātuve, kuru vēlaties noņemt, tiešām ir noņemta.
$ grep --color -R 'http: // arhīvs.ubuntu.com '/ etc / apt / sources.sarakstā/ etc / apt / sources.sarakstā.d / *.sarakstā
Kā redzat, Ubuntu 20.04 LTS amatpersona Visums Iepriekš pievienotā pakotnes krātuve ir noņemta.
PIEZĪME: Ignorējiet kļūdas ziņojumu. Šis ziņojums vienkārši nozīmē, ka / etc / apt / sources.sarakstā.d / direktorija ir tukša. Ja vēlaties noņemt kļūdas ziņojumu, vienkārši pievienojiet 2> / dev / null komandas beigās šādi. Pēc šīs komandas piesaistīšanas kļūda ir jāizzūd.
$ grep --color -R 'http: // arhīvs.ubuntu.com '/ etc / apt / sources.sarakstā/ etc / apt / sources.sarakstā.d / *.2. saraksts> / dev / null
EPL pievienošana
Šajā sadaļā es jums parādīšu, kā pievienot PPA Ubuntu resursdatoros, izmantojot Ansible.
Es pievienošu osomon / nodejs-10.19 fokusa Mezgls.js 10.19 EPL Ubuntu 20.04 LTS manā piemērā.
Vispirms izveidojiet jaunu spēļu grāmatu add_ppa.yaml, sekojoši:
$ nano playbooks / add_ppa.yaml
Pievienojiet šādas rindiņas savam add_ppa.yaml spēļu grāmata:
- saimnieki: visilietotājs: ansible
kļūt: Patiesi
uzdevumi:
- nosaukums: pievienojiet mezglu.js 10.19 PPA
apt_repository:
repo: ppa: osomon / nodejs-10.19 fokusa
stāvoklis: klāt
update_cache: True
validate_certs: Nepatiesa
Kad esat pabeidzis, saglabājiet add_ppa.yaml atskaņošanas grāmatu, nospiežot
Lūk, repo opcija apt_repository modulis tiek izmantots, lai pievienotu PPA osomon / nodejs-10.19 fokusa (1).
Noteikti pievienojiet ppa: pirms PPA nosaukuma, t.e. ppa: osomon / nodejs-10.19 fokusa.
Lielākā daļa EPL izmanto pašparakstītus sertifikātus, tāpēc Ansible tos nevar jums pārbaudīt, un, palaižot atskaņošanas grāmatu, tie var kļūdīties.
Jūs varat iestatīt validate_certs uz Nepatiesa izlaist pievienotā PPA sertifikāta validāciju (2). Tas ir tas, ko esmu darījis šī raksta piemērā.
PIEZĪME: Varat arī iestatīt validate_certs uz Nepatiesa izlaist sertifikācijas validāciju, pievienojot trešo pušu pakotņu krātuves.
Palaidiet add_ppa.yaml playbook šādi:
$ ansible-playbook playbooks / add_ppa.yaml
Kā redzat, jauns .sarakstā failu PPA osomon / nodejs-10.19 fokusa ir izveidots / etc / apt / sources.sarakstā.d / direktorijs (1).
Apskatot. Saturu ppa_osomon_nodejs_10_19_focal_focal.sarakstā failu, es varu apstiprināt, ka EPL ir pievienots (2).
$ koks / etc / apt / avoti.sarakstā.d /$ cat / etc / apt / sources.sarakstā.d / ppa_osomon_nodejs_10_19_focal_xenial.sarakstā
EPL noņemšana
EPL jūs varat noņemt tādā pašā veidā kā mēs noņēmām paku krātuves šī raksta iepriekšējā sadaļā.
Vienkārši nokopējiet app_ppa.yaml playbook uz noņemt_ppa.yaml, sekojoši:
$ cp -v playbooks / add_repo.yaml playbooks / remove_repo.yaml
Tagad atveriet noņemt_ppa.yaml playbook šādi:
$ nano playbooks / remove_ppa.yaml
Pēc tam mainiet līniju stāvoklis: klāt uz stāvoklis: nav, kā norādīts zemāk redzamajā ekrānuzņēmumā.
Kad esat pabeidzis, saglabājiet noņemt_ppa.yaml atskaņošanas grāmatu, nospiežot
Palaidiet noņemt_ppa.yaml playbook šādi:
$ ansible-playbook playbooks / add_ppa.yaml
Kā redzat, ppa_osomon_nodejs_10_19_focal_focal.sarakstā failu osomon / nodejs-10.19 fokusa EPL vairs nav pieejams / etc / apt / sources.sarakstā.d / direktorijā. Tātad, EPL osomon / nodejs-10.19 fokusa ir noņemts.
$ koks / etc / apt / avoti.sarakstā.d /
PPA koda nosaukuma maiņa
Dažreiz PPA, kuru mēģināt pievienot Ubuntu resursdatorā, neatbalsta jūsu palaisto Ubuntu versiju. Tādā gadījumā jums būs manuāli jānorāda Ubuntu versijas koda nosaukums, pievienojot PPA.
Pieņemsim, ka jūs izmantojat Ubuntu 20.04 ar koda nosaukumu fokusa un jūs mēģināt pievienot PPA xyz, bet PPA xyz atbalsta tikai Ubuntu 16.04 LTS koda nosaukums kseniāls. Ja mēģināt pievienot EPL xyz, jūs saņemsiet kļūdu, jo PPA nav nevienas Ubuntu 20 pakotnes.04 koda nosaukums fokusa. Bet, ja norādāt Ubuntu 16.04 LTS koda nosaukums kseniāls pievienojot PPA, jūs nesaņemsit nevienu kļūdu. Šādā veidā jūs, iespējams, varēsiet instalēt vēlamo pakotni no PPA, pat ja tā neatbalsta tieši izmantoto Ubuntu versiju, kuru pašlaik izmantojat.
Apskatīsim piemēru.
Vispirms nokopējiet add_ppa.yaml playbook failu uz change_ppa_codename.yaml, sekojoši:
$ cp -v playbooks / add_ppa.yaml playbooks / change_ppa_codename.yaml
Pēc tam atveriet change_ppa_codename.yaml failu šādi:
$ nano playbooks / change_ppa_codename.yaml
Viss, kas jums jādara, ir pievienot koda vārds opcija ar vēlamo Ubuntu koda nosaukumu (t.i.e. koda nosaukums: xenial), kā norādīts zemāk redzamajā ekrānuzņēmumā.
Kad esat pabeidzis, saglabājiet change_ppa_codename.yaml failu, nospiežot
Palaidiet change_ppa_codename.yaml playbook šādi:
$ ansible-playbook playbooks / change_ppa_codename.yamlPIEZĪME: Es saņemu kļūdu, jo šeit pievienotā PPA atbalsta tikai Ubuntu 20.04 LTS. Jūs varat vienkārši ignorēt šo ziņojumu.
Kā redzat, ir pievienots PPA un Ubuntu koda nosaukums kseniāls atrodas APT pakotnes repozitorija rindā.
Secinājums
Šis raksts parādīja, kā pārvaldīt (pievienot / noņemt) Ubuntu pakotņu krātuves un EPL, izmantojot Ansible.
Ansible apt_repository modulis tiek izmantots, lai pārvaldītu Ubuntu pakotņu krātuves un EPL. Šajā rakstā ir izskaidrotas visas svarīgās programmas iespējas apt_repository modulis.
Lai iegūtu papildinformāciju, pārbaudiet apt_repository oficiālās Ansible dokumentācijas lapu.