Možné

Spravujte úložiště balíčků Ubuntu a PPA pomocí Ansible

Spravujte úložiště balíčků Ubuntu a PPA pomocí Ansible
Přidávání a odebírání úložišť balíčků a PPA v Ubuntu ve vašem osobním systému může být velmi jednoduchý úkol. Pokud však máte mnoho strojů Ubuntu, řekněme, 10 nebo více, pak se ruční přidávání a odebírání úložišť balíčků a PPA v každém systému po jednom ukáže časově i neefektivní.

Možné apt_repository lze snadno přidávat a odebírat úložiště balíčků a PPA na hostitelích Ubuntu. Mezipaměť úložiště balíčků APT můžete také aktualizovat pomocí možnosti Ansible apt_repository modul.

Tento článek vám ukáže, jak spravovat úložiště balíčků Ubuntu a PPA pomocí Ansible apt_repository modul. Pojďme tedy začít.

Předpoklady

Chcete-li vyzkoušet příklady obsažené v tomto článku:

1) Musíte mít ve svém počítači nainstalovanou aplikaci Ansible.
2) Musíte mít hostitele Ubuntu nakonfigurovaného pro automatizaci Ansible.

Existuje mnoho článků o LinuxHint věnovaných instalaci Ansible a konfiguraci hostitelů pro automatizaci Ansible. Pokud potřebujete další informace, můžete si tyto články prohlédnout.

Nastavení adresáře projektu

Než začneme, bude dobré vytvořit adresářovou strukturu projektu, jen aby byly věci trochu organizovanější.

Chcete-li vytvořit adresář projektu apt-ppa-repo / a všechny požadované podadresáře (ve vašem aktuálním pracovním adresáři), spusťte následující příkaz:

$ mkdir -pv apt-ppa-repo / příručky

Po vytvoření adresáře projektu přejděte do adresáře projektu následujícím způsobem:

$ cd apt-ppa-repo

Vytvořit hostitelé soubor inventáře takto:

$ nano hostitelé

Přidejte IP adresu nebo DNS název hostitele (vm7.nodekite.com a vm8.nodekite.com, v mém případě) vašich hostitelů Ubuntu v souboru inventáře.

Až budete hotovi, uložte soubor stisknutím + X, následován Y a .

V adresáři projektu vytvořte konfigurační soubor Ansible:

$ nanoodpovědný.srov

Do řádku zadejte následující řádky zodpovědný.srov soubor:

[výchozí]
inventář = hostitelé
host_key_checking = False

Až budete hotovi, uložte soubor stisknutím + X, následován Y a .

V tomto okamžiku by měl adresář projektu vypadat takto:

$ strom

Jak vidíte, hostitelé Ansible jsou přístupní. Můžeme tedy přejít k další části tohoto článku.

$ ansible vše -u ansible -m ping

Přidávání úložišť balíků

V této části vám ukážu, jak přidat úložiště balíčků v Ubuntu pomocí Ansible.

Nejprve vytvořte novou příručku s názvem add_repo.yaml v knihy o hře / adresář takto:

$ nano playbooks / add_repo.yaml

Do řádku zadejte následující řádky add_repo.yaml soubor:

- hostitelé: všichni
uživatel: odpovědný
stát se: Pravda
úkoly:
- name: Ujistěte se, že je úložiště vesmíru povoleno
apt_repository:
repo: deb http: // archiv.ubuntu.ohniskový vesmír com / ubuntu
stav: přítomen
update_cache: Pravda

Až budete hotovi, uložte soubor stisknutím + X, následován Y a .

Tady repo možnost apt_repository modul se používá k určení řádku úložiště balíčku APT (v mém případě, deb http: // archiv.ubuntu.ohniskový vesmír com / ubuntu) úložiště balíčků, které chcete přidat (v mém případě Ubuntu 20.04 LTS oficiální vesmír úložiště).

Chcete-li se dozvědět více o formátu řádku úložiště balíčků APT, přečtěte si Konfigurační soubory úložiště balíků Ubuntu část článku Jak používat APT Package Manager v Ubuntu 20.04 LTS.

Když sem přidávám nové úložiště balíčků, Stát je současnost, dárek.

The update_cache volba může být buď Skutečný/Ano nebo Nepravdivé/Ne.

Pokud update_cache je nastaven na Skutečný, Ansible po přidání úložiště balíčků aktualizuje mezipaměť úložiště balíčků APT.

Pokud update_cache je nastaven na Nepravdivé, Ansible nebude aktualizovat mezipaměť úložiště balíčků APT.

Tady chci, aby se úložiště APT balíčku aktualizovalo, jakmile se přidá nové úložiště balíčků. Takže jsem nastavil update_cache na Skutečný.

Nyní spusťte add_repo.yaml playbook, a to následovně:

$ ansible-playbook playbooks / add_repo.yaml

Jak vidíte, hrací kniha proběhla úspěšně.

Chcete-li potvrdit, že úložiště balíčků (v mém případě Ubuntu 20.04 LTS vesmír repository), spusťte následující příkaz:

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

Jak vidíte, v souboru byl vytvořen nový soubor / etc / apt / sources.seznam.d / adresář (1) a Ubuntu 20.04 LTS vesmír úložiště balíčků bylo přidáno (2).

Ve výchozím nastavení Ansible automaticky vygeneruje a .seznam soubor v / etc / apt / sources.seznam.d / adresář, v závislosti na řádku úložiště APT.

Chcete-li zvolit konkrétní název souboru (např.E. ubuntu-vesmír.seznam) pro své úložiště můžete zadat název souboru pomocí název souboru možnost apt_repository modul ve vašem add_repo.yaml playbook, jak je znázorněno na následujícím obrázku.

Nyní spusťte add_repo.yaml playbook znovu.

$ ansible-playbook playbooks / add_repo.yaml

Jak vidíte, název souboru má stejný název, jaký jsem zadal.

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

Odebírání úložišť balíků

V této části vám ukážu, jak odstranit existující úložiště balíčků z hostitelů Ubuntu pomocí Ansible.

Příručka pro odebrání úložiště balíčků je téměř stejná jako přidání úložiště balíčků. Stačí tedy zkopírovat soubor add_repo.yaml soubor playbooku a trochu ho upravit. To je velmi jednoduché.

Nejprve zkopírujte soubor add_repo.yaml soubor do remove_repo.yaml, jak následuje:

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

Upravte remove_repo.yaml playbook, a to následovně:

$ nano playbooks / remove_repo.yaml

Změna stav: přítomen na stav: chybí, jak je uvedeno na snímku obrazovky níže. Toto bude jediná změna, kterou musíte udělat.

Až budete hotovi, uložte soubor stisknutím + X, následován Y a .

Spusťte remove_repo.yaml playbook, a to následovně:

$ ansible-playbook playbooks / remove_repo.yaml

Dále spusťte následující příkaz a ověřte, zda úložiště balíků, které chcete odebrat, bylo skutečně odebráno.

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

Jak vidíte, Ubuntu 20.04 LTS oficiální vesmír úložiště balíčků, které jsem přidal dříve, bylo odstraněno.

POZNÁMKA: Chybovou zprávu ignorujte. Tato zpráva jen znamená, že / etc / apt / sources.seznam.d / adresář je prázdný. Pokud chcete odstranit chybovou zprávu, stačí přidat a 2> / dev / null na konci příkazu následovně. Chyba by měla být odstraněna po zadání tohoto příkazu.

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

Přidávání PPA

V této části vám ukážu, jak přidat PPA na vaše hostitele Ubuntu pomocí Ansible.

Přidám osomon / nodejs-10.19-ohniskové Uzel.js 10.19 PPA pro Ubuntu 20.04 LTS v mém příkladu.

Nejprve vytvořte nový scénář add_ppa.yaml, jak následuje:

$ nano playbooks / add_ppa.yaml

Přidejte následující řádky do svého add_ppa.yaml příručka:

- hostitelé: všichni
uživatel: odpovědný
stát se: Pravda
úkoly:
- name: Přidat uzel.js 10.19 PPA
apt_repository:
repo: ppa: osomon / nodejs-10.19-ohniskové
stav: přítomen
update_cache: Pravda
validate_certs: False

Až budete hotovi, uložte add_ppa.yaml playbook stisknutím + X, následován Y a .

Tady repo možnost apt_repository modul slouží k přidání PPA osomon / nodejs-10.19-ohniskové (1).

Nezapomeňte přidat ppa: před jménem PPA, tj.E. ppa: osomon / nodejs-10.19-ohniskové.

Většina PPA používá certifikáty podepsané svým držitelem, takže je Ansible za vás nemůže ověřit a při spuštění příručky se mohou zobrazit chyby.

Můžete nastavit validate_certs na Nepravdivé přeskočit ověření certifikátu pro PPA, kterou přidáváte (2). To je to, co jsem udělal v příkladu v tomto článku.

POZNÁMKA: Můžete také nastavit validate_certs na Nepravdivé přeskočit ověření certifikace při přidávání úložišť balíků třetích stran.

Spusťte add_ppa.yaml playbook, a to následovně:

$ ansible-playbook playbooks / add_ppa.yaml

Jak vidíte, nový .seznam soubor pro PPA osomon / nodejs-10.19-ohniskové byl vytvořen v / etc / apt / sources.seznam.d / adresář (1).

Při pohledu na obsah ppa_osomon_nodejs_10_19_focal_focal.seznam souboru, mohu potvrdit, že byla přidána PPA (2).

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

Odstranění PPA

PPA můžete odebrat stejným způsobem, jakým jsme odstranili úložiště balíčků v předchozí části tohoto článku.

Stačí zkopírovat app_ppa.yaml scénář k remove_ppa.yaml, jak následuje:

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

Nyní otevřete remove_ppa.yaml playbook, a to následovně:

$ nano playbooks / remove_ppa.yaml

Dále změňte řádek stav: přítomen na stav: chybí, jak je uvedeno na snímku obrazovky níže.

Až budete hotovi, uložte remove_ppa.yaml playbook stisknutím + X, následován Y a .

Spusťte remove_ppa.yaml playbook, a to následovně:

$ ansible-playbook playbooks / add_ppa.yaml

Jak vidíte, ppa_osomon_nodejs_10_19_focal_focal.seznam soubor pro osomon / nodejs-10.19-ohniskové PPA již není k dispozici v / etc / apt / sources.seznam.d / adresář. Takže PPA osomon / nodejs-10.19-ohniskové byla odstraněna.

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

Změna PPA Codename

PPA, kterou se pokoušíte přidat na svého hostitele Ubuntu, někdy nepodporuje verzi Ubuntu, kterou používáte. V takovém případě budete muset během přidávání PPA zadat kódové označení verze Ubuntu ručně.

Předpokládejme, že používáte Ubuntu 20.04 s kódovým jménem ohnisko a pokoušíte se přidat PPA xyz, ale PPA xyz podporuje pouze Ubuntu 16.04 LTS kódové označení xenial. Pokud se pokusíte přidat PPA xyz, zobrazí se chyba, protože PPA nemá žádný balíček pro Ubuntu 20.04 kódové označení ohnisko. Ale pokud určíte Ubuntu 16.04 LTS kódové označení xenial při přidávání PPA neobdržíte žádnou chybu. Možná budete moci nainstalovat požadovaný balíček z PPA tímto způsobem, i když nepodporuje explicitní verzi Ubuntu, kterou právě používáte.

Podívejme se na příklad.

Nejprve zkopírujte soubor add_ppa.yaml soubor playbooku do change_ppa_codename.yaml, jak následuje:

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

Dále otevřete change_ppa_codename.yaml soubor takto:

$ nano playbooks / change_ppa_codename.yaml

Tady vše, co musíte udělat, je přidat krycí jméno možnost s požadovaným kódovým jménem Ubuntu (tj.E. kódové označení: xenial), jak je uvedeno na snímku obrazovky níže.

Až budete hotovi, uložte change_ppa_codename.yaml soubor stisknutím + X, následován Y a .

Spusťte change_ppa_codename.yaml playbook, a to následovně:

$ ansible-playbook playbooks / change_ppa_codename.yaml

POZNÁMKA: Zobrazuje se mi chyba, protože zde přidaný PPA podporuje pouze Ubuntu 20.04 LTS. Tuto zprávu můžete jednoduše ignorovat.

Jak vidíte, byla přidána PPA a kódové označení Ubuntu xenial je v řádku úložiště balíčků APT.

Závěr

Tento článek vám ukázal, jak spravovat (přidávat / odebírat) úložiště balíčků Ubuntu a PPA pomocí Ansible.

Možné apt_repository modul slouží ke správě úložišť balíčků Ubuntu a PPA. Tento článek vysvětluje všechny důležité možnosti apt_repository modul Ansible.

Další informace najdete na oficiální stránce dokumentace Ansible apt_repository.

Hry Užitečné nástroje pro hráče Linuxu
Užitečné nástroje pro hráče Linuxu
Pokud rádi hrajete hry na Linuxu, je pravděpodobné, že jste ke zlepšení herního zážitku použili aplikace a nástroje jako Wine, Lutris a OBS Studio. Kr...
Hry HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
Mnoho vývojářů a vydavatelů her přichází s HD remasterem starých her, aby prodloužili životnost franšízy, prosím fanoušky, kteří požadují kompatibilit...
Hry Jak používat AutoKey k automatizaci linuxových her
Jak používat AutoKey k automatizaci linuxových her
AutoKey je nástroj pro automatizaci stolních počítačů pro systémy Linux a X11, programovaný v programech Python 3, GTK a Qt. Pomocí jeho funkcí skript...