Odgovorno

Upravljanje skladišč paketov Ubuntu in PPA-jev z uporabo programa Ansible

Upravljanje skladišč paketov Ubuntu in PPA-jev z uporabo programa Ansible
Dodajanje in odstranjevanje repozitorijev paketov in PPA-jev v Ubuntuju v vašem osebnem sistemu je lahko zelo preprosta naloga. Če pa imate veliko naprav Ubuntu, recimo 10 ali več, se bo ročno dodajanje in odstranjevanje repozitorijev paketov in PPA-jev v vsakem sistemu izkazalo za zamudno in neučinkovito.

Ansible apt_repository modul lahko z lahkoto dodate in odstranite repozitorije paketov in PPA-je na vaših gostiteljih Ubuntu. Predpomnilnik repozitorija paketov APT lahko posodobite tudi z uporabo programa Ansible apt_repository modul.

Ta članek vam bo pokazal, kako upravljati repozitorije paketov Ubuntu in PPA s pomočjo programa Ansible apt_repository modul. Torej, začnimo.

Pogoji

Če želite preizkusiti primere iz tega članka:

1) V računalniku mora biti nameščen Ansible.
2) Za avtomatizacijo Ansible mora biti konfiguriran gostitelj Ubuntu.

V LinuxHintu je veliko člankov, namenjenih namestitvi programa Ansible in konfiguriranju gostiteljev za avtomatizacijo Ansible. Te članke si lahko ogledate, če potrebujete dodatne informacije.

Nastavitev imenika projektov

Preden začnemo, bo dobro ustvariti strukturo imenika projekta, samo da bodo stvari nekoliko bolj organizirane.

Če želite ustvariti imenik projekta apt-ppa-repo / in vse zahtevane podimenike (v trenutnem delovnem imeniku) zaženite naslednji ukaz:

$ mkdir -pv apt-ppa-repo / playbooks

Ko je imenik projekta ustvarjen, se pomaknite do imenika projekta, kot sledi:

$ cd apt-ppa-repo

Ustvariti gostitelji inventarna datoteka, kot sledi:

$ nano gostitelji

Dodajte ime gostitelja IP ali DNS (vm7.nodekite.com in vm8.nodekite.com, v mojem primeru) vaših gostiteljev Ubuntu v inventarni datoteki.

Ko končate, datoteko shranite s pritiskom na + X, čemur sledi Y in .

V imeniku projekta ustvarite konfiguracijsko datoteko Ansible, kot sledi:

$ nano ansible.prim

V vrstico vnesite naslednje vrstice ansible.prim mapa:

[privzeto]
inventar = gostitelji
host_key_checking = False

Ko končate, datoteko shranite s pritiskom na + X, čemur sledi Y in .

Na tej točki mora biti imenik projekta videti tako:

$ drevo

Kot vidite, so gostitelji Ansible dostopni. Torej lahko preidemo na naslednji odsek tega članka.

$ ansible vse -u ansible -m ping

Dodajanje skladišč paketov

V tem razdelku vam bom pokazal, kako v Ubuntu dodate skladišče paketov z uporabo programa Ansible.

Najprej ustvarite novo igro z imenom add_repo.yaml v igralne knjige / imenik, kot sledi:

$ nano playbooks / add_repo.yaml

V vrstico vnesite naslednje vrstice add_repo.yaml mapa:

- gostitelji: vsi
uporabnik: ansible
postati: Resnično
naloge:
- ime: Prepričajte se, da je omogočena shramba vesolja
apt_repository:
repo: deb http: // arhiv.ubuntu.com / ubuntu osrednje vesolje
stanje: prisotno
update_cache: True

Ko končate, datoteko shranite s pritiskom na + X, čemur sledi Y in .

Tukaj repo možnost apt_repository modul se uporablja za določitev vrstice skladišča paketov APT (v mojem primeru, deb http: // arhiv.ubuntu.com / ubuntu osrednje vesolje) repozitorija paketov, ki ga želite dodati (v mojem primeru Ubuntu 20.04 Uradnik LTS vesolje repozitorij).

Če želite izvedeti več o obliki vrstice skladišča paketov APT, preberite Datoteke za konfiguracijo skladišča paketov Ubuntu odsek članka Kako uporabljati upravitelja paketov APT v Ubuntu 20.04 LTS.

Ko sem dodal novo skladišče paketov, država je prisoten.

The update_cache možnost je lahko Prav/ja ali Lažno/št.

Če je update_cache je nastavljeno na Prav, Ansible bo po dodajanju repozitorija paketov posodobil predpomnilnik repozitorija paketov APT.

Če je update_cache je nastavljeno na Lažno, Ansible ne bo posodobil predpomnilnika repozitorija paketov APT.

Tukaj želim, da se shrani skladišče paketov APT, ko se doda novo skladišče paketov. Tako sem nastavil update_cache do Prav.

Zdaj zaženite add_repo.yaml playbook, kot sledi:

$ ansible-playbook playbooks / add_repo.yaml

Kot lahko vidite, je knjiga iger uspešno tekla.

Da potrdim, da je repozitorij paketov (v mojem primeru Ubuntu 20.04 LTS vesolje repozitorij), zaženite naslednji ukaz:

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

Kot lahko vidite, je bila v datoteki / etc / apt / sources.seznam.d / imenik (1) in Ubuntu 20.04 LTS vesolje dodano je repozitorij paketov (2).

Privzeto bo Ansible samodejno ustvaril a .seznam v datoteki / etc / apt / sources.seznam.d / imenik, odvisno od vrstice odlagališča APT.

Če želite izbrati določeno ime datoteke (tj.e. ubuntu-vesolje.seznam) za svoje skladišče lahko določite ime datoteke s pomočjo Ime datoteke možnost apt_repository modul v vašem add_repo.yaml playbook, kot je prikazano na spodnjem posnetku zaslona.

Zdaj zaženite add_repo.yaml spet playbook.

$ ansible-playbook playbooks / add_repo.yaml

Kot lahko vidite, je ime datoteke isto ime, kot sem ga navedel.

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

Odstranjevanje skladišč paketov

V tem razdelku vam bom pokazal, kako odstranite obstoječe repozitorij paketov z gostiteljev Ubuntu z uporabo programa Ansible.

Navodila za odstranjevanje repozitorija paketov so skoraj enaka dodajanju repozitorija paketov. Torej, lahko samo kopirate add_repo.yaml datoteko playbook in jo nekoliko spremenite. To je zelo enostavno narediti.

Najprej kopirajte add_repo.yaml datoteko v remove_repo.yaml, kot sledi:

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

Uredite remove_repo.yaml playbook, kot sledi:

$ nano playbooks / remove_repo.yaml

Sprememba stanje: prisotno do stanje: odsoten, kot je označeno na spodnjem posnetku zaslona. To bo edina sprememba, ki jo morate narediti.

Ko končate, datoteko shranite s pritiskom na + X, čemur sledi Y in .

Zaženite remove_repo.yaml playbook, kot sledi:

$ ansible-playbook playbooks / remove_repo.yaml

Nato zaženite naslednji ukaz, da preverite, ali je repozitorij paketov, ki ga želite odstraniti, dejansko odstranjen.

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

Kot lahko vidite, Ubuntu 20.04 Uradnik LTS vesolje repozitorij paketov, ki sem ga dodal prej, je bil odstranjen.

OPOMBA: Prezri sporočilo o napaki. To sporočilo samo pomeni, da / etc / apt / sources.seznam.d / imenik je prazen. Če želite odstraniti sporočilo o napaki, preprosto dodajte 2> / dev / null na koncu ukaza, kot sledi. Po vnosu tega ukaza mora biti napaka odpravljena.

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

Dodajanje PPA

V tem razdelku vam bom pokazal, kako z gostiteljskim programom Ansible dodate PPA na gostitelje Ubuntu.

Dodal bom osomon / nodejs-10.19-goriščna Vozlišče.js 10.19 PPA za Ubuntu 20.04 LTS v mojem primeru.

Najprej ustvarite novo knjigo iger add_ppa.yaml, kot sledi:

$ nano playbooks / add_ppa.yaml

Dodajte naslednje vrstice v svoj add_ppa.yaml knjiga z igrami:

- gostitelji: vsi
uporabnik: ansible
postati: Resnično
naloge:
- ime: Dodaj vozlišče.js 10.19 PPA
apt_repository:
repo: ppa: osomon / nodejs-10.19-goriščna
stanje: prisotno
update_cache: True
validate_certs: False

Ko končate, shranite add_ppa.yaml playbook s pritiskom na + X, čemur sledi Y in .

Tukaj repo možnost apt_repository modul se uporablja za dodajanje PPA osomon / nodejs-10.19-goriščna (1).

Ne pozabite dodati ppa: pred imenom PPA, tj.e. ppa: osomon / nodejs-10.19-goriščna.

Večina pogodb PNE uporablja samopodpisana potrdila, zato jih Ansible ne more preveriti za vas in lahko zaženejo napako, ko zaženete knjigo iger.

Lahko nastavite validate_certs do Lažno da preskočite preverjanje veljavnosti potrdila za PPA, ki ga dodajate (2). To sem storil v primeru v tem članku.

OPOMBA: Lahko tudi nastavite validate_certs do Lažno da preskočite preverjanje veljavnosti certifikata pri dodajanju repozitorijev paketov drugih proizvajalcev.

Zaženite add_ppa.yaml playbook, kot sledi:

$ ansible-playbook playbooks / add_ppa.yaml

Kot lahko vidite, novo .seznam datoteka za PPA osomon / nodejs-10.19-goriščna je bil ustvarjen v / etc / apt / sources.seznam.d / imenik (1).

Z ogledom vsebine ppa_osomon_nodejs_10_19_focal_focal.seznam datoteko, lahko potrdim, da je bil PPA dodan (2).

$ drevo / etc / apt / sources.seznam.d /
$ cat / etc / apt / sources.seznam.d / ppa_osomon_nodejs_10_19_focal_xenial.seznam

Odstranjevanje SNEE

PPA-je lahko odstranite na enak način, kot smo v prejšnjem razdelku tega članka odstranili repozitoriji paketov.

Samo kopirajte app_ppa.yaml playbook do remove_ppa.yaml, kot sledi:

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

Zdaj odprite remove_ppa.yaml playbook, kot sledi:

$ nano playbooks / remove_ppa.yaml

Nato spremenite vrstico stanje: prisotno do stanje: odsoten, kot je označeno na spodnjem posnetku zaslona.

Ko končate, shranite odstrani_ppa.yaml playbook s pritiskom na + X, čemur sledi Y in .

Zaženite remove_ppa.yaml playbook, kot sledi:

$ ansible-playbook playbooks / add_ppa.yaml

Kot lahko vidite, ppa_osomon_nodejs_10_19_focal_focal.seznam datoteka za osomon / nodejs-10.19-goriščna PPA ni več na voljo v / etc / apt / sources.seznam.d / imenik. Torej, PPA osomon / nodejs-10.19-goriščna je bil odstranjen.

$ drevo / etc / apt / sources.seznam.d /

Spreminjanje kodnega imena PPA

Včasih PPA, ki ga poskušate dodati na gostitelju Ubuntu, ne podpira različice Ubuntuja, ki ga uporabljate. V tem primeru boste morali med dodajanjem PPA ročno določiti kodno ime različice Ubuntu.

Recimo, da uporabljate Ubuntu 20.04 s kodnim imenom žariščno in poskušate dodati PPA xyz, ampak PPA xyz podpira samo Ubuntu 16.04 LTS kodno ime xenial. Če poskušate dodati PPA xyz, dobili boste napako, saj PPA nima nobenega paketa za Ubuntu 20.04 kodno ime žariščno. Če pa določite Ubuntu 16.04 LTS kodno ime xenial med dodajanjem PPA ne boste prejeli nobene napake. Na ta način boste morda lahko namestili želeni paket iz PPA, tudi če ne podpira eksplicitne različice Ubuntuja, ki ga trenutno uporabljate.

Poglejmo primer.

Najprej kopirajte add_ppa.yaml datoteko playbook v change_ppa_codename.yaml, kot sledi:

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

Nato odprite change_ppa_codename.yaml datoteka, kot sledi:

$ nano playbooks / change_ppa_codename.yaml

Tukaj morate le dodati kodno ime možnost z želenim kodnim imenom Ubuntu (tj.e. kodno ime: xenial), kot je označeno na spodnjem posnetku zaslona.

Ko končate, shranite change_ppa_codename.yaml s pritiskom na + X, čemur sledi Y in .

Zaženite change_ppa_codename.yaml playbook, kot sledi:

$ ansible-playbook playbooks / change_ppa_codename.yaml

OPOMBA: Prikaže se napaka, ker PPA, ki sem ga tukaj dodal, podpira samo Ubuntu 20.04 LTS. To sporočilo lahko preprosto prezrete.

Kot lahko vidite, je bil dodan PPA in kodno ime Ubuntu xenial je v vrstici odlagališča paketov APT.

Zaključek

Ta članek vam je pokazal, kako upravljati (dodati / odstraniti) skladišča paketov Ubuntu in PPA-je s pomočjo programa Ansible.

Ansible apt_repository modul se uporablja za upravljanje skladišč paketov Ubuntu in PPA-jev. Ta članek je razložil vse pomembne možnosti apt_repository modul Ansible.

Če želite več informacij, preverite uradno stran dokumentacije o odgovornih osebah apt_repository.

Kako obrniti smer drsenja miške in sledilne ploščice v sistemu Windows 10
Miška in Sledilna ploščicaRačunalništvo ni samo enostavno, ampak bolj učinkovito in manj zamudno. Življenja brez teh naprav si ne moremo predstavljati...
Kako spremeniti miškin kazalec in velikost, barvo in shemo kazalca v sistemu Windows 10
Kazalec miške in kazalec v operacijskem sistemu Windows 10 sta zelo pomembna vidika operacijskega sistema. To lahko rečemo tudi za druge operacijske s...
Brezplačni in odprtokodni igralni mehanizmi za razvoj iger Linux
Ta članek bo zajemal seznam brezplačnih in odprtokodnih igralnih mehanizmov, ki jih je mogoče uporabiti za razvoj 2D in 3D iger v Linuxu. Obstaja veli...