logo

„Linux“ paketų tvarkyklė

Įvadas

A paketų valdymo sistema arba paketų tvarkyklė yra programinės įrangos įrankių grupė. Jis efektyviai automatizuoja kompiuterio programų diegimo, atnaujinimo, konfigūravimo ir pašalinimo procesą iš kompiuterio operacinės sistemos. A paketo valdytojas veikia su paketais, duomenimis archyvo failuose ir programinės įrangos platinimu.

Paketuose yra metaduomenų, tokių kaip programinės įrangos pavadinimas, jos tikslo aprašymas, kontrolinė suma (pageidautina kriptografinės maišos funkcija), d priklausomybių sąrašas, pardavėjas, ir versijos numeris būtina, kad programinė įranga tinkamai veiktų.

  • Diegiant metaduomenys išsaugomi vietinio paketo duomenų bazėje.
  • Paprastai paketų tvarkytojai tvarko versijos informacijos ir programinės įrangos priklausomybių duomenų bazę, kad išvengtų trūkstamų būtinų sąlygų ir programinės įrangos neatitikimų.
  • Jie glaudžiai bendradarbiauja su programų parduotuvėmis, dvejetainių saugyklų valdytojais ir programinės įrangos saugyklomis.
  • Paketų tvarkyklės sukurtos taip, kad nereikėtų rankiniu būdu atnaujinti ir įdiegti.
  • Ypač tai gali būti naudinga didelėms organizacijoms, kurių OS paprastai sujungia šimtus ar daug daugiau skirtingų programinės įrangos paketų.

Paketų tvarkyklės funkcijos

Programinės įrangos paketą galima apibrėžti kaip archyvo failas Kompiuterinės programos ir esminių metaduomenų derinimas kūrimui. Sistemos programa gali būti šaltinio kode, kurį pirmiausia reikia sukurti ir sukompiliuoti.

Paketo metaduomenyse yra paketo versija, paketo aprašymas ir priklausomybės (paketai, kuriuos reikia įdiegti iš anksto). Daugeliui paketų tvarkytuvų priklauso programinės įrangos paketų įdiegimo, pašalinimo, priežiūros ar paieškos veiksmingumas, kuriam vadovauja vartotojas.

The paketų valdymo sistema yra keletas tipiškų funkcijas kurie yra paminėti žemiau:

  • Darbas su failų archyvatoriais, norint išgauti paketų archyvus.
  • Paketo autentiškumo ir vientisumo užtikrinimas atitinkamai autentifikuojant jų skaitmeninius sertifikatus ir kontrolines sumas.
  • Esamos programinės įrangos atnaujinimas, diegimas, atsisiuntimas arba paieška per programų parduotuvę arba programinės įrangos saugyklą.
  • Paketų derinimas naudojant funkciją, siekiant sumažinti vartotojo painiavą.
  • Priklausomybių išlaikymas siekiant užtikrinti, kad paketas būtų įdiegtas kartu su kiekvienu jam reikalingu paketu. Taigi, ignoravimas „priklausomybės pragaras“.
„Linux“ paketų tvarkyklė

Kompiliuotų paketų priekinės dalys (vietoje)

Sistemos administratoriai gali įdiegti ir valdyti programinę įrangą naudodamas kai kuriuos įrankius, išskyrus paketų valdymo programinę įrangą. Pavyzdžiui, vietinis administratorius gali atsisiųsti šaltinio kodą (nesupakuotą), jį sukompiliuoti ir įdiegti.

Dėl to vietinės sistemos būsena gali iškristi iš sinchronizavimo kartu su paketų tvarkyklės būsenos duomenų baze. Vietiniam administratoriui reikės imtis tam tikrų papildomų priemonių, pvz., rankiniu būdu integruoti pakeitimus į paketų tvarkyklę arba valdyti keletą priklausomybių.

Java serverio puslapiai

Yra keletas įrankių, užtikrinančių paketų kompiliavimą (vietoje) yra kuriami naudojant paketų valdymą.

Patikrinkite Įdiegti yra prieinama .rpm arba .deb failais pagrįsti paskirstymai ir Slackware Linux taip pat. Dėl hibridas sistemos kaip Arch Linux ir receptais pagrįstos sistemos Kaip Gentoo Linux, iš pradžių galima nurodyti receptą, kuris vėliau patvirtina, kad paketas telpa į vietinę paketų duomenų bazę.

Iššūkiai su paskirstytomis bibliotekomis

Įvairios kompiuterinės sistemos, kurios priklauso nuo dinaminio bibliotekos susiejimo, o ne nuo statinio bibliotekos susiejimo, platina mašininių komandų bibliotekas (vykdomąsias) programose ir paketuose.

Tokio tipo sistemose dėl tipiškų ryšių tarp skirtingų paketų, kuriems reikia bibliotekos, atsiranda iššūkis, vadinamas „priklausomybės pragaras“.

Jis taip pat žinomas kaip 'DLL pragaras' „Microsoft Windows“, kai dinamiškai dirbate su susietomis bibliotekomis. Geras paketų valdymas yra labai svarbus šioms sistemoms.

Nuo OPENSTEP , pagrindų sistema buvo šansas išspręsti šią problemą, leidžiant vienu metu įdiegti daugiau nei vieną bibliotekos versiją ir daugeliui programinės įrangos paketų aprašyti, su kuria versija jie susieti.

Konfigūracijos priežiūra

Konfigūracijos failo naujinimai yra ypač problemiški atnaujinant programinę įrangą. Bent jau „Unix“, nes paketų tvarkyklės atsirado kaip failų archyvavimo paslaugų plėtinys.

Paprastai jie tik išlaiko arba perrašo konfigūracijos failus, o ne naudoja jiems taisykles. Keičiant konfigūracijos failo formatą gali kilti keletas problemų. Pavyzdžiui, jei senas konfigūracijos failas aiškiai neišjungia naujesnių parinkčių, jos turi būti rodomos. Kai kurios paketų tvarkyklės, pvz., Debian's dpkg, leidžia konfigūruoti diegimo metu. Kai kuriais kitais atvejais pageidautina įdiegti paketus naudojant numatytąją konfigūraciją ir perrašyti diegimo konfigūraciją (be galvos) daugeliui sistemų. Šio tipo diegimas (iš anksto sukonfigūruotas) palaikomas ir per dpkg.

Atnaujinimo slopinimas

Įprasta, kad vartotojas kartu su vykdomu veiksmų sąrašu (dažniausiai paketų sąrašu, kurį reikia atnaujinti ir galbūt pateikti naujos ir senos versijos numerius), yra prieinamas, jei vartotojas bendradarbiauja su paketų valdymo programine įranga, kad būtų atliktas naujinimas.

Tai leidžia vartotojui arba pasirinkti vieną paketą naujinimui, arba atlikti masinį atnaujinimą. Įvairios paketų tvarkyklės gali būti sukonfigūruotos taip, kad niekada neatnaujintų daug paketų arba kad jie būtų atnaujinami tik tuo atveju, jei senajame standarte aptinkami kritiniai nestabilumai ar pažeidžiamumai, kaip nurodyta programinės įrangos pakete. Kartais šis procesas vadinamas versijos prisegimu.

Pavyzdžiui:

yum jį palaiko su neįtraukti=atviras biuras* sintaksė

pacman su sintaksė Ignore=openoffice (abiem atvejais, norint sustabdyti OpenOffice atnaujinimą)

dselect ir dpkg jį iš dalies palaiko sulaikymo vėliavėle paketo pasirinkimuose.

gabumai turi 'uždrausti' ir 'laikyk' vėliavos.

portage palaiko jį konfigūracijos failu, t.y. pakuotė.kaukė.

APT išplečia vėliavą, t.y. laikykite pagal kompleksą 'prisegimas' metodas (vartotojai taip pat gali paketą įtraukti į juodąjį sąrašą).

Saugyklos

Kad naudotojai galėtų papildomai valdyti programinės įrangos tipus, kuriuos jie leidžia įdiegti savo sistemoje (kartais dėl platintojo patogumo ir teisinių priežasčių), programinė įranga kartais atsisiunčiama naudojant daugybę programinės įrangos saugyklų.

dekoduoti base64 javascript

Kaskadinis paketo pašalinimas

Keletas labiau išplėtotų paketų valdymo aspektų palengvina „pakopinis paketo pašalinimas“, kur kiekvienas paketas, kuris priklauso nuo paskirties paketo ir kiekvienas paketas, kuriuo remiasi paskirties paketas, taip pat pašalinami.

Komandų palyginimas

Tačiau komandos yra unikalios visiems konkrečių paketų tvarkytuvams. Šios komandos didžiąja dalimi yra išverčiamos, nes dauguma paketų tvarkytuvų atlieka tas pačias funkcijas.

Paketo tvarkyklės paplitimas

Paketų tvarkyklės, tokios kaip dpkg, buvo prieinamos jau 1994 m. Įvairūs Linux platinimai, orientuoti į dvejetainius paketus, labai priklauso nuo paketų valdymo sistemos dėl savo pagrindinių programinės įrangos priežiūros ir valdymo priemonių.

Daugelis mobiliųjų operacinių sistemų, pvz., „Windows Phone“, „iOS“ (panašios į „Unix“) ir „Android“ (pagrįstos Linux), priklauso beveik nuo atitinkamos pardavėjo programų parduotuvės. Taigi jie naudoja savo paketų valdymo sistemą (skirta).

Palyginimas su montuotojais

Dažnai paketų tvarkyklė yra žinoma kaip an 'diegimo tvarkyklė'. Tai gali sukelti painiavą tarp montuotojų ir paketų tvarkytojų. Kai kurie pagrindiniai skirtumai pateikiami žemiau:

Kriterijus Paketo valdytojas Montuotojas
Siunčiama su Paprastai OS Visos kompiuterinės programos
Montavimo informacijos vieta Centrinė duomenų bazė diegimui Visiškai tai priklauso montuotojo nuožiūra. Tai gali būti failas programos aplanke arba tarp operacinės sistemos aplankų ir failų. Jie gali užsiregistruoti pašalinimo programos sąraše neatskleisdami diegimo informacijos.
Priežiūros apimtis Potencialiai kiekvienas sistemos paketas Tik prekė, prie kurios buvo supakuota
Programuotojas Vieno paketo tvarkyklės pardavėjas Daugiau nei vienas montuotojų pardavėjas
Pakuotės formatas Keletas pripažintų formatų Gali būti tiek formatų, kiek yra programos numeris
Paketo formato suderinamumas Gali būti naudojamas tol, kol jį naudoja paketų tvarkyklė. Arba vartotojas neatnaujina paketų tvarkyklės, arba naujos paketų tvarkyklės versijos ją palaiko. Jei diegimo programa naudoja bet kokį archyvo formatą, diegimo programa visada su juo suderinama. Nors montuotojus, kaip ir kiekvieną kompiuterį, gali paveikti programinės įrangos puvimas.

Palyginimas su automatizavimo programa

Beveik visos programinės įrangos konfigūracijos valdymo sistemos reiškia programinės įrangos diegimą ir programinės įrangos kūrimą atskirai. Paprastai kūrimo automatizavimo programa paima šaltinio kodo failus, kurie jau yra sistemoje jau esantiems žmonėms suprantamu formatu, ir pagreitina jų konvertavimo į vykdomąjį paketą (dvejetainį) panašioje sistemoje procedūrą.

Paprastai paketų tvarkyklė, vėliau veikianti keliose kitose sistemose, atsisiunčia tuos vykdomuosius paketus (iš anksto sukurtus dvejetainius) iš interneto ir tada juos įdiegia.

Nors abiejų tipų įrankiai apima kelis bendrus veiksnius, kurie paminėti toliau:

  • Priklausomybės grafiko topologinis rūšiavimas taikomas paketų tvarkyklėje, kad būtų galima valdyti daugelio dvejetainių komponentų priklausomybes.
  • Be to, jis taikomas kūrimo tvarkyklėje, kad būtų galima valdyti daugelio šaltinio komponentų priklausomybę.
  • Įvairūs makefilai teikia pagalbą, o ne tik vykdomųjų failų kūrimą.
  • Be to, jie palaiko diegimą naudojant make install.
  • Visi paketų tvarkytuvai palaiko šaltinio kodo (žmogaus skaitomo) vertimą į dvejetainius vykdomuosius failus ir tada įdiegia jį šaltinio platinimui, pvz., Homebrew, Sorcery, Portage ir kt.

Kai kurie įrankiai kaip A-A-P ir Padaryti yra sukurti valdyti tiek diegimą, tiek kūrimą. Jie taip pat gali būti naudojami kaip paketų tvarkyklė arba kūrimo automatizavimo įrankis arba abu.

Pagrindinės paketų tvarkyklės ir jų formatai

Universalus paketų tvarkyklė

Jis taip pat vadinamas dvejetainės saugyklos tvarkyklė. Ši paketų tvarkyklė yra programinės įrangos įrankis, sukurtas optimizuoti saugyklą ir atsisiųsti dvejetainius failus, paketus ir artefaktus, sukurtus ir naudojamus programinės įrangos kūrimo procese.

Universalūs paketų tvarkyklės sutelkti dėmesį į standartizavimą, kaip vartotojai elgiasi su bet kokio tipo pakuotėmis. Jie suteikia vartotojams galimybę naudoti atitikties ir saugos metriką kiekvieno tipo artefaktams. Jie buvo priskirti kaip esantys a viduryje „DevOps“ įrankių grandinė.

„Linux“ paketų tvarkyklė

Atvirojo kodo ir nemokamos programinės įrangos sistemos

Suderinamų ir panašių licencijų paketai buvo skirti naudoti keliose operacinėse sistemose dėl atvirojo kodo ir nemokamos programinės įrangos.

Šie paketai gali būti platinami ir derinami naudojant sudėtingas ir konfigūruojamas pakavimo sistemas, kad būtų galima valdyti kelis su versijomis susijusius konfliktus ir priklausomybes bei programinės įrangos permutacijas.

Be to, kelios atvirojo kodo ir nemokamos programinės įrangos pakavimo sistemos yra paskelbtos kaip atvirojo kodo ir nemokama programinė įranga.

Vienas skirtumas tarp paketų valdymo operacinėse sistemose, pvz., Windows ir Mac OS X, ir atvirojo kodo bei nemokamos programinės įrangos, pvz., Linux, yra tas, kad atvirojo kodo ir nemokamos programinės įrangos sistemos leidžia atnaujinti ir įdiegti trečiųjų šalių paketus naudojant panašų mechanizmą. . Tuo tarpu daugelis „Windows“ ir „Mac OS X“ paketų tvarkytuvų atnaujins atitinkamai „Microsoft“ ir „Apple“ pateiktą programinę įrangą.

Galimybė nuolat atnaujinti trečiosios šalies programinę įrangą pridedama įtraukiant atitinkamą saugyklos URL į paketo valdymo konfigūracijos failą.

Paketų formatai

Visi paketų tvarkytojai priklauso nuo metaduomenų ir paketų, kuriuos jie galėtų valdyti, formato. Paketų tvarkytuvės reikalauja, kad failų grupės būtų sugrupuotos pagal konkrečią paketų tvarkyklę su tinkamais metaduomenimis, pvz., priklausomybėmis.

Pagrindinis paslaugų rinkinys dažnai valdo bendrą diegimą per šiuos paketus, o daugiau nei viena paketų tvarkyklė taiko šias paslaugas, kad suteiktų papildomų funkcijų.

Pavyzdys:

  1. yum priklauso nuo rpm kaip backend. Yum plėtoja backend funkcionalumą, pridedant tokius aspektus kaip paprasta konfigūracija, skirta sistemos tinklui palaikyti.
  2. Sinaptinė paketų tvarkyklė suteikia GUI, taikydama išplėstinio pakavimo įrankio biblioteką, kuri priklauso nuo dpkg.

Svetimas gali būti apibrėžta kaip programa, kuri verčia skirtingus Linux paketų formatus. Tai palaiko konversiją tarp „Slackware“ (.tgz, .tlz, .tbz, .txz) paketai, „Solaris“ (.pkg), „Stampede“ (.slp), .deb, .rpm paketai, ir Linux standartinė bazė (LSB) atitinkantis.

Kai kuriose mobiliosiose OS, tokiose kaip Google Play naudoja paketo formatą Android programų paketas (trumpai tariant APK ) kol „Windows“ parduotuvė naudoja formatus XAP ir APPX. Abu „Windows“ parduotuvė ir Google Play yra to paties pavadinimo paketų tvarkyklės.

Programos lygio paketų tvarkyklės

Yra keletas paketų tvarkytuvų (papildų), skirtų OS programavimo kalboms ir ribotomis galimybėmis, kai kūrėjams reikalingos dabartinės bibliotekos. Programos lygio paketų tvarkyklės, priešingai nei sistemos lygio paketų tvarkyklės, sutelkia dėmesį į nedidelę programinės įrangos sistemos dalį.

Paprastai jie yra katalogų medyje. Tai nėra organizuojama sistemos lygio paketų tvarkyklės, pavyzdžiui, /usr/local/fink arba c:cygwin. Nors tai gali būti ne sąlyga paketų tvarkyklei, kuri dirba su programavimo bibliotekomis, todėl gali kilti konfliktas, nes abi paketų tvarkyklės gali nutraukti naujinimus ir prašyti 'savas' failas.