Odgovorno

Upravljajte spremištima Ubuntu paketa i PPA-ima koristeći Ansible

Upravljajte spremištima Ubuntu paketa i PPA-ima koristeći Ansible
Dodavanje i uklanjanje spremišta paketa i PPA-ova u Ubuntuu na vašem osobnom sustavu može biti vrlo jednostavan zadatak. Međutim, ako imate mnogo Ubuntu strojeva, recimo 10 ili više, tada će ručno dodavanje i uklanjanje spremišta paketa i PPA-ova na svakom sustavu jedan po jedan pokazati dugotrajnim i neučinkovitim.

Odgovoran apt_repository modul se može koristiti za dodavanje i uklanjanje spremišta paketa i PPA-ova na vašim Ubuntu domaćinima s lakoćom. Također možete ažurirati predmemoriju spremišta APT paketa pomoću programa Ansible apt_repository modul.

Ovaj će vam članak pokazati kako upravljati spremištima Ubuntu paketa i PPA-ima koristeći Ansible apt_repository modul. Pa, krenimo.

Preduvjeti

Ako želite isprobati primjere sadržane u ovom članku:

1) Na računalu morate imati instaliran Ansible.
2) Morate imati Ubuntu domaćin konfiguriran za Ansible automatizaciju.

Na LinuxHintu postoji mnogo članaka posvećenih Instaliranju Ansible i konfiguriranju hostova za Ansible automatizaciju. Ove članke možete provjeriti ako su vam potrebne dodatne informacije.

Postavljanje direktorija projekata

Prije nego što započnemo, bilo bi dobro stvoriti strukturu direktorija projekta, samo kako bi se stvari malo organizirale.

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

$ mkdir -pv apt-ppa-repo / playbooks

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

$ cd apt-ppa-repo

Stvoriti domaćini inventarna datoteka, kako slijedi:

$ nano domaćini

Dodajte IP ili DNS ime hosta (vm7.nodekite.com i vm8.nodekite.com, u mom slučaju) vaših Ubuntu hostova u datoteci inventara.

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

Stvorite konfiguracijsku datoteku Ansible u direktoriju projekta, kako slijedi:

$ nano ansible.usp

Utipkajte sljedeće retke u ansible.usp datoteka:

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

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

U ovom trenutku, direktorij projekta trebao bi izgledati ovako:

$ drvo

Kao što vidite, Ansible domaćini su dostupni. Dakle, možemo prijeći na sljedeći odjeljak ovog članka.

$ ansible sve -u ansible -m ping

Dodavanje spremišta paketa

U ovom odjeljku pokazat ću vam kako dodati spremište paketa u Ubuntu koristeći Ansible.

Prvo stvorite novu knjigu s igrama pod nazivom add_repo.yaml u igraonice / direktorij, kako slijedi:

$ nano playbooks / add_repo.yaml

Utipkajte sljedeće retke u add_repo.yaml datoteka:

- domaćini: svi
korisnik: ansible
postati: Istina
zadaci:
- ime: Provjerite je li spremište svemira omogućeno
apt_repository:
repo: deb http: // arhiva.ubuntu.com / ubuntu žarišni svemir
stanje: prisutno
update_cache: Tačno

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

Evo, repo mogućnost apt_repository modul koristi se za određivanje linije spremišta APT paketa (u mom slučaju, deb http: // arhiva.ubuntu.com / ubuntu žarišni svemir) spremišta paketa koje želite dodati (u mom slučaju, Ubuntu 20.04 službenik LTS-a svemir spremište).

Da biste saznali više o formatu linije spremišta APT paketa, pročitajte Datoteke za konfiguraciju spremišta Ubuntu paketa odjeljak članka Kako koristiti APT Package Manager u Ubuntu 20.04 LTS.

Kako ovdje dodajem novo spremište paketa, država je predstaviti.

The update_cache opcija može biti Pravi/Da ili Lažno/Ne.

Ako je update_cache postavljeno je na Pravi, Ansible će ažurirati predmemoriju spremišta paketa APT nakon dodavanja spremišta paketa.

Ako je update_cache postavljeno je na Lažno, Ansible neće ažurirati predmemoriju spremišta APT paketa.

Ovdje želim da se spremište APT paketa ažurira kada se doda novo spremište paketa. Dakle, postavio sam update_cache do Pravi.

Sada pokrenite add_repo.yaml playbook, kako slijedi:

$ ansible-playbook playbooks / add_repo.yaml

Kao što vidite, priručnik se uspješno izvodio.

Da biste potvrdili da je spremište paketa (u mom slučaju Ubuntu 20.04 LTS svemir spremište), pokrenite sljedeću naredbu:

$ grep --color -R 'http: // arhiva.ubuntu.com '/ etc / apt / sources.popis
/ etc / apt / sources.popis.d / *.popis

Kao što vidite, nova datoteka je kreirana u / etc / apt / sources.popis.d / direktorij (1) i Ubuntu 20.04 LTS svemir dodano je spremište paketa (2).

Prema zadanim postavkama, Ansible će automatski generirati a .popis datoteku u / etc / apt / sources.popis.d / direktorija, ovisno o liniji APT spremišta.

Ako želite odabrati određeno ime datoteke (tj.e. ubuntu-svemir.popis) za svoje spremište možete odrediti naziv datoteke pomoću naziv datoteke mogućnost apt_repository modul u vašem add_repo.yaml playbook, kao što je prikazano na snimci zaslona u nastavku.

Sada pokrenite add_repo.yaml opet knjiga s igrama.

$ ansible-playbook playbooks / add_repo.yaml

Kao što vidite, naziv datoteke je isto ime koje sam naveo.

$ grep --color -R 'http: // arhiva.ubuntu.com '/ etc / apt / sources.popis
/ etc / apt / sources.popis.d / *.popis

Uklanjanje spremišta paketa

U ovom odjeljku pokazat ću vam kako ukloniti postojeće spremište paketa s vaših Ubuntu hostova pomoću programa Ansible.

Priručnik za uklanjanje spremišta paketa gotovo je isti kao i dodavanje spremišta paketa. Dakle, možete jednostavno kopirati add_repo.yaml playbook datoteku i malo je izmijenite. To je vrlo jednostavno učiniti.

Prvo kopirajte add_repo.yaml podnijeti na remove_repo.yaml, kako slijedi:

$ cp -v playbooks / add_repo.yaml playbooks / remove_repo.yaml

Uredite remove_repo.yaml playbook, kako slijedi:

$ nano playbooks / remove_repo.yaml

Promijeniti stanje: prisutno do stanje: odsutno, kako je označeno na snimci zaslona u nastavku. Ovo će biti jedina promjena koju trebate unijeti.

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

Pokrenite remove_repo.yaml playbook, kako slijedi:

$ ansible-playbook playbooks / remove_repo.yaml

Zatim pokrenite sljedeću naredbu da provjerite je li spremište paketa koje želite ukloniti stvarno uklonjeno.

$ grep --color -R 'http: // arhiva.ubuntu.com '/ etc / apt / sources.popis
/ etc / apt / sources.popis.d / *.popis

Kao što vidite, Ubuntu 20.04 službenik LTS-a svemir Uklonjeno je spremište paketa koje sam ranije dodao.

BILJEŠKA: Zanemarite poruku pogreške. Ova poruka samo znači da / etc / apt / sources.popis.d / direktorij je prazan. Ako želite ukloniti poruku o pogrešci, samo dodajte 2> / dev / null na kraju naredbe, kako slijedi. Pogrešku bi trebalo ukloniti nakon uvođenja ove naredbe.

$ grep --color -R 'http: // arhiva.ubuntu.com '/ etc / apt / sources.popis
/ etc / apt / sources.popis.d / *.popis 2> / dev / null

Dodavanje PPA-ova

U ovom odjeljku pokazat ću vam kako dodati PPA na vaše Ubuntu hostove pomoću Ansible.

Ja ću dodati osomon / nodejs-10.19-žarišna Čvor.js 10.19 PPA za Ubuntu 20.04 LTS u mom primjeru.

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

$ nano playbooks / add_ppa.yaml

Dodajte sljedeće retke u svoj add_ppa.yaml knjiga s igrama:

- domaćini: svi
korisnik: ansible
postati: Istina
zadaci:
- ime: Dodaj čvor.js 10.19 PPA
apt_repository:
repo: ppa: osomon / nodejs-10.19-žarišna
stanje: prisutno
update_cache: Tačno
validate_certs: Netačno

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

Evo, repo mogućnost apt_repository modul koristi se za dodavanje PPA-a osomon / nodejs-10.19-žarišna (1).

Obavezno dodajte ppa: prije naziva PPA, t.j.e. ppa: osomon / nodejs-10.19-žarišna.

Većina PPA-ova koristi samopotpisane certifikate, tako da ih Ansible ne može provjeriti umjesto vas i mogu pogriješiti kad pokrenete knjigu priručnika.

Možete postaviti validate_certs do Lažno da preskočite provjeru valjanosti certifikata za PPA koji dodajete (2). To sam učinio u primjeru iz ovog članka.

BILJEŠKA: Također možete postaviti validate_certs do Lažno za preskakanje provjere valjanosti prilikom dodavanja spremišta paketa treće strane.

Pokrenite add_ppa.yaml playbook, kako slijedi:

$ ansible-playbook playbooks / add_ppa.yaml

Kao što vidite, novi .popis datoteka za PPA osomon / nodejs-10.19-žarišna je stvoren u / etc / apt / sources.popis.d / imenik (1).

Uvidom u sadržaj ppa_osomon_nodejs_10_19_fokalno_fokalno.popis datoteku, mogu potvrditi da je PPA dodan (2).

$ stablo / etc / apt / sources.popis.d /
$ cat / etc / apt / sources.popis.d / ppa_osomon_nodejs_10_19_focal_xenial.popis

Uklanjanje PPA-a

PPA-ove možete ukloniti na isti način na koji smo uklonili spremišta paketa u prethodnom odjeljku ovog članka.

Samo kopirajte app_ppa.yaml playbook za ukloni_ppa.yaml, kako slijedi:

$ cp -v playbooks / add_repo.yaml playbooks / remove_repo.yaml

Sada otvorite ukloni_ppa.yaml playbook, kako slijedi:

$ nano playbooks / remove_ppa.yaml

Zatim promijenite liniju stanje: prisutno do stanje: odsutno, kako je označeno na snimci zaslona u nastavku.

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

Pokrenite ukloni_ppa.yaml playbook, kako slijedi:

$ ansible-playbook playbooks / add_ppa.yaml

Kao što vidite, ppa_osomon_nodejs_10_19_fokalno_fokalno.popis datoteka za osomon / nodejs-10.19-žarišna PPA više nije dostupan u / etc / apt / sources.popis.d / imenik. Dakle, PPA osomon / nodejs-10.19-žarišna uklonjeno je.

$ stablo / etc / apt / sources.popis.d /

Promjena PPA kodnog imena

Ponekad PPA koji pokušavate dodati na vaš Ubuntu domaćin ne podržava verziju Ubuntua koju koristite. U tom slučaju morat ćete ručno odrediti kodno ime verzije Ubuntua dok dodajete PPA.

Pretpostavimo da koristite Ubuntu 20.04 s kodnim imenom žarišna a vi pokušavate dodati PPA xyz, ali PPA xyz podržava samo Ubuntu 16.04 LTS kodno ime xenial. Ako pokušate dodati PPA xyz, dobit ćete pogrešku, jer PPA nema nijedan paket za Ubuntu 20.04 kodno ime žarišna. Ali, ako navedete Ubuntu 16.04 LTS kodno ime xenial dok dodajete PPA, nećete dobiti nikakvu pogrešku. Na taj ćete način možda moći instalirati željeni paket s PPA-a, čak i ako ne podržava eksplicitnu verziju Ubuntu-a koju trenutno koristite.

Pogledajmo primjer.

Prvo kopirajte add_ppa.yaml datoteka playbooka u change_ppa_codename.yaml, kako slijedi:

$ cp -v playbooks / add_ppa.yaml playbooks / change_ppa_codename.yaml

Zatim otvorite change_ppa_codename.yaml datoteka, kako slijedi:

$ nano playbooks / change_ppa_codename.yaml

Ovdje sve što morate učiniti je dodati kodno ime opcija sa željenim Ubuntu kodnim imenom (tj.e. kodno ime: xenial), kao što je označeno na snimci zaslona u nastavku.

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

Pokrenite change_ppa_codename.yaml playbook, kako slijedi:

$ ansible-playbook playbooks / change_ppa_codename.yaml

BILJEŠKA: Dobivam pogrešku jer PPA koji sam ovdje dodao podržava samo Ubuntu 20.04 LTS. Možete jednostavno ignorirati ovu poruku.

Kao što vidite, PPA je dodan i Ubuntu kodno ime xenial nalazi se u retku spremišta APT paketa.

Zaključak

Ovaj vam je članak pokazao kako upravljati (dodati / ukloniti) spremištima Ubuntu paketa i PPA-ima koristeći Ansible.

Odgovoran apt_repository modul koristi se za upravljanje spremištima Ubuntu paketa i PPA-ovima. Ovaj je članak objasnio sve važne mogućnosti apt_repository modul Ansible.

Za više informacija provjerite službenu stranicu dokumentacije o aplikacijama apt_repository.

Najbolji Linux Distros za igre na sreću 2021. godine
Linux operativni sustav daleko je prevalio svoj izvorni, jednostavni izgled zasnovan na poslužitelju. Ovaj se OS posljednjih godina izuzetno poboljšao...
Kako snimiti i struji svoju igraću sesiju na Linuxu
U prošlosti se igranje igara smatralo samo hobijem, ali s vremenom je igračka industrija zabilježila ogroman rast u pogledu tehnologije i broja igrača...
Najbolje igre za ručno praćenje
Oculus Quest nedavno je predstavio sjajnu ideju ručnog praćenja bez kontrolera. Sa sve većim brojem igara i aktivnosti koje izvršavaju podršku bilo fo...