logo

Správca balíkov pre Linux

Úvod

A systém správy balíkov alebo správca balíkov je skupina softvérových nástrojov. Efektívnym spôsobom automatizuje proces inštalácie, aktualizácie, konfiguračný proces a proces odstraňovania počítačových programov pre operačný systém počítača. A správca balíkov pracuje s balíkmi, údajmi v archívnych súboroch a distribúciami softvéru.

Balíky obsahujú metadáta ako napr názov softvéru, popis jeho cieľa, kontrolný súčet (výhodne kryptografická hašovacia funkcia), d zoznam závislostí, predajca, a číslo verzie nevyhnutné pre správne fungovanie softvéru.

  • Metadáta sa po inštalácii uložia do databázy lokálneho balíka.
  • Správcovia balíkov zvyčajne spravujú databázu informácií o verzii a softvérových závislostí, aby zabránili chýbajúcim predpokladom a nezhodám softvéru.
  • Úzko spolupracujú s obchodmi s aplikáciami, správcami binárnych úložísk a softvérovými úložiskami.
  • Správcovia balíkov sú vyvinutí na odstránenie požiadavky na manuálne aktualizácie a inštalácie.
  • Najmä to môže byť užitočné pre veľké organizácie, ktorých OS zvyčajne kombinujú stovky alebo oveľa viac rôznych softvérových balíkov.

Funkcie správcu balíkov

Softvérový balík možno definovať ako archívny súbor skombinovaním počítačového programu a nevyhnutných metadát pre vývoj. Systémový program sa môže nachádzať v zdrojovom kóde, ktorý musí byť zostavený a skompilovaný ako prvý.

Metadáta balíka obsahujú verziu balíka, popis balíka a závislosti (balíky, ktoré si vyžadujú inštaláciu vopred). Mnoho správcov balíkov je vlastnených tak, že inštalujú, odinštalujú, udržiavajú alebo nachádzajú softvérové ​​balíky pod velením používateľa.

The systém správy balíkov obsahuje niektoré typické funkcie ktoré sú uvedené nižšie:

  • Práca s archivátormi súborov na extrahovanie archívov balíkov.
  • Zabezpečenie pravosti a integrity balíka overením ich digitálnych certifikátov a kontrolných súčtov.
  • Aktualizácia, inštalácia, sťahovanie alebo vyhľadávanie existujúceho softvéru prostredníctvom obchodu s aplikáciami alebo softvérového úložiska.
  • Kombinovanie balíkov pomocou funkcie na zníženie zmätku používateľa.
  • Udržiavanie závislostí na zabezpečenie toho, aby bol balík nainštalovaný spolu s každým balíkom, ktorý potrebuje. Takže ignorovanie „peklo závislosti“.
Správca balíkov pre Linux

Front-endy pre skompilované balíky (lokálne)

Správcovia systému môže nainštalovať a spravovať softvér pomocou niektorých nástrojov iných ako softvér na správu balíkov. Napríklad, lokálny správca môže stiahnuť zdrojový kód (nezabalený), skompilovať ho a potom nainštalovať.

Môže to spôsobiť, že stav lokálneho systému vypadne zo synchronizácie spolu s databázou stavu správcu balíkov. Lokálny správca by musel vykonať niektoré dodatočné opatrenia, ako je ručná integrácia úprav do správcu balíkov alebo správa niekoľkých závislostí.

stiahnite si videá z youtube na vlc

Existuje niekoľko nástrojov na zabezpečenie toho, aby sa balíky kompilovali (miestne) sú vyvinuté so správou balíkov.

CheckInstall je k dispozícii pre .rpm alebo distribúcie založené na súboroch .deb a Slackware Linux tiež. Pre Hybrid systémy ako Arch Linux a systémy založené na receptoch Páči sa mi to Gentoo Linux, je možné na začiatku zadať recept, ktorý potom potvrdí, že balík zapadá do lokálnej databázy balíkov.

Výzvy s distribuovanými knižnicami

Rôzne počítačové systémy, ktoré závisia od prepojenia dynamických knižníc, a nie od prepojenia statických knižníc, distribuujú knižnice strojových inštrukcií (spustiteľné) medzi aplikácie a balíky.

V týchto typoch systémov sú typické vzťahy medzi jednotlivými balíkmi, ktoré potrebujú verzie knižníc, výsledkom výzvy, tzv „peklo závislosti“.

Je tiež známy ako 'DLL peklo' v systéme Microsoft Windows pri dynamickom zaobchádzaní s prepojenými knižnicami. Dobrá správa balíkov je pre tieto systémy kľúčová.

Od OPENSTEP Rámcový systém bol pokusom o vyriešenie tohto problému tým, že umožnil súčasnú inštaláciu viac ako jednej verzie knižnice a v prípade mnohých softvérových balíkov popisoval, s ktorou verziou sú prepojené.

Údržba konfigurácie

Aktualizácie konfiguračného súboru sú obzvlášť problematické pri aktualizáciách softvéru. Aspoň na Unixe, keďže správcovia balíkov vznikli ako rozšírenie pomôcky na archiváciu súborov.

Zvyčajne iba uchovávajú alebo prepisujú konfiguračné súbory namiesto toho, aby v nich používali pravidlá. Pri zmene formátu konfiguračného súboru môže nastať niekoľko problémov. Napríklad, ak starý konfiguračný súbor explicitne nezakazuje novšie možnosti, musí sa zobraziť. Niekoľko správcov balíkov, ako napríklad dpkg Debianu, povoľuje konfiguráciu v čase inštalácie. V niektorých iných prípadoch je vhodné inštalovať balíky spolu s použitím predvolenej konfigurácie a prepísať konfiguráciu pri inštalácii (bezhlavo) na veľký počet systémov. Tento typ inštalácie (vopred nakonfigurovaný) je podporovaný aj cez dpkg.

Potlačenie upgradov

Je tradičné k dispozícii používateľovi spolu so zoznamom akcií, ktoré sa majú spustiť (zvyčajne zoznam balíkov, ktoré sa majú aktualizovať a prípadne poskytnúť čísla novej a starej verzie), ak používateľ spolupracuje so softvérom na správu balíkov na vykonaní aktualizácie.

Umožňuje používateľovi vybrať si jeden balík na aktualizáciu alebo vykonať aktualizáciu hromadne. Rôzni správcovia balíkov môžu byť nakonfigurovaní tak, aby nikdy neaktualizovali veľa balíkov, alebo aby ich aktualizovali iba vtedy, ak sa v starom štandarde zistia kritické nestability alebo zraniteľnosti, ako to špecifikuje softvérový balík. Niekedy je tento proces známy ako pripnutie verzie.

Napríklad:

yum to podporuje s vylúčiť=openoffice* syntax

pacman so syntaxou Ignorovať=openoffice (v oboch prípadoch na potlačenie aktualizácie openoffice)

dselect a dpkg to čiastočne podporujú príznakom hold v rámci výberu balíkov.

spôsobilosť má 'zakázať' a 'držať' vlajky.

portage to podporuje konfiguračným súborom, t.j. balíček.maska.

APT rozširuje príznak, t.j. držať pri komplexe 'pining' (používatelia môžu balík tiež zakázať).

úložiská

Aby používatelia získali dodatočnú kontrolu nad typmi softvéru, ktorý povoľujú inštalovať do svojho systému (niekedy z dôvodu pohodlia a právnych dôvodov na strane distribútora), softvér sa niekedy sťahuje pomocou mnohých softvérových úložísk.

iterátor java mapa

Kaskádové odstránenie balíkov

Uľahčuje to niekoľko rozvinutejších aspektov správy balíkov 'kaskádové odstránenie balíka', kde sa odstráni aj každý balík, ktorý sa spolieha na cieľový balík a každý balík, na ktorý sa spolieha cieľový balík.

Porovnanie príkazov

Príkazy sú však jedinečné pre všetkých konkrétnych správcov balíkov. Tieto príkazy sú do veľkej miery preložiteľné, pretože väčšina správcov balíkov umožňuje rovnaké funkcie.

Prevalencia správcu balíkov

Správcovia balíkov, ako napríklad dpkg, sú k dispozícii už v roku 1994. Rôzne distribúcie Linuxu orientované na binárne balíky sa vo veľkej miere spoliehajú na systém správy balíkov kvôli ich hlavným prostriedkom na údržbu a správu softvéru.

Mnoho mobilných operačných systémov, ako je Windows Phone, iOS (podobný Unixu) a Android (založený na Linuxe), závisí takmer od príslušného obchodu App Store daného predajcu. Preto používajú svoj systém správy balíkov (vyhradený).

Porovnanie s inštalatérmi

Správca balíkov je často známy ako an „správca inštalácie“. Môže to spôsobiť zmätok medzi inštalátormi a správcami balíkov. Niektoré z hlavných rozdielov sú uvedené nižšie:

Kritérium Správca balíkov Inštalátor
Dodané s Zvyčajne OS Všetky počítačové programy
Umiestnenie informácií o inštalácii Centrálna databáza na inštaláciu Je to úplne na uvážení inštalatéra. Môže to byť súbor v priečinku aplikácie alebo medzi priečinkami a súbormi operačného systému. Môžu sa zaregistrovať v zozname odinštalačného programu bez zverejnenia informácií o inštalácii.
Rozsah údržby Potenciálne každý balík v systéme Len produkt, ku ktorému bol pribalený
Vývojár Predajca jedného správcu balíkov Viac ako jeden inštalačný predajca
Formát balíka Niekoľko uznávaných formátov Môže existovať toľko formátov, koľko je čísel aplikácie
Kompatibilita formátu balíka Môže byť použitý, pokiaľ ho používa správca balíkov. Buď používateľ neaktualizuje správcu balíkov, alebo ho stále podporujú nové verzie správcu balíkov. Ak inštalátor používa akýkoľvek formát archívu, potom je s ním inštalačný program vždy kompatibilný. Aj keď inštalátori môžu byť ovplyvnení hnilobou softvéru ako každý počítač.

Porovnanie s automatizačnou utilitou

Takmer všetky systémy na správu konfigurácie softvéru predstavujú samostatné nasadzovanie softvéru a vytváranie softvéru. Obslužný program pre automatizáciu zostavovania zvyčajne preberá súbory zdrojového kódu, ktoré sú už v systéme čitateľné vo formáte, a urýchľuje proces ich konverzie na spustiteľný balík (binárny) v podobnom systéme.

Správca balíkov, ktorý sa neskôr spustí na niekoľkých iných systémoch, zvyčajne stiahne tieto spustiteľné balíky (vopred zostavené binárne súbory) na internete a potom ich nainštaluje.

Aj keď oba typy nástrojov zahŕňajú niekoľko spoločných faktorov, ktoré sú uvedené nižšie:

  • Topologické triedenie grafu závislostí sa používa v rámci správcu balíkov na spracovanie závislostí medzi mnohými binárnymi komponentmi.
  • Tiež sa používa v správcovi zostavovania na spracovanie závislosti medzi mnohými zdrojovými komponentmi.
  • Podporu poskytujú rôzne makefily, nielen vytváranie spustiteľných súborov.
  • Tiež podporujú inštaláciu pomocou make install.
  • Všetci správcovia balíkov podporujú preklad zdrojového kódu (čiteľného pre človeka) do binárnych spustiteľných súborov a jeho následnú inštaláciu pre distribúciu založenú na zdroji, ako je Homebrew, Sorcery, Portage atď.

Niektoré nástroje ako A-A-P a Urobiť sú vyvinuté na riadenie nasadenia aj budovania. Môžu byť tiež použité ako správca balíkov alebo nástroj na automatizáciu zostavovania alebo oboje.

Základní správcovia balíkov a ich formáty

Univerzálny správca balíkov

Je to aj tzv správca binárneho úložiska. Tento správca balíkov je softvérový nástroj vytvorený na optimalizáciu ukladania a sťahovanie binárnych súborov, balíkov a artefaktov vytvorených a používaných v procese vývoja softvéru.

Univerzálny správcovia balíkov zamerať sa na štandardizáciu módnych používateľov ku každému typu balenia. Poskytujú používateľom možnosť používať metriky zhody a zabezpečenia okolo každého typu artefaktu. Boli pridelení ako uprostred a Toolchain DevOps.

Správca balíkov pre Linux

Open source a slobodné softvérové ​​systémy

Balíky na základe kompatibilných a podobných licencií existujú na použitie v niekoľkých operačných systémoch podľa správania open-source a slobodného softvéru.

Tieto balíky je možné distribuovať a kombinovať pomocou interne zložitých a konfigurovateľných baliacich systémov na riadenie niekoľkých konfliktov a závislostí špecifických pre jednotlivé verzie a softvérových permutácií.

Tiež niekoľko baliacich systémov open-source a slobodného softvéru je publikovaných ako open-source a slobodný softvér.

Jedným rozdielom medzi správou balíkov v operačných systémoch, ako sú Windows a Mac OS X, a v systémoch s otvoreným zdrojom a slobodnom softvéri, ako je Linux, je to, že systémy s otvoreným zdrojom a slobodný softvér umožňujú inováciu a inštaláciu balíkov tretích strán z podobného mechanizmu. . Zatiaľ čo mnohí správcovia balíkov Windows a Mac OS X aktualizujú softvér od spoločností Microsoft a Apple.

Schopnosť neustálej aktualizácie softvéru tretích strán sa pridáva zahrnutím adresy URL príslušného úložiska do konfiguračného súboru správy balíkov.

Formáty balíkov

Všetci správcovia balíkov závisia od metadát a formátu balíkov, ktoré môžu spravovať. Správcovia balíkov vyžadujú, aby skupiny súborov boli zoskupené pre konkrétneho správcu balíkov so správnymi metadátami, ako sú závislosti.

Základná zbierka nástrojov často riadi všeobecnú inštaláciu prostredníctvom týchto balíkov a viac ako jeden správca balíkov používa tieto nástroje na poskytovanie dodatočných funkcií.

Príklad:

  1. yum závisí od otáčok za minútu ako backend. Yum rozvíja funkčnosť backendu pridaním aspektov, ako je jednoduchá konfigurácia na údržbu systémovej siete.
  2. Synaptický správca balíkov poskytuje GUI aplikáciou knižnice Advanced Packaging Tool, ktorá závisí od dpkg.

Votrelec možno definovať ako program, ktorý prekladá medzi rôznymi formátmi balíkov Linuxu. Podporuje konverziu medzi Slackware (.tgz, .tlz, .tbz, .txz) balíky, Balíky Solaris (.pkg), Stampede (.slp), .deb, .rpm, a Linux Standard Base (LSB) kompatibilné.

Vo viacerých mobilných OS ako napr Google Play využíva formát balíka Balík aplikácií pre Android (V skratke APK ) kým Windows Store používa formáty XAP a APPX. Obaja Windows Store a Google Play obsahujú rovnomenných správcov balíkov.

Správcovia balíkov na úrovni aplikácií

Existuje niekoľko správcov balíkov (doplnok) pre OS pre programovacie jazyky a s obmedzenými schopnosťami, kde vývojári vyžadujú aktuálne knižnice. Správcovia balíkov na úrovni aplikácií sa sústreďujú na malú časť softvérového systému na rozdiel od správcov balíkov na úrovni systému.

Zvyčajne sa nachádzajú v strome adresárov. Nie je organizovaný správcom balíkov na systémovej úrovni, ako je to napríklad /usr/local/fink alebo c:cygwin. Aj keď to nemusí byť podmienkou pre správcu balíkov, ktorý pracuje s programovacími knižnicami, čo spôsobuje možný konflikt, pretože obaja správcovia balíkov môžu prerušiť aktualizácie a požiadať o 'vlastný' súbor.