GNU/Linux >> Znalost Linux >  >> Debian

Správa obsahu pomocí Pulp Debian

Pulp je nástroj pro správu úložiště s otevřeným zdrojovým kódem, který vám pomáhá načítat, zrcadlit, nahrávat a publikovat obsah ve vaší organizaci. Lze jej použít ke správě různých typů obsahu, jako jsou softwarové balíčky (od balíčků RPM po drahokamy Ruby), stejně jako kolekce Ansible, obrázky kontejnerů a dokonce libovolné soubory.

Typický pracovní postup začíná načítáním softwarových balíčků z existujícího úložiště (například http://mirror.centos.org/centos/7/os/x86_64/) nebo ručním přidáváním balíčků (u soukromých balíčků vytvořených ve vaší organizaci). Pak vám Pulp pomůže vytvořit libovolné kolekce softwarových balíčků, které mohou používat klienti. S tím:

  • Získejte kontrolu nad tím, jaký obsah je spotřebitelům k dispozici
  • Může používat správu verzí
  • Snižte nároky na šířku pásma a úložiště tím, že poskytnete místní, deduplikovaný zdroj

Pokud jste v Pulpu noví, přečtěte si úvodní článek Melanie Corr o tom, jak spravovat softwarová úložiště pomocí Pulpu.

Správa balíčků Debian pomocí Pulp

Pulp spoléhá na zásuvné moduly, které adekvátně zpracovávají různé typy obsahu. Například zásuvný modul Pulp RPM vám umožňuje spravovat balíčky .rpm. Pomocí pluginu Pulp Debian můžete zrcadlit, synchronizovat, nahrávat a publikovat balíčky .deb v repozitářích APT. Plugin pulp_deb je nezbytný, pokud chcete spravovat a poskytovat balíčky spotřebního softwaru pro distribuce Linuxu, jako je Debian a Ubuntu, a je to bezplatný software s otevřeným zdrojovým kódem, který poskytuje a spravuje komunita Pulp.

S pluginem Pulp Debian můžete spravovat obsah Debianu synchronizací vzdálených repozitářů, poskytnutím rozhraní pro nahrávání vlastního obsahu a publikováním obsahu do repozitářů.

Pulp podporuje několik různých typů obsahu Debianu, včetně balíčků, indexů balíčků, souborů vydání a dalších. "Typ obsahu" odkazuje buď na konkrétní artefakt nebo metadata. Například jednotka obsahu typu package odkazuje na balíček .deb.

Synchronizace vzdáleného úložiště je jednou z hlavních funkcí pluginu Pulp Debian a je to jeden ze způsobů, jak získat obsah. Proces synchronizace používá vzdálenou definici, která obsahuje URL, distribuci, komponenty a architektury:

  • URL je cesta ke vzdálenému úložišti APT.
  • distribuce je cesta mezi dists/ adresář repozitáře APT a příslušné Release soubor. Toto je obvykle (ale ne vždy) kódové označení nebo sada distribuce Linuxu založené na Debianu (buster pro Debian 10 stretch pro Debian 9 focal pro Ubuntu 20.04 a tak dále). Spuštění lsb_release -cs na libovolném hostiteli Debianu nebo Ubuntu zobrazuje kódové jméno distribuce.
  • Komponenty popsat libovolné podmnožiny úložišť (main , contrib nebo non-free pro Debian nebo main , restricted , universe a multiverse pro Ubuntu). Můžete to použít k filtrování a kategorizaci balíčků v rámci úložiště APT.
  • architektura odkazuje na architekturu procesoru, na kterém může běžet softwarový balík, nejčastěji i386 , amd64 nebo arm64 . Pokud softwarový balík nezávisí na konkrétní architektuře procesoru, architektura může být nastavena na all .

Určení distribuce je povinné, zatímco definování komponent a architektur je volitelné. Pokud není definován, Pulp automaticky synchronizuje všechny balíčky bez filtrování komponent nebo architektur. Pulp automaticky ověřuje podpis GNU Privacy Guard Release Soubor, měl by být odpovídající veřejný klíč GPG přiřazen k dálkovému ovládání.

Příklad pracovního postupu

Je snadné přejít ze vzdáleného úložiště na doslovnou publikaci s Pulp's REST API. Následující volání API předpokládají, že používáte HTTPie.

Představte si, že chcete poskytovat balíčky .deb hostitelům ve vaší organizaci. Následující základní pracovní postup vás provede prvními kroky při používání Pulp a Pulp Debian pluginu.

1. Vytvořte místní úložiště

Začněte vytvořením místního úložiště v Pulpu pomocí jediného volání API. Můžete to udělat pomocí HTTPie nebo příkazu curl:

http post http://<hostname>:24817/pulp/api/v3/repositories/deb/apt/ name=<name_of_your_repository>

2. Vytvořte dálkový ovladač

Dále vytvořte dálkový ovladač. Toto volání API vyžaduje adresu URL a libovolný name hodnota. Definování distribuce a architektury je volitelné:

http post http://<hostname>:24817/pulp/api/v3/remotes/deb/apt/ name="nginx.org" url="http://nginx.org/packages/debian" distributions="buster" 

Ať už definujete pouze jednu nebo více distribucí, Pulp bude později synchronizovat balíčky pro všechny architektury, protože pro tento vzdálený ovladač nejsou definovány.

3. Synchronizovat

Třetím a posledním krokem k načtení vzdáleného obsahu do Pulpu je synchronizace dálkového ovladače s vaším místním úložištěm. To provedete voláním koncového bodu synchronizačního rozhraní API vašeho úložiště:

http post http://<hostname>:24817/pulp/api/v3/repositories/deb/apt/<uuid_repository>/sync/ remote=http://<hostname>:24817/pulp/api/v3/remotes/deb/apt/<uuid_remote>/

V tomto ukázkovém příkazu každé z UUID odkazuje na interní reference Pulpu, zobrazené jako pulp_href pomocí API. Tento krok může nějakou dobu trvat v závislosti na vašem prostředí, velikosti úložiště a dostupné šířce pásma.

Udělejte svůj obsah Pulp spotřebním

Po získání obsahu pro Pulp prostřednictvím synchronizace se tento stane spotřebitelem pro klienty.

1. Vytvořte publikaci

Publikace jsou vždy založeny na úložišti Pulp. Obsahují další nastavení, jak publikovat obsah. Můžete použít APT vydavatel na libovolném úložišti typu APT obsahující balíčky .deb.

Následující volání API vytvoří publikaci v doslovném režimu. To znamená, že poskytuje přesně stejnou strukturu a obsah vzdáleného úložiště:

http post http://<hostname>:24817/pulp/api/v3/publications/deb/verbatim/ repository=/pulp/api/v3/repositories/deb/apt/<uuid_repository>/

Nahraďte UUID úložištěm, které chcete publikovat. Tento krok může nějakou dobu trvat v závislosti na velikosti úložiště.

2. Vytvořte distribuci

Distribuce vezme hotovou publikaci a podává ji prostřednictvím aplikace Pulp content, která ji zpřístupní (neboli „spotřební“) pro vaše uživatele. V kontextu systému Debian to znamená, že úložiště lze přidat do /etc/apt/sources.list a používá se jako způsob instalace softwaru.

Následující volání API vyžaduje UUID publikace vytvořené v prvním kroku:

http post http://<hostname>:24817/pulp/api/v3/distributions/deb/apt/ name="name_of_the_distribution" base_path="base_path_of_the_distribution" publication=http://<hostname>:24817/pulp/api/v3/publications/deb/verbatim/<uuid_publication>/

base_path hodnota je součástí adresy URL používané klienty při odkazování na úložiště APT a název může být libovolný. Volání koncového bodu API distribuce na konkrétní publikované distribuci vrátí adresu URL úložiště Pulp:

http get http://<hostname>:24817/pulp/api/v3/distributions/deb/apt/<uuid_distribution>/

Tuto adresu URL mohou klienti APT přímo využívat. Nyní jej lze přidat do /etc/apt/sources.list jako platné úložiště.

Pulp API

Použití těchto volání API vám umožní synchronizovat úložiště APT s vaší vlastní instancí Pulp a znovu jej publikovat doslovně, aniž byste se dotkli balíčků, jakýchkoli metadat nebo podpisů. Další informace a další způsoby publikování naleznete v dokumentaci API a přehledu funkcí.

Flexibilita open source

Další skvělý obsah

  • Bezplatný online kurz:technický přehled RHEL
  • Naučte se pokročilé příkazy Linuxu
  • Stáhněte si cheaty
  • Najděte alternativu s otevřeným zdrojovým kódem
  • Přečtěte si hlavní obsah Linux
  • Podívejte se na zdroje s otevřeným zdrojovým kódem

Jedním z důležitých aspektů Pulpu a jeho struktury zásuvných modulů je, že je extrémně flexibilní, v nemalé míře díky své povaze open source. Pulp můžete spustit jako samostatnou službu, ale nemusíte. Může být integrován do něčeho většího.

Pracuji ve společnosti ATIX, kde jsme začali používat Pulp a plugin Pulp Debian v projektu s názvem orcharhino. Je založen na Foreman a obsahuje výkonný plugin Katello pro další možnosti správy obsahu, který sám spoléhá na Pulp pro správu úložiště. Díky tomu jsme byli schopni spravovat naše datové centrum pomocí automatizovaného zavádění systému, správy konfigurace a správy oprav.

Jinými slovy, ATIX vyvíjí plugin Pulp Debian primárně s ohledem na případ použití Katello. Ať už potřebujete Katello nebo Pulp nebo jen specifický Pulp plugin, můžete si být jisti, že tato modularita je záměrná.

Pomocí Pulp můžete zrcadlit vzdálená softwarová úložiště, hostovat soukromé softwarové balíčky a spravovat různé typy obsahu na jedné platformě.

Vyzkoušejte Pulp a plugin Pulp Debian ještě dnes a nebojte se připojit a požádat komunitu o pomoc. Vítáme jakoukoli zpětnou vazbu.


No
Debian
  1. Debian – použití dvou displejů v Debianu?

  2. Debian – Používáte Live-helper offline?

  3. Příklady příkazů Dpkg pro správu balíčků v Ubuntu/Debianu

  1. Replikace hlavní databáze pomocí MariaDB 10 na Debian 8

  2. Jak spravovat balíčky NodeJS pomocí Npm

  3. Apt get příklady příkazů pro správu balíčků na Ubuntu/Debianu

  1. Jak upgradovat Debian 10 Buster na Debian 11 Bullseye

  2. Jak zobrazit seznam nainstalovaných balíčků v Debianu

  3. Debian:Jak nainstalovat nebo odebrat balíčky DEB pomocí dpkg