logo

Linux Package Manager

Uvod

A sustav za upravljanje paketima ili upravitelj paketa je skupina softverskih alata. Automatizira proces instalacije, proces nadogradnje, proces konfiguracije i proces uklanjanja računalnih programa za operativni sustav računala na učinkovit način. A upravitelj paketa radi s paketima, podacima unutar arhivskih datoteka i distribucijama softvera.

Paketi uključuju metapodatke poput naziv softvera, opis njegovog cilja, kontrolni zbroj (po mogućnosti kriptografska hash funkcija), d popis ovisnosti, dobavljač, i broj verzije bitne za ispravan rad softvera.

  • Metapodaci se spremaju unutar baze podataka lokalnog paketa nakon instalacije.
  • Obično upravitelji paketa upravljaju bazom podataka informacija o verziji i softverskim ovisnostima radi sprječavanja nedostajućih preduvjeta i neusklađenosti softvera.
  • Blisko surađuju s trgovinama aplikacija, upraviteljima binarnih spremišta i spremištima softvera.
  • Upravitelji paketa razvijeni su za uklanjanje zahtjeva za ručnim ažuriranjem i instalacijom.
  • Osobito može biti od pomoći velikim organizacijama čiji operativni sustavi obično kombiniraju stotine ili mnogo više različitih softverskih paketa.

Funkcije Package Managera

Programski paket može se definirati kao arhivska datoteka kombiniranje računalnog programa i bitnih metapodataka kao i za razvoj. Program sustava mogao bi biti unutar izvornog koda koji se prvo mora izgraditi i kompajlirati.

Metapodaci paketa sadrže verziju paketa, opis paketa i ovisnosti (paketi koji moraju biti prethodno instalirani). Mnogi upravitelji paketa posjeduju akciju instaliranja, deinstalacije, održavanja ili pronalaženja softverskih paketa pod zapovjedništvom korisnika.

The sustav upravljanja paketima sadrži neke tipične funkcije koji su navedeni u nastavku:

  • Rad s arhiverima datoteka za izdvajanje arhiva paketa.
  • Osiguravanje autentičnosti i integriteta paketa provjerom autentičnosti njihovih digitalnih certifikata i kontrolnih zbrojeva.
  • Ažuriranje, instaliranje, preuzimanje ili traženje postojećeg softvera putem trgovine aplikacija ili repozitorija softvera.
  • Kombiniranje paketa putem funkcije za smanjenje zbunjenosti korisnika.
  • Održavanje ovisnosti kako bi se osiguralo da je paket instaliran zajedno sa svakim paketom koji mu je potreban. Dakle, ignoriranje 'pakao ovisnosti'.
Linux Package Manager

Sučelja za kompajlirane pakete (lokalno)

Administratori sustava može instalirati i upravljati softverom uz pomoć nekih alata osim softvera za upravljanje paketima. Na primjer, lokalni administrator može preuzeti izvorni kod (nezapakiran), kompajlirati ga i zatim instalirati.

To može uzrokovati ispadanje stanja lokalnog sustava iz sinkronizacije zajedno s bazom podataka stanja upravitelja paketa. Lokalni administrator bi trebao poduzeti neke dodatne mjere kao što je ručna integracija izmjena u upravitelj paketa ili upravljanje nekoliko ovisnosti.

koliko tipki imaju tipkovnice

Postoje neki alati koji osiguravaju kompajliranje paketa (lokalno) razvijeni su s upravljanjem paketima.

ProvjeriteInstall dostupan je za .rpm ili .deb distribucije temeljene na datotekama i Slackware Linux također. Za hibrid sustavi poput Arch Linux i sustavi temeljeni na receptima Kao Gentoo Linux, moguće je inicijalno odrediti recept, koji zatim potvrđuje da se paket uklapa u lokalnu bazu podataka paketa.

Izazovi s distribuiranim knjižnicama

Razni računalni sustavi koji ovise o povezivanju dinamičke biblioteke, a ne o povezivanju statičke biblioteke, distribuiraju biblioteke strojnih instrukcija (izvršne) preko aplikacija i paketa.

U ovim vrstama sustava, tipični odnosi između različitih paketa koji trebaju verzije knjižnice rezultiraju izazovom tzv 'pakao ovisnosti'.

Također je poznat kao 'DLL pakao' na sustavu Microsoft Windows kada se dinamički radi s povezanim bibliotekama. Dobro upravljanje paketima ključno je za ove sustave.

Iz OPENSTEP , okvirni sustav bio je pokušaj rješavanja ovog problema, dopuštajući istovremeno instaliranje više od jedne verzije biblioteke i za mnoge softverske pakete da opisuju preko koje su verzije povezani.

Održavanje konfiguracije

Nadogradnje konfiguracijske datoteke posebno su problematične s nadogradnjom softvera. Barem na Unixu, budući da su upravitelji paketa nastali kao ekstenzija uslužnog programa za arhiviranje datoteka.

Obično samo zadržavaju ili prepisuju konfiguracijske datoteke, umjesto da za njih koriste pravila. Prilikom izmjene formata konfiguracijske datoteke može se pojaviti nekoliko problema. Na primjer, ako stara konfiguracijska datoteka ne onemogućuje eksplicitno novije opcije, to se mora prikazati. Nekoliko upravitelja paketima kao što je Debianov dpkg, dopušta konfiguraciju u vrijeme instalacije. U nekim drugim slučajevima, poželjno je instalirati pakete uz korištenje zadane konfiguracije i prebrisati konfiguraciju u instalaciji (bez glave) na velikom broju sustava. Ova vrsta instalacije (unaprijed konfigurirana) također je podržana putem dpkg-a.

Potiskivanje nadogradnje

Tradicionalno je korisniku dostupan zajedno s popisom radnji koje treba pokrenuti (obično popis paketa za nadogradnju i mogući novi i stari broj verzije) ako korisnik surađuje sa softverom za upravljanje paketima radi nadogradnje.

Omogućuje korisniku da odabere jedan paket za nadogradnju ili da preuzme skupnu nadogradnju. Različiti upravitelji paketa mogu se konfigurirati tako da nikada ne nadograđuju mnogo paketa ili da ih nadograđuju samo ako se otkriju kritične nestabilnosti ili ranjivosti u starom standardu, kao što je navedeno u softverskom paketu. Ponekad je ovaj postupak poznat kao prikvačivanje verzije.

Na primjer:

yum podržava s isključi=openoffice* sintaksa

pacman sa sintaksom Ignore=openoffice (u oba slučaja, za suzbijanje nadogradnje openofficea)

dselect i dpkg ga djelomično podržavaju zastavom čekanja unutar odabira paketa.

sposobnost ima 'zabraniti' i 'držati' zastave.

portage ga podržava konfiguracijskom datotekom, tj. paket.maska.

APT proširuje zastavu, tj. držati po kompleksu 'pričvršćivanje' metoda (korisnici također mogu staviti paket na crnu listu).

Spremišta

Kako bi korisnicima pružili dodatnu kontrolu nad vrstama softvera za koje dopuštaju da se instaliraju na njihov sustav (ponekad zbog pogodnosti i pravnih razloga na strani distributera), softver se ponekad preuzima pomoću mnogih softverskih repozitorija.

java lokalni datumvrijeme

Kaskadno uklanjanje paketa

Nekoliko razvijenijih aspekata upravljanja paketima olakšavaju 'kaskadno uklanjanje paketa', gdje se svaki paket koji se oslanja na odredišni paket i svaki paket na koji se oslanja odredišni paket također uklanjaju.

Usporedba naredbi

Međutim, naredbe su jedinstvene za sve specifične upravitelje paketa. Ove se naredbe u velikoj mjeri mogu prevoditi jer većina upravitelja paketima omogućuje iste funkcije.

Prevalencija Package Managera

Upravljači paketima kao što je dpkg dostupni su već 1994. Različite distribucije Linuxa orijentirane na binarne pakete uvelike se oslanjaju na sustav upravljanja paketima zbog njihovog glavnog sredstva održavanja i upravljanja softverom.

Mnogi mobilni operativni sustavi kao što su Windows Phone, iOS (nalik Unixu) i Android (temeljen na Linuxu) ovise gotovo o App Storeu dobavljača. Stoga koriste svoj sustav upravljanja paketima (namjenski).

Usporedba s instalaterima

Često je upravitelj paketa poznat kao 'instalacijski upravitelj'. To može izazvati zabunu među instalaterima i upraviteljima paketa. Neke od glavnih razlika navedene su u nastavku:

Kriterij Upravitelj paketa Instalater
Isporučeno sa Obično OS Svi računalni programi
Informacije o mjestu instalacije Centralna baza podataka za instalaciju U cijelosti, to je na odluci instalatera. To može biti datoteka u mapi aplikacije ili među mapama i datotekama operativnog sustava. Mogu se registrirati na popisu programa za deinstalaciju bez otkrivanja informacija o instalaciji.
Opseg održavanja Potencijalno svaki paket na sustavu Samo proizvod uz koji je bio zapakiran
Developer Pojedinačni dobavljač upravitelja paketa Više od jednog dobavljača instalatera
Format paketa Pregršt priznatih formata Može postojati onoliko formata koliko je i broja aplikacije
Kompatibilnost formata paketa Može se koristiti sve dok ga koristi upravitelj paketa. Ili korisnik ne nadogradi upravitelj paketa ili ga nove verzije upravitelja paketa nastavljaju podržavati. Ako instalacijski program koristi bilo koji format arhive, tada je instalacijski program uvijek kompatibilan s njim. Iako, instalateri mogu biti pod utjecajem kvara softvera kao i svako računalo.

Usporedba s uslužnim programom za automatizaciju

Gotovo svi sustavi za upravljanje konfiguracijom softvera predstavljaju odvojeno softver za implementaciju i softver za izgradnju. Uobičajeno, uslužni program za automatizaciju izrade uzima datoteke izvornog koda koje su u formatu čitljivom za čovjeka već u sustavu i ubrzava postupak njihovog pretvaranja u izvršni paket (binarni) na sličnom sustavu.

Obično upravitelj paketa koji se kasnije izvodi na nekoliko drugih sustava preuzima te izvršne pakete (unaprijed izgrađeni binarni) na Internetu i zatim ih instalira.

Iako obje vrste alata uključuju nekoliko zajedničkih čimbenika koji su navedeni u nastavku:

  • Topološko sortiranje grafikona ovisnosti primjenjuje se unutar upravitelja paketa za rukovanje ovisnostima između mnogih binarnih komponenti.
  • Također, primjenjuje se unutar upravitelja izgradnje za rukovanje ovisnošću između mnogih izvornih komponenti.
  • Različite make datoteke pružaju njihovu podršku, a ne samo izgradnju izvršnih datoteka.
  • Također, podržavaju instalaciju pomoću make install.
  • Svi upravitelji paketa podržavaju prevođenje izvornog koda (čovjeku čitljivog) u binarne izvršne datoteke i zatim ga instaliraju za distribuciju temeljenu na izvoru kao što su Homebrew, Sorcery, Portage itd.

Neki alati poput A-A-P i Napraviti razvijeni su za upravljanje i postavljanjem i izgradnjom. Također se mogu koristiti kao upravitelj paketa ili uslužni program za automatizaciju izrade ili oboje.

Osnovni upravitelji paketa i njihovi formati

Univerzalni upravitelj paketa

Također se zove upravitelj binarnog repozitorija. Ovaj upravitelj paketa softverski je alat stvoren za optimiziranje pohranjivanja i preuzimanja binarnih datoteka, paketa i artefakata proizvedenih i korištenih u procesu razvoja softvera.

Univerzalni upravitelji paketa usredotočite se na standardizaciju načina na koji modni korisnici tretiraju svaku vrstu paketa. Korisnicima pružaju mogućnost korištenja usklađenosti i sigurnosnih metrika oko svake vrste artefakta. Dodijeljeno im je da se nalaze u sredini a DevOps alatni lanac.

Linux Package Manager

Sustavi otvorenog koda i besplatnog softvera

Paketi prema kompatibilnim i sličnim licencama postoje za korištenje na nekoliko operativnih sustava prema ponašanju otvorenog koda i besplatnog softvera.

Ti se paketi mogu distribuirati i kombinirati korištenjem interno složenih i konfigurabilnih sustava pakiranja za upravljanje nekoliko sukoba specifičnih za verziju i ovisnosti te softverskih permutacija.

Također, nekoliko sustava pakiranja otvorenog i besplatnog softvera sami su objavljeni kao otvoreni i besplatni softver.

Jedna razlika između upravljanja paketima u operativnim sustavima kao što su Windows i Mac OS X i onima u otvorenom kodu i besplatnom softveru, kao što je Linux je ta da sustavi otvorenog koda i besplatnog softvera dopuštaju nadogradnju i instalaciju paketa trećih strana iz sličnog mehanizma . Dok će mnogi upravitelji paketa Windows i Mac OS X nadograditi softver koji su dali Microsoft odnosno Apple.

Mogućnost kontinuirane nadogradnje softvera treće strane dodaje se uključivanjem odgovarajućeg URL-a repozitorija u konfiguracijsku datoteku upravljanja paketima.

Formati paketa

Svi upravitelji paketa ovise o metapodacima i formatu paketa kojima mogu upravljati. Upravitelji paketa zahtijevaju da grupe datoteka budu grupirane za određeni upravitelj paketa s odgovarajućim metapodacima poput ovisnosti.

Osnovna zbirka uslužnih programa često upravlja općom instalacijom putem ovih paketa i više od jednog upravitelja paketa primjenjuje ove uslužne programe za pružanje dodatne funkcionalnosti.

Primjer:

  1. yum ovisi o rpm kao pozadini. Yum razvija pozadinsku funkcionalnost dodavanjem aspekata poput jednostavne konfiguracije za održavanje mreže sustava.
  2. Synaptic paket upravitelj daje GUI primjenom biblioteke naprednog alata za pakiranje koji ovisi o dpkg.

Stranac može se definirati kao program koji prevodi između različitih formata Linux paketa. Podržava obraćenje među Slackware (.tgz, .tlz, .tbz, .txz) paketi, Solaris (.pkg), Stampede (.slp), .deb, .rpm paketi, i Standardna baza Linuxa (LSB) usklađen.

U nekoliko mobilnih operativnih sustava kao što je Google Play koristi format paketa Paket aplikacija za Android (Ukratko APK ) dok Windows trgovina koristi formate XAP i APPX. Oba Windows trgovina i Google Play sadrže istoimene upravitelje paketa.

Upravitelji paketa na razini aplikacije

Postoji nekoliko upravitelja paketa (dodataka) za OS-ove za programske jezike i s ograničenim mogućnostima gdje programeri zahtijevaju trenutne biblioteke. Upravitelji paketa na razini aplikacije koncentriraju se na mali dio softverskog sustava za razliku od upravitelja paketa na razini sustava.

Obično se nalaze u stablu imenika. Nije organiziran upraviteljem paketa na razini sustava poput /usr/local/fink ili c:cygwin. Iako to možda nije uvjet za upravitelja paketa koji radi s programskim bibliotekama, što uzrokuje mogući sukob jer oba upravitelja paketa mogu prekinuti nadogradnje i zatražiti 'vlastiti' Datoteka.