logo

Gestor de paquets Linux

Introducció

A sistema de gestió de paquets o gestor de paquets és un grup d'eines de programari. Automatitza el procés d'instal·lació, el procés d'actualització, el procés de configuració i el procés d'eliminació dels programes informàtics d'un sistema operatiu de l'ordinador d'una manera eficient. A gestor de paquets treballa amb paquets, dades dins de fitxers d'arxiu i distribucions de programari.

Els paquets inclouen metadades com el nom del programari, descripció del seu objectiu, suma de control (una funció hash criptogràfica preferiblement), d llista de dependències, venedor, i número de versió essencial perquè el programari funcioni correctament.

  • Les metadades es guarden a la base de dades d'un paquet local després de la instal·lació.
  • Normalment, els gestors de paquets gestionen la base de dades de la informació de la versió i les dependències de programari per evitar que faltin requisits previs i desajustos de programari.
  • Funcionen estretament amb botigues d'aplicacions, gestors de dipòsits binaris i dipòsits de programari.
  • Els gestors de paquets es desenvolupen per eliminar el requisit d'actualitzacions i instal·lacions manuals.
  • En particular, pot ser útil per a grans organitzacions els sistemes operatius de les quals combinen centenars o molts més paquets de programari diferents.

Funcions del gestor de paquets

Un paquet de programari es pot definir com a fitxer d'arxiu combinant un programa informàtic i metadades essencials també per al desenvolupament. El programa del sistema podria estar dins del codi font que s'ha de construir i compilar primer.

Les metadades del paquet contenen la versió del paquet, la descripció del paquet i les dependències (paquets que cal instal·lar-los prèviament). Molts gestors de paquets són propietat de l'acció d'instal·lar, desinstal·lar, mantenir o trobar paquets de programari sota les ordres de l'usuari.

El sistema de gestió de paquets conté alguns típics funcions que s'esmenten a continuació:

  • Tractar amb els arxivadors de fitxers per extreure arxius de paquets.
  • Assegurar l'autenticitat i la integritat del paquet mitjançant l'autenticació dels seus certificats digitals i suma de comprovació respectivament.
  • Actualitzar, instal·lar, baixar o buscar programari existent a través d'una botiga d'aplicacions o dipòsit de programari.
  • Combinació de paquets mitjançant funció per reduir la confusió de l'usuari.
  • Mantenir les dependències per assegurar-se que s'ha instal·lat un paquet juntament amb tots els paquets que necessita. Per tant, ignorant 'infern de dependència'.
Gestor de paquets Linux

Interfaces per a paquets compilats (localment)

Administradors de sistemes podria instal·lar i gestionar el programari amb l'ajuda d'algunes eines diferents del programari de gestió de paquets. Per exemple, un administrador local pot descarregar el codi font (no empaquetat), compilar-lo i després instal·lar-lo.

Pot provocar que l'estat del sistema local caigui de la sincronització juntament amb la base de dades de l'estat del gestor de paquets. L'administrador local hauria de prendre algunes mesures addicionals com integrar manualment les modificacions en un gestor de paquets o gestionar algunes dependències.

pitó camelcase

Hi ha algunes eines presents per garantir que els paquets de compilació (localment) es desenvolupen amb la gestió de paquets.

Comprova la instal·lació està disponible per .rpm o Distribucions basades en fitxers .deb i Slackware Linux també. Per híbrid sistemes com Arch Linux i sistemes basats en receptes M'agrada Gentoo Linux, és possible especificar inicialment una recepta, que després confirma que un paquet encaixa en una base de dades de paquets local.

Reptes amb les biblioteques distribuïdes

Diversos sistemes informàtics que depenen de l'enllaç dinàmic de biblioteques, en lloc de l'enllaç de biblioteques estàtiques, distribueixen les biblioteques d'instruccions de màquina (executables) entre aplicacions i paquets.

En aquests tipus de sistemes, les relacions típiques entre diferents paquets que necessiten versions de biblioteca resulten en un repte anomenat 'infern de dependència'.

També es coneix com 'DLL infern' a Microsoft Windows quan es tracten biblioteques enllaçades de manera dinàmica. Una bona gestió de paquets és crucial per a aquests sistemes.

Des de OPENSTEP , el sistema de marc va ser una oportunitat per resoldre aquest problema, permetent que més d'una versió de biblioteca s'instal·li simultàniament i que molts paquets de programari descriguin amb quina versió estan enllaçats.

Manteniment de la configuració

Les actualitzacions del fitxer de configuració són especialment problemàtiques amb les actualitzacions de programari. Almenys a Unix, ja que els gestors de paquets es van originar com l'extensió de la utilitat d'arxivar fitxers.

Normalment, només conserven o sobreescriuen els fitxers de configuració, en lloc d'utilitzar-hi regles. Poden sorgir diversos problemes quan es modifica el format del fitxer de configuració. Per exemple, si un fitxer de configuració antic no desactiva les opcions més noves de manera explícita, s'ha de mostrar. Alguns gestors de paquets com el dpkg de Debian permeten la configuració en el moment de la instal·lació. En alguns altres casos, és desitjable instal·lar paquets amb la configuració predeterminada i sobreescriure la configuració en instal·lació (sense cap) a un gran nombre de sistemes. Aquest tipus d'instal·lació (preconfigurada) també és compatible amb dpkg.

Supressió d'actualització

És tradicional disposar de l'usuari juntament amb la llista d'accions que s'ha d'executar (normalment la llista de paquets que s'ha d'actualitzar i, possiblement, proporcionar els números de versió nova i antiga) si un usuari coopera amb el programari de gestió de paquets per fer l'actualització.

Permet a l'usuari seleccionar un sol paquet per a actualitzacions o fer una actualització a granel. Es podrien configurar diversos gestors de paquets per no actualitzar mai molts paquets, o per actualitzar-los només si es detecten inestabilitats o vulnerabilitats crítiques a l'antic estàndard, tal com especifica el paquet de programari. De vegades, aquest procés es coneix com a fixació de versions.

Per exemple:

yum ho admet amb el excloure=openoffice* sintaxi

pacman amb la sintaxi Ignorar=openoffice (en ambdós casos, per suprimir l'actualització d'openoffice)

dselect i dpkg ho admeten parcialment mitjançant el senyalador de retenció a les seleccions de paquets.

aptitud té 'prohibir' i 'mantenir' banderes.

portage ho admet mitjançant un fitxer de configuració, és a dir, paquet.màscara.

APT amplia la bandera, és a dir, aguantar pel complex 'fixant' mètode (els usuaris també poden incloure el paquet a la llista negra).

Repositoris

Per oferir als usuaris un control addicional sobre els tipus de programari que permeten instal·lar al seu sistema (de vegades per raons de conveniència i legals del distribuïdor), el programari de vegades es descarrega utilitzant molts repositoris de programari.

jtextfield

Eliminació de paquets en cascada

Alguns dels aspectes de gestió de paquets més desenvolupats faciliten 'eliminació de paquets en cascada', on també s'eliminen tots els paquets que es basen en el paquet de destinació i tots els paquets en què es basa el paquet de destinació.

Comparació d'ordres

Tanmateix, les ordres són úniques per a tots els gestors de paquets específics. Aquestes ordres són en gran mesura traduïbles perquè la majoria dels gestors de paquets faciliten les mateixes funcions.

Prevalència del gestor de paquets

Els gestors de paquets com dpkg estan disponibles des del 1994. Diverses distribucions de Linux orientades als paquets binaris depenen molt del sistema de gestió de paquets a causa dels seus principals mitjans de manteniment i gestió del programari.

Molts sistemes operatius mòbils com Windows Phone, iOS (semblant a Unix) i Android (basat en Linux) depenen gairebé de les seves respectives App Store del venedor. Per tant, utilitzen el seu sistema de gestió de paquets (dedicat).

Comparació amb els instal·ladors

Sovint, un gestor de paquets es coneix com a 'Gestor d'instal·lacions'. Pot causar confusió entre els instal·ladors i els gestors de paquets. A continuació es presenten algunes de les principals diferències:

Criteri Gestor de paquets Instal·lador
Enviat amb Normalment, el sistema operatiu Tots els programes informàtics
Ubicació de la informació de la instal·lació Una base de dades central per a la instal·lació Totalment, és a criteri de l'instal·lador. Pot ser un fitxer a la carpeta de l'aplicació o entre les carpetes i fitxers del sistema operatiu. Podrien registrar-se a la llista d'un desinstal·lador sense revelar la informació d'instal·lació.
Àmbit de manteniment Potencialment tots els paquets d'un sistema Només el producte al qual es va empaquetar
Desenvolupador Proveïdor de gestor de paquets únic Més d'un venedor d'instal·ladors
Format del paquet Un grapat de formats reconeguts Hi pot haver tants formats com el número de l'aplicació
Compatibilitat del format del paquet Es podria utilitzar sempre que l'utilitzi un gestor de paquets. O l'usuari no actualitza un gestor de paquets o les noves versions del gestor de paquets continuen donant suport. Si l'instal·lador utilitza qualsevol format d'arxiu, aleshores l'instal·lador és compatible amb ell sempre. Tot i que, els instal·ladors poden estar influenciats per la podridura del programari com qualsevol ordinador.

Comparació amb la utilitat d'automatització

Gairebé tots els sistemes de gestió de configuració de programari representen el desplegament de programari i la creació de programari per separat. Normalment, la utilitat d'automatització de compilació pren els fitxers de codi font que ja estan en format llegible per l'home en un sistema i accelera el procediment de conversió en un paquet executable (binari) en un sistema similar.

Normalment, un gestor de paquets que s'executa més tard en alguns altres sistemes descarrega aquests paquets executables (binaris preconstruïts) a Internet i després els instal·la.

Tot i que, ambdós tipus d'eines inclouen diversos factors comuns que s'esmenten a continuació:

  • L'ordenació topològica del gràfic de dependències s'aplica dins d'un gestor de paquets per gestionar les dependències entre molts components binaris.
  • A més, s'aplica dins d'un gestor de compilació per gestionar la dependència entre molts components d'origen.
  • Diversos makefiles ofereixen el seu suport, no només la creació d'executables.
  • A més, admeten la instal·lació, mitjançant make install.
  • Tots els gestors de paquets admeten la traducció del codi font (llegible per humans) a executables binaris i després l'instal·len per a la distribució basada en fonts com Homebrew, Sorcery, Portage, etc.

Algunes eines com A-A-P i Fer estan desenvolupats per gestionar tant el desplegament com la construcció. També es poden utilitzar com a gestor de paquets o com a utilitat d'automatització de compilació o tots dos.

Gestors de paquets bàsics i els seus formats

Gestor de paquets universal

També s'anomena gestor de repositoris binari. Aquest gestor de paquets és una eina de programari creada per optimitzar l'emmagatzematge i descarregar els fitxers binaris, paquets i artefactes produïts i utilitzats en un procés de desenvolupament de programari.

Gestors de paquets universals enfocament per estandarditzar el tracte que els usuaris de moda tracten cada tipus de paquet. Proporcionen als usuaris la capacitat d'utilitzar mètriques de compliment i seguretat al voltant de cada tipus d'artefacte. S'han assignat a estar al mig d'a Cadena d'eines DevOps.

Gestor de paquets Linux

Sistemes de codi obert i programari lliure

Els paquets amb llicències compatibles i similars han existit per utilitzar-los en diversos sistemes operatius pel comportament del programari lliure i de codi obert.

Aquests paquets es podrien distribuir i combinar utilitzant sistemes d'embalatge complexos i configurables internament per gestionar diversos conflictes i dependències específiques de versions i permutacions de programari.

A més, alguns sistemes d'empaquetament de programari lliure i de codi obert es publiquen com a programari lliure i de codi obert.

Una diferència entre la gestió de paquets en sistemes operatius com Windows i Mac OS X i els de codi obert i programari lliure, com Linux, és que els sistemes de codi obert i programari lliure permeten actualitzar i instal·lar paquets de tercers des d'un mecanisme similar. . Mentre que, molts gestors de paquets de Windows i Mac OS X actualitzaran el programari proporcionat per Microsoft i Apple, respectivament.

La possibilitat d'actualitzar contínuament el programari de tercers s'afegeix mitjançant la inclusió de l'URL del repositori corresponent al fitxer de configuració de la gestió de paquets.

Formats de paquets

Tots els gestors de paquets depenen de les metadades i el format dels paquets que podrien gestionar. Els gestors de paquets requereixen que els grups de fitxers s'agrupin per al gestor de paquets concret amb metadades adequades com les dependències.

Una col·lecció bàsica d'utilitats sovint gestiona la instal·lació general mitjançant aquests paquets i més d'un gestor de paquets aplica aquestes utilitats per proporcionar funcionalitats addicionals.

Exemple:

  1. yum depèn de les rpm com a backend. Yum desenvolupa la funcionalitat del backend afegint aspectes com ara una configuració senzilla per mantenir la xarxa del sistema.
  2. El gestor de paquets sinàptics proporciona una GUI aplicant la biblioteca de l'eina d'embalatge avançat que depèn del dpkg.

Alienígena es pot definir com un programa que es tradueix entre diferents formats de paquet de Linux. Està donant suport a la conversió entre Slackware (.tgz, .tlz, .tbz, .txz) paquets, Paquets Solaris (.pkg), Stampede (.slp), .deb, .rpm, i Base estàndard de Linux compatible (LSB).

En diversos sistemes operatius mòbils com ara Google Play utilitza el format de paquet del Paquet d'aplicacions d'Android (en resum APK ) mentre que Botiga de Windows utilitza els formats de XAP i APPX. Tots dos Botiga de Windows i Google Play conté gestors de paquets homònims.

Gestors de paquets a nivell d'aplicació

Hi ha uns quants gestors de paquets (complement) per a sistemes operatius per a llenguatges de programació i amb capacitats restringides on els desenvolupadors requereixen les biblioteques actuals. Els gestors de paquets a nivell d'aplicació es concentren en la petita part del sistema de programari en contrast amb els gestors de paquets a nivell de sistema.

Normalment, resideixen en un arbre de directoris. No està organitzat per un gestor de paquets a nivell de sistema com /usr/local/fink o c:cygwin. Tot i que pot ser que no sigui la condició per a un gestor de paquets que treballi amb biblioteques de programació, causant un possible conflicte, ja que els dos gestors de paquets poden trencar les actualitzacions i sol·licitar 'propi' l'arxiu.