Úvod
A systém správy balíků nebo správce balíků je skupina softwarových nástrojů. Automatizuje proces instalace, proces upgradu, proces konfigurace a proces odstraňování počítačových programů pro operační systém počítače efektivním způsobem. A správce balíčků pracuje s balíčky, daty v archivních souborech a distribucemi softwaru.
Balíčky obsahují metadata jako název softwaru, popis jeho cíle, kontrolní součet (nejlépe kryptografickou hašovací funkci), d seznam závislostí, prodejce, a číslo verze nezbytné pro správné fungování softwaru.
- Metadata se po instalaci uloží do databáze lokálního balíčku.
- Správci balíčků obvykle spravují databázi informací o verzi a softwarových závislostech, aby zabránili chybějícím předpokladům a neshodám softwaru.
- Úzce spolupracují s obchody s aplikacemi, správci binárních úložišť a softwarovými úložišti.
- Správci balíčků jsou vyvinuti pro odstranění požadavku na ruční aktualizace a instalace.
- Zejména to může být užitečné pro velké organizace, jejichž operační systémy obvykle kombinují stovky nebo mnohem více různých softwarových balíků.
Funkce Správce balíčků
Softwarový balíček lze definovat jako archivní soubor kombinující počítačový program a nezbytná metadata pro vývoj. Systémový program by mohl být ve zdrojovém kódu, který musí být sestaven a zkompilován jako první.
Metadata balíčku obsahují verzi balíčku, popis balíčku a závislosti (balíčky, které vyžadují instalaci předem). Mnoho správců balíčků je vlastněno akcí instalace, odinstalace, údržby nebo nalezení softwarových balíčků pod velením uživatele.
The systém správy balíků obsahuje některé typické funkcí které jsou uvedeny níže:
- Práce s archivátory souborů pro extrahování archivů balíčků.
- Zajištění pravosti a integrity balíčku ověřením jejich digitálních certifikátů a kontrolních součtů.
- Aktualizace, instalace, stahování nebo vyhledávání existujícího softwaru prostřednictvím obchodu s aplikacemi nebo softwarového úložiště.
- Kombinace balíčků pomocí funkce pro snížení zmatku uživatele.
- Udržování závislostí pro zajištění toho, že balíček byl nainstalován spolu s každým balíčkem, který potřebuje. Takže ignorování „peklo závislosti“.
Front-endy pro zkompilované balíčky (lokálně)
Správci systému může nainstalovat a spravovat software pomocí jiných nástrojů, než je software pro správu balíčků. Například, místní správce může stáhnout zdrojový kód (nezabalený), zkompilovat jej a poté nainstalovat.
Může způsobit, že stav místního systému vypadne ze synchronizace spolu s databází stavu správce balíčků. Místní správce by musel provést některá další opatření, jako je ruční integrace úprav do správce balíčků nebo správa několika závislostí.
strojové učení pod dohledem
Existují některé nástroje pro zajištění kompilace balíčků (lokálně) jsou vyvíjeny se správou balíčků.
CheckInstall je k dispozici pro .ot./min nebo distribuce založené na souborech .deb a Slackware Linux také. Pro hybridní systémy jako Arch Linux a systémy založené na recepturách jako Gentoo Linux, je možné nejprve zadat recept, který pak potvrdí, že balíček zapadá do lokální databáze balíčků.
Výzvy s distribuovanými knihovnami
Různé počítačové systémy, které jsou závislé na propojení dynamických knihoven, spíše než na propojení statických knihoven, distribuují knihovny strojových instrukcí (spustitelné) napříč aplikacemi a balíčky.
V těchto typech systémů jsou typické vztahy mezi různými balíčky, které potřebují knihovny, výsledkem výzvy nazvané „peklo závislosti“.
Je také známý jako 'DLL peklo' na Microsoft Windows při dynamickém zacházení s propojenými knihovnami. Dobrá správa balíčků je pro tyto systémy zásadní.
Z OPENSTEP Rámcový systém byl pokusem o vyřešení tohoto problému tím, že umožňoval souběžnou instalaci více než jedné verze knihovny a u mnoha softwarových balíčků popisoval, mezi kterými verzemi jsou propojeny.
Údržba konfigurace
Upgrady konfiguračního souboru jsou problematické zejména u upgradů softwaru. Alespoň na Unixu, protože správci balíčků vznikli jako rozšíření nástroje pro archivaci souborů.
Obvykle pouze buď uchovávají nebo přepisují konfigurační soubory, místo aby pro ně používaly pravidla. Při změně formátu konfiguračního souboru může nastat několik problémů. Pokud například starý konfigurační soubor explicitně nezakazuje novější možnosti, musí být zobrazeny. Několik správců balíčků, jako je dpkg Debianu, povoluje konfiguraci v době instalace. V některých jiných případech je žádoucí instalovat balíčky společně s výchozí konfigurací a přepsat konfiguraci při instalaci (bezhlavě) na velký počet systémů. Tento typ instalace (předkonfigurovaný) je podporován také prostřednictvím dpkg.
Potlačení upgradu
Je tradiční k dispozici uživateli spolu se seznamem akcí, které mají být spuštěny (obvykle seznam balíčků, které mají být aktualizovány a případně poskytnout nová a stará čísla verzí), pokud uživatel spolupracuje se softwarem pro správu balíčků na provedení aktualizace.
Umožňuje uživateli vybrat buď jeden balíček pro upgrade, nebo provést upgrade hromadně. Různí správci balíčků mohou být nakonfigurováni tak, aby nikdy neaktualizovali mnoho balíčků nebo aby je aktualizovali pouze v případě, že jsou ve starém standardu detekovány kritické nestability nebo zranitelnosti, jak je specifikováno v softwarovém balíčku. Někdy je tento proces známý jako připnutí verze.
Například:
yum to podporuje s vyloučit=openoffice* syntax
pacman se syntaxí Ignorovat=openoffice (v obou případech pro potlačení upgradu openoffice)
dselect a dpkg to částečně podporují příznakem hold ve výběrech balíčků.
schopnost má 'zakázat' a 'držet' vlajky.
portage to podporuje konfiguračním souborem, tj. balíček.maska.
APT rozšiřuje příznak, tj. držet u komplexu 'připnutí' metoda (uživatelé mohou balíček také na černou listinu).
Úložiště
Aby uživatelé měli větší kontrolu nad typy softwaru, který povolují instalovat do svého systému (někdy kvůli pohodlí a právním důvodům na straně distributora), je software někdy stažen pomocí mnoha softwarových úložišť.
vytváření seznamu v Javě
Kaskádové odstranění balíčku
Několik pokročilejších aspektů správy balíčků usnadňuje 'kaskádové odstranění balíčku', kde se také odstraní každý balíček, který závisí na cílovém balíčku, a každý balíček, na který se cílový balíček spoléhá.
Porovnání příkazů
Příkazy jsou však jedinečné pro všechny konkrétní správce balíčků. Tyto příkazy jsou do značné míry přeložitelné, protože většina správců balíčků umožňuje stejné funkce.
Rozšíření Správce balíčků
Správci balíčků, jako je dpkg, jsou k dispozici již v roce 1994. Různé distribuce Linuxu orientované na binární balíčky silně spoléhají na systém správy balíčků kvůli jejich hlavním prostředkům údržby a správy softwaru.
Mnoho mobilních operačních systémů, jako je Windows Phone, iOS (podobný Unixu) a Android (založený na Linuxu), závisí téměř na příslušném App Store daného dodavatele. Proto používají svůj systém správy balíčků (vyhrazený).
Srovnání s instalátory
Správce balíčků je často znám jako an 'instalační manažer'. Může to způsobit zmatek mezi instalátory a správci balíčků. Některé z hlavních rozdílů jsou uvedeny níže:
Kritérium | Správce balíčků | Instalátor |
---|---|---|
Odesláno s | Obvykle OS | Všechny počítačové programy |
Umístění informací o instalaci | Centrální databáze pro instalaci | Je to zcela na uvážení instalačního technika. Může to být soubor ve složce aplikace nebo mezi složkami a soubory operačního systému. Mohou se zaregistrovat do seznamu odinstalačního programu, aniž by prozradili informace o instalaci. |
Rozsah údržby | Potenciálně každý balíček v systému | Pouze produkt, ke kterému byl zabalen |
Vývojář | Jediný prodejce správce balíčků | Více než jeden instalační dodavatel |
Formát balíčku | Hrstka uznávaných formátů | Formátů může být tolik, kolik je čísel aplikace |
Kompatibilita formátu balíčku | Může být použit, pokud jej používá správce balíčků. Buď uživatel správce balíčků neupgraduje, nebo jej nové verze správce balíčků stále podporují. | Pokud instalační program používá jakýkoli formát archivu, pak je s ním instalační program vždy kompatibilní. I když instalátory mohou být ovlivněny hnilobou softwaru jako každý počítač. |
Srovnání s automatizační utilitou
Téměř všechny systémy pro správu konfigurace softwaru představují nasazování softwaru a vytváření softwaru jako samostatné. Obslužný program pro automatizaci sestavení obvykle převezme soubory zdrojového kódu, které jsou již v systému ve formátu čitelném pro člověka, a urychlí postup jejich převodu na spustitelný balíček (binární) v podobném systému.
Obvykle správce balíčků později spuštěný na několika dalších systémech stáhne tyto spustitelné balíčky (předem sestavené binární soubory) na internetu a poté je nainstaluje.
Ačkoli oba typy nástrojů zahrnují několik společných faktorů, které jsou uvedeny níže:
- Topologické řazení grafu závislostí se používá ve správci balíčků pro zpracování závislostí mezi mnoha binárními komponentami.
- Také se používá uvnitř správce sestavení pro zpracování závislosti mezi mnoha zdrojovými komponentami.
- Podporu poskytují různé makefily, nejen vytváření spustitelných souborů.
- Také podporují instalaci pomocí make install.
- Všichni správci balíčků podporují překlad zdrojového kódu (čitelného pro člověka) do binárních spustitelných souborů a jeho následnou instalaci pro zdrojovou distribuci, jako je Homebrew, Sorcery, Portage atd.
Některé nástroje jako A-A-P a Udělat jsou vyvinuty pro správu nasazení i budování. Mohou být také použity jako správce balíčků nebo nástroj pro automatizaci sestavení nebo obojí.
Základní správci balíčků a jejich formáty
Univerzální správce balíčků
Říká se tomu také správce binárního úložiště. Tento správce balíčků je softwarový nástroj vytvořený pro optimalizaci úložiště a stahování binárních souborů, balíčků a artefaktů vytvořených a používaných v procesu vývoje softwaru.
Univerzální správci balíčků zaměřit se na standardizaci módy, kterou uživatelé zacházejí s každým typem balení. Poskytují uživatelům možnost používat u každého typu artefaktu metriky shody a zabezpečení. Bylo jim přiděleno, že jsou uprostřed a Toolchain DevOps.
Open-source a svobodné softwarové systémy
Balíčky na základě kompatibilních a podobných licencí existují pro použití na několika operačních systémech chováním open-source a svobodného softwaru.
Tyto balíčky by mohly být distribuovány a kombinovány pomocí vnitřně složitých a konfigurovatelných balících systémů pro správu několika konfliktů a závislostí specifických pro verzi a softwarových permutací.
Také několik balíčků open-source a svobodného softwaru je samo o sobě publikováno jako open-source a svobodný software.
Jeden rozdíl mezi správou balíčků v operačních systémech, jako jsou Windows a Mac OS X, a v systémech s otevřeným zdrojovým kódem a svobodným softwarem, jako je Linux, spočívá v tom, že systémy s otevřeným zdrojovým kódem a svobodným softwarem umožňují upgradovat a instalovat balíčky třetích stran pomocí podobného mechanismu. . Zatímco mnoho správců balíčků Windows a Mac OS X upgraduje software od Microsoftu a Apple.
Možnost průběžného upgradu softwaru třetích stran je přidána zahrnutím adresy URL příslušného úložiště do konfiguračního souboru správy balíčků.
Formáty balíčků
Všichni správci balíčků závisí na metadatech a formátu balíčků, které mohou spravovat. Správci balíčků vyžadují, aby skupiny souborů byly seskupeny pro konkrétního správce balíčků se správnými metadaty, jako jsou závislosti.
Základní sada nástrojů často spravuje obecnou instalaci prostřednictvím těchto balíčků a více než jeden správce balíčků používá tyto nástroje pro poskytování dalších funkcí.
Příklad:
- yum závisí na otáčkách jako backend. Yum rozvíjí funkčnost backendu přidáním aspektů, jako je jednoduchá konfigurace pro údržbu systémové sítě.
- Synaptický správce balíčků poskytuje GUI aplikací knihovny Advanced Packaging Tool, která závisí na dpkg.
Mimozemšťan lze definovat jako program, který překládá různé formáty linuxových balíčků. Podporuje konverzi mezi Slackware (.tgz, .tlz, .tbz, .txz) balíčky, balíčky Solaris (.pkg), Stampede (.slp), .deb, .rpm, a Linux Standard Base (LSB) kompatibilní.
V několika mobilních operačních systémech jako např Google Play využívá formát balíčku Balíček aplikací pro Android (ve zkratce APK ), zatímco Windows Store používá formáty XAP a APPX. Oba Windows Store a Google Play obsahují stejnojmenné správce balíčků.
Správci balíčků na úrovni aplikací
Existuje několik správců balíčků (add-on) pro operační systémy pro programovací jazyky a s omezenými schopnostmi, kde vývojáři vyžadují aktuální knihovny. Správci balíčků na aplikační úrovni se soustředí na malou část softwarového systému na rozdíl od správců balíčků na systémové úrovni.
Obvykle jsou umístěny ve stromu adresářů. Není organizován správcem balíčků na úrovni systému, jako je /usr/local/fink nebo c:cygwin. I když to nemusí být podmínkou pro správce balíčků, který pracuje s programovacími knihovnami, což může způsobit konflikt, protože oba správci balíčků mohou přerušit aktualizace a požádat o 'vlastní' soubor.