Võimatu apt_hoidla moodulit saab hõlpsalt oma Ubuntu hostides paketihoidlate ja PPA-de lisamiseks ja eemaldamiseks. APT-paketi hoidla vahemälu saate värskendada ka rakendusega Ansible apt_hoidla moodul.
See artikkel näitab teile, kuidas hallata Ubuntu paketihoidlaid ja PPA-sid rakenduse Ansible abil apt_hoidla moodul. Alustame siis.
Eeldused
Kui soovite proovida selles artiklis toodud näiteid:
1) Teie arvutisse peab olema installitud Ansible.
2) Teil peab olema Ansible automatiseerimise jaoks konfigureeritud Ubuntu host.
LinuxHintis on palju artikleid, mis on pühendatud Ansible'i installimisele ja hostide konfigureerimisele Ansible'i automatiseerimiseks. Kui vajate lisateavet, võite need artiklid läbi vaadata.
Projektikataloogi seadistamine
Enne alustamist on hea luua projekti kataloogistruktuur, et hoida asju natuke rohkem korraldatud.
Projektikataloogi loomiseks apt-ppa-repo / ja kõik vajalikud alamkataloogid (teie praeguses töökataloogis), käivitage järgmine käsk:
$ mkdir -pv apt-ppa-repo / playbooks
Kui projekti kataloog on loodud, navigeerige projekti kataloogi järgmiselt:
$ cd apt-ppa-repo
Loo võõrustajad varude toimik järgmiselt:
$ nano hostid
Lisage hosti IP või DNS-i nimi (vm7.nodekite.com ja vm8.nodekite.com, minu puhul) teie Ubuntu hostidest inventeerimisfailis.
Kui olete lõpetanud, salvestage fail, vajutades
Looge projekti kataloogi Ansible konfiguratsioonifail järgmiselt:
$ nano on võimalik.vrd
Tippige väljale järgmised read võimalik.vrd fail:
[vaikimisi]inventar = hostid
host_key_checking = Vale
Kui olete lõpetanud, salvestage fail, vajutades
Siinkohal peaks projekti kataloog välja nägema järgmine:
$ puu
Nagu näete, on Ansible-hostidele juurdepääs. Niisiis võime liikuda selle artikli järgmise jaotise juurde.
$ ansible all -u ansible -m ping
Paketihoidlate lisamine
Selles jaotises näitan teile, kuidas pakendihoidlat Ubuntu lisada, kasutades Ansible'i.
Kõigepealt looge uus mänguraamat nimega add_repo.yaml aastal mänguraamatud / kataloogi järgmiselt:
$ nano playbooks / add_repo.yaml
Tippige väljale järgmised read add_repo.yaml fail:
- võõrustajad: kõikkasutaja: ansible
muutunud: Tõsi
ülesanded:
- nimi: Veenduge, et universumi hoidla on lubatud
apt_repository:
repo: deb http: // arhiiv.ubuntu.com / ubuntu fookusuniversum
olek: kohal
update_cache: Tõsi
Kui olete lõpetanud, salvestage fail, vajutades
Siin, repo võimalus apt_hoidla moodulit kasutatakse APT paketihoidla rea määramiseks (minu puhul, deb http: // arhiiv.ubuntu.com / ubuntu fookusuniversum) paketihoidlast, mille soovite lisada (minu puhul Ubuntu 20.04 LTS ametnik universum hoidla).
APT paketi hoidla rea vormingu kohta lisateabe saamiseks lugege Ubuntu pakettide hoidla konfiguratsioonifailid artikli jaotis Kuidas kasutada APT paketihaldurit Ubuntu 20-s.04 LTS.
Kuna lisan siia uue paketihoidla, siis riik on kohal.
The update_cache variant võib olla kas Tõsi/jah või Vale/ei.
Kui update_cache on seatud väärtusele Tõsi, Ansible värskendab APT paketihoidla vahemälu pärast paketihoidla lisamist.
Kui update_cache on seatud väärtusele Vale, Ansible ei uuenda APT paketi hoidla vahemälu.
Siinkohal tahan, et APT paketihoidlat värskendataks, kui uus paketihoidla on lisatud. Nii et ma panin update_cache kuni Tõsi.
Nüüd käivitage add_repo.yaml järgmine raamat:
$ ansible-playbook playbooks / add_repo.yamlNagu näete, jooksis mänguraamat edukalt.
Kinnitamaks, et paketihoidla (minu puhul Ubuntu 20.04 LTS universum hoidla), käivitage järgmine käsk:
$ grep --color -R 'http: // arhiiv.ubuntu.com '/ etc / apt / sources.nimekirja/ etc / apt / sources.nimekirja.d / *.nimekirja
Nagu näete, on failis loodud uus fail / etc / apt / sources.nimekirja.d / kataloog (1) ja Ubuntu 20.04 LTS universum paketihoidla on lisatud (2).
Vaikimisi loob Ansible automaatselt a .nimekirja faili / etc / apt / sources.nimekirja.d / kataloogi, sõltuvalt APT hoidla reast.
Kui soovite valida konkreetse failinime (st.e. ubuntu-universum.nimekirja) saate oma hoidla jaoks määrata failinime, kasutades faili nimi võimalus apt_hoidla moodul add_repo.yaml mänguraamat, nagu on näidatud alloleval ekraanipildil.
Nüüd käivitage add_repo.yaml jälle mänguraamat.
$ ansible-playbook playbooks / add_repo.yaml
Nagu näete, on failinimi sama nimi, mille ma määrasin.
$ grep --color -R 'http: // arhiiv.ubuntu.com '/ etc / apt / sources.nimekirja/ etc / apt / sources.nimekirja.d / *.nimekirja
Pakihoidlate eemaldamine
Selles jaotises näitan teile, kuidas olemasolevat paketihoidlat oma Ubuntu hostidest eemaldada Ansible abil.
Paketthoidla eemaldamise käsiraamat on peaaegu sama mis paketihoidla lisamine. Nii saate lihtsalt kopeerida add_repo.yaml mängukirja faili ja muutke seda natuke. Seda on väga lihtne teha.
Kõigepealt kopeerige add_repo.yaml faili remove_repo.yaml, järgnevalt:
$ cp -v playbooks / add_repo.yaml playbooks / remove_repo.yaml
Redigeerige remove_repo.yaml järgmine raamat:
Esitusraamatud $ nano / remove_repo.yaml
Muuda olek: kohal kuni riik: puudub, nagu on märgitud alloleval ekraanipildil. See on ainus muudatus, mille peate tegema.
Kui olete lõpetanud, salvestage fail, vajutades
Käivitage remove_repo.yaml järgmine raamat:
$ ansible-playbook playbooks / remove_repo.yaml
Järgmisena käivitage järgmine käsk, et kontrollida, kas paketihoidla, mille soovite eemaldada, on tegelikult eemaldatud.
$ grep --color -R 'http: // arhiiv.ubuntu.com '/ etc / apt / sources.nimekirja/ etc / apt / sources.nimekirja.d / *.nimekirja
Nagu näete, Ubuntu 20.04 LTS ametnik universum Varem lisatud pakihoidla on eemaldatud.
MÄRGE: Eirake tõrketeadet. See sõnum tähendab lihtsalt, et / etc / apt / sources.nimekirja.d / kataloog on tühi. Kui soovite veateate eemaldada, lisage lihtsalt a 2> / dev / null käsu lõpus järgmiselt. Pärast selle käsu kaasamist peaks viga kaduma.
$ grep --color -R 'http: // arhiiv.ubuntu.com '/ etc / apt / sources.nimekirja/ etc / apt / sources.nimekirja.d / *.loend 2> / dev / null
Elektrienergia ostulepingute lisamine
Selles jaotises näitan teile, kuidas PPA-d oma Ubuntu hostidele lisada, kasutades Ansible'i.
Lisan osomon / nodejs-10.19-fookusega Sõlm.js 10.19 Ubuntu 20 PPA.04 LTS minu näites.
Kõigepealt looge uus mänguraamat add_ppa.yaml, järgnevalt:
Esitusraamatud $ nano / add_ppa.yaml
Lisage oma rida järgmised read add_ppa.yaml mänguraamat:
- võõrustajad: kõikkasutaja: ansible
muutunud: Tõsi
ülesanded:
- nimi: lisage sõlm.js 10.19 PPA
apt_repository:
repo: ppa: osomon / nodejs-10.19-fookusega
olek: kohal
update_cache: Tõsi
validate_certs: Vale
Kui olete valmis, salvestage add_ppa.yaml mänguraamatut vajutades
Siin, repo võimalus apt_hoidla moodulit kasutatakse PPA lisamiseks osomon / nodejs-10.19-fookuskaugus (1).
Lisage kindlasti ppa: enne PPA nime, st.e. ppa: osomon / nodejs-10.19-fookuskaugus.
Enamik PPA-sid kasutab ise allkirjastatud sertifikaate, nii et Ansible ei saa neid teie eest kinnitada ja need võivad esitusraamatu käivitamisel eksida.
Saate seadistada validate_certs kuni Vale lisatava PPA sertifikaadi valideerimise vahele jätmiseks (2). Seda olen teinud ka selle artikli näites.
MÄRGE: Samuti saate seadistada validate_certs kuni Vale kolmanda osapoole pakihoidlate lisamisel sertifikaadi valideerimine vahele jätta.
Käivitage add_ppa.yaml järgmine raamat:
$ ansible-playbooki mänguraamatud / add_ppa.yaml
Nagu näete, uus .nimekirja fail PPA jaoks osomon / nodejs-10.19-fookusega on loodud / etc / apt / sources.nimekirja.d / kataloog (1).
Vaadates ppa_osomon_nodejs_10_19_focal_focal.nimekirja faili, võin kinnitada, et PPA on lisatud (2).
$ puu / etc / apt / sources.nimekirja.d /$ cat / etc / apt / sources.nimekirja.d / ppa_osomon_nodejs_10_19_focal_xenial.nimekirja
Elektrienergia ostulepingute eemaldamine
Elektrienergia ostulepinguid saate eemaldada samamoodi, nagu eemaldasime selle artikli eelmises jaotises paketihoidlad.
Lihtsalt kopeerige app_ppa.yaml mängukiri remove_ppa.yaml, järgnevalt:
$ cp -v playbooks / add_repo.yaml playbooks / remove_repo.yaml
Nüüd avage remove_ppa.yaml järgmine raamat:
Esitusraamatud $ nano / remove_ppa.yaml
Järgmisena muutke joont olek: kohal kuni riik: puudub, nagu on märgitud alloleval ekraanipildil.
Kui olete valmis, salvestage remove_ppa.yaml mänguraamatut vajutades
Käivitage remove_ppa.yaml järgmine raamat:
$ ansible-playbooki mänguraamatud / add_ppa.yaml
Nagu näete, ppa_osomon_nodejs_10_19_focal_focal.nimekirja faili jaoks osomon / nodejs-10.19-fookusega PPA pole veebis enam saadaval / etc / apt / sources.nimekirja.d / kataloogi. Niisiis, PPA osomon / nodejs-10.19-fookuskaugus on eemaldatud.
$ puu / etc / apt / sources.nimekirja.d /
PPA koodinime muutmine
Mõnikord ei toeta PPA, mida proovite oma Ubuntu hostis lisada, teie kasutatavat Ubuntu versiooni. Sellisel juhul peate PPA lisamisel Ubuntu versiooni koodinime käsitsi määrama.
Oletame, et kasutate Ubuntu 20.04 koodnimega fookuskaugus ja proovite lisada PPA-d xyz, vaid PPA xyz toetab ainult Ubuntu 16.04 LTS koodnimi kseniaalne. Kui proovite lisada PPA-d xyz, saate vea, kuna PPA-l pole Ubuntu 20 jaoks ühtegi paketti.04 koodnimi fookuskaugus. Kuid kui määrate Ubuntu 16.04 LTS koodnimi kseniaalne PPA lisamise ajal ei saa te ühtegi viga. Võimalik, et saate soovitud paketi PPA-lt sel viisil installida, isegi kui see ei toeta praegu käitatavat Ubuntu selget versiooni.
Vaatame näite.
Kõigepealt kopeerige add_ppa.yaml esitusraamatu faili change_ppa_codename.yaml, järgnevalt:
Esitusraamatud $ cp -v / add_ppa.yaml playbooks / change_ppa_koodinimi.yaml
Järgmisena avage change_ppa_codename.yaml järgmine fail:
$ nano playbooks / change_ppa_codename.yaml
Siin peate vaid lisama koodnimi soovitud Ubuntu koodinimega (st.e. koodnimi: kseniaalne), nagu on märgitud alloleval ekraanipildil.
Kui olete valmis, salvestage change_ppa_codename.yaml faili vajutades
Käivitage change_ppa_codename.yaml järgmine raamat:
$ ansible-playbook playbooks / change_ppa_koodinimi.yamlMÄRGE: Ma saan vea, kuna siia lisatud PPA toetab ainult Ubuntu 20.04 LTS. Saate seda teadet lihtsalt ignoreerida.
Nagu näete, on lisatud PPA ja Ubuntu koodnimi kseniaalne on APT paketihoidla real.
Järeldus
See artikkel näitas teile, kuidas hallata (lisada / eemaldada) Ubuntu paketihoidlaid ja PPA-sid, kasutades Ansible'i.
Võimatu apt_hoidla moodulit kasutatakse Ubuntu paketihoidlate ja PPA-de haldamiseks. Selles artiklis selgitati kõiki olulisi võimalusi apt_hoidla mooduli Ansible.
Lisateabe saamiseks vaadake apt_repository ametliku Ansible dokumentatsiooni lehte.