Gestor de paquets RPM

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca

El gestor de paquets de Red Hat (abr. RPM ) indica, en informàtica , un dels primers sistemes de gestió de paquets creats per a distribucions GNU / Linux . El seu nom es deu a Red Hat , l’empresa nord-americana fundada el 1995 , que va crear aquest programa per gestionar fitxers amb l’extensió .rpm, un format el naixement del qual es pot remuntar sempre al treball d’aquesta empresa. Les sigles RPM també indiquen el format del fitxer del paquet, que és .rpm.

Està present en distribucions Linux basades i derivades de Red Hat Linux i veu entre els seus principals usuaris altres distribucions com Fedora , derivades de Red Hat, Mandriva , SuSe , OpenSUSE i els seus derivats. També s’utilitza en dispositius Smartphone amb sistemes operatius Tizen i Sailfish OS .

Descripció

El programa rpm en si no resol automàticament les dependències , tot i que també s’han desenvolupat sistemes per a la seva instal·lació i gestió automàtica.

El format .rpm és, com. deb per a Debian o Ubuntu , l’anomenat format binari , ja que un cop obert (executat) s’instal·la automàticament (descomprimeix i copia tots els fitxers del sistema). Conceptualment és comparable als fitxers .exe utilitzats a MS-DOS i Windows . Per tant, es distingeix del "format font", normalment fitxers comprimits en format tar.gz o tar.gz2, que primer requereixen l'extracció dels fitxers que conté, així com tota una sèrie d'operacions necessàries per a la instal·lació del mateix sobre el maquinari i el programari específics de la màquina on es troba (l'anomenada compilació de fonts )

Exemples d'ús

Una breu descripció general de les ordres, amb algunes opcions útils:

  • Instal·leu un paquet

rpm -i (--nodeps) pacchetto.rpm

opcions relacionades:

--nodeps s'utilitza per ignorar les dependències - la força s'utilitza per forçar la instal·lació ignorant qualsevol conflicte

-– La prova provoca un cop falsificada la instal·lació i mostra qualsevol conflicte - l'hash mostra la barra de progrés de l'operació

  • Actualitzeu un paquet

rpm -U pacchetto.rpm

opció - nodeps s'utilitza per ignorar les dependències

  • Traieu un paquet

rpm -e pacchetto

Les opcions que poden ser útils en cas de supressió són:

-–Allmatches: indica eliminar totes les ocurrències del paquet i s’utilitza en cas de situacions anòmales en què un paquet apareix a la llista tal com s’ha instal·lat diverses vegades (amb versions diferents o amb la mateixa);

-– Reenvasament: abans d’eliminar el paquet, creeu-ne un a partir dels fitxers instal·lats actualment al sistema (absorbint així els canvis realitzats). El paquet creat es col·locarà a / var / spool / repackage /

--nodeps: exclou la comprovació de dependències abans de la desinstal·lació

  • Cerqueu el paquet a la base de dades de rpm

rpm -q pacchetto

opcions relacionades:

--all per mostrar tots els paquets instal·lats

-–Estat per mostrar l'estat d'un paquet

  • Comprendre a quin paquet pertany un fitxer concret

rpm -qf /etc/passwd

opcions relacionades

l'opció -f especifica el fitxer

l'opció -q realitza una cerca

  • Imprimiu la llista de fitxers continguts en un paquet

rpm -ql setup

l'opció -l significa llista

  • Reconstruïu la base de dades de paquets :

rpm—initdb

o bé

rpm—rebuilddb

de fet, és possible que la base de dades de paquets, com a resultat d’anomalies o mal funcionaments, es corrompi sense permetre el funcionament regular del sistema d’embalatge.

En aquest cas, heu de suprimir els fitxers existents i reconstruir la base de dades amb les opcions següents:

--initdb, que inicia la base de dades existent, assegurant-se que es construeix vàlidament.

--rebuilddb, en lloc d'això, crearà una nova base de dades des de zero segons les capçaleres dels paquets instal·lats, però utilitzant com a opció - dbpath (on serà el directori que s'utilitzarà per a la base de dades); el directori de nivell superior

Opcions d'ús general :

-? o --help Mostra ajuda ampliada - versió Mostra el número de versió actual de rpm - tranquil Imprimeix el mínim de missatges possible a la pantalla - normalment només es mostraran els missatges d'error

-vo --verbose (mode detallat) s'imprimiran els missatges que indiquin el progrés de les operacions en curs.

Per obtenir més informació, consulteu la pàgina manualment .

Etiqueta del paquet

La informació relativa a l'estructura dels paquets instal·lats, sobre les distribucions GNU / Linux que utilitzen el format .rpm, s'emmagatzema en fitxers amb format db4 emmagatzemat a la carpeta / var / lib / rpm

Cada paquet RPM porta una etiqueta de paquet (també anomenada capçalera ), no necessàriament idèntica al nom del fitxer, que conté les seccions d'informació següents:

  • El nom del programari
  • La versió del programari (la versió extreta de l'original "upstream" de la font del programari)
  • El número de llançament del paquet (el nombre de vegades que s'ha reconstruït el paquet amb la mateixa versió de programari) aquest camp s'utilitza sovint per indicar la distribució específica per a la qual està destinat el paquet, per exemple, afegint " cadenes " com "mdv" (anteriorment, "mdk") per a Mandriva Linux ; "fc4" per a Fedora Core 4; "rhl9" per a Red Hat Linux 9; "suse100" per a SuSE Linux 10.0, etc.
  • L'arquitectura del processador per a la qual es va compilar el paquet (i386, i686, atleton, ppc, etc.)
  • La llista de biblioteques que ha de funcionar el programa
  • Els programes amb els quals entra en conflicte.

Els noms de fitxers RPM solen tenir el format següent:

 <nom> - <versió> - <alliberament>. <arch> .rpm

Per exemple:

nano-0.98-2.i386.rpm

Dins del paquet hi ha una etiqueta de paquet . És possible trobar RPM que continguin codi font , les etiquetes dels quals no tinguin una part dedicada a l'arquitectura, que se substitueix per la frase "src".

Per exemple:

libgnomeuimm2.0-2.0.0-3.src.rpm

Un programari es pot distribuir en diversos paquets separats: per exemple, un conté el codi precompilat, l'altre els fitxers necessaris per al desenvolupament, com ara capçaleres, i altres fitxers especials per a la documentació. Els paquets que només són útils per al desenvolupament tenen el postfix "-devel" concatenat al seu nom, mentre que els que contenen la documentació sobre el paquet solen tenir el postfix "-doc".

Els RPM amb l'extensió noarch.rpm contenen dades que no depenen de l'arquitectura d'un equip concret. Aquests fitxers solen incloure gràfics o fitxers de text per ser utilitzats per un altre programa o script.

Avantatges i inconvenients

Beneficis

Els avantatges més citats d’utilitzar paquets RPM d’altres maneres (com ara paquets binaris comprimits amb tar, amb gunzip o amb bunzip) per descarregar i instal·lar el programari són:

  • Un mètode uniforme per instal·lar paquets i fer-ne un seguiment, inclosos els fitxers que un paquet difon al sistema.
  • Simplicitat per desinstal·lar programes, fins i tot per a usuaris sense experiència.
  • Popularitat: hi ha milers de paquets disponibles, tot i que sovint cal recompilar-los per treballar en altres distribucions.
  • Instal·lació no interactiva: facilita la instal·lació automàtica.
  • La inclusió de l’arxiu original (per exemple, * .tar.gz, * .tar.bz2) facilita la verificació del seu CRC .
  • Verificació criptogràfica amb GNU Privacy Guard (GPG) i md5 .
  • Els paquets Delta RPM , que són l'equivalent a RPM d'un simple fitxer " patch ", es combinen per si sols amb els RPM instal·lats per realitzar actualitzacions de programari instal·lades mitjançant RPM. Aquesta és una manera molt més còmoda d’actualitzar el programari instal·lat mitjançant RPM, ja que DeltaRPM no necessita el paquet original per actualitzar.
  • Gestió de dependències: no es pot instal·lar un paquet si no hi són necessaris per al seu funcionament i no es pot desinstal·lar si és necessari per al funcionament d'altres.
  • Les dependències comprovades es troben en fitxers individuals, cosa que facilita l’ús de paquets de tercers.

Desavantatges

Els desavantatges que se solen citar inclouen:

  • Sovint tenen canvis en el format del paquet que els fan incompatibles retroactivament.
  • Sovint tenen documentació incompleta i obsoleta.
  • La comprensió per part dels usuaris dels aspectes del " packaging " sol tenir una corba d'aprenentatge pronunciada.
  • No es poden desempaquetar amb programes normals, com és el cas dels paquets " deb " i " tgz ", ja que el fitxer font " tarball rpm " inclou un script shell - rpm2cpio.sh - que extreu la part d'arxiu cpio del " rpm " "utilitzant les eines Unix od, expr, dd i gunzip [1] .
  • Enumereu els problemes de dependència esmentant-los com a " dependències per fitxer " i no com a dependències del paquet que conté aquests fitxers.

El sistema RPM ha estat criticat per la seva falta de coherència en el nom de paquets i en ressaltar el contingut, cosa que pot dificultar la gestió de les dependències automàtiques. Aquest no és un problema arrelat en la naturalesa del format RPM en si, sinó més aviat una greu manca de coordinació en nomenclatura, habitual entre les principals distribucions de Linux que utilitzen paquets RPM, com Red Hat Linux, SUSE i Mandriva Linux. El problema es va resoldre desenvolupant programes, com ara Yum a Red Hat Linux, apt-rpm , YaST a SuSE, urpmi a Mandriva Linux, que permeten resoldre l’anomenat infern de dependències a Linux .

Creació dels paquets RPM

La "recepta" per crear un paquet RPM és un fitxer " spec ". Els fitxers d'especificacions acaben amb l'extensió ".spec" i contenen el nom del paquet, la versió, el número de revisió de RPM, la referència a un o més fitxers font i els passos per construir el paquet. Un paquet font RPM (anomenat SRPM) normalment conté un fitxer comprimit a tar.gzip amb les fonts del programa i un fitxer .spec .

Si heu de fer canvis als fitxers font, és preferible no operar directament al fitxer font modificat, sinó només fer canvis a l’original mitjançant fitxers adequats que descriuen els canvis i que faran servir el pegat. programa quan es construeix el paquet.

Es poden construir molts paquets (orientats a diferents sistemes operatius i processadors) a partir d’un únic fitxer d’especificacions RPM, si es vol. Els paquets RPM es creen a partir de fitxers d'especificacions RPM, mitjançant l'ordre " rpmbuild ". És preferible que la fase de creació de paquets RPM la realitzi un usuari sense privilegis (per tant, no root ), ja que els errors del fitxer " spec " poden, si " rpmbuild " s'executa com a root, danyar el sistema operatiu que utilitzeu.

Distribucions GNU / Linux mitjançant RPM

Icona de la lupa mgx2.svg El mateix tema en detall: distribució GNU / Linux .

Diverses distribucions GNU / Linux admeten RPM. Aquests inclouen (entre d'altres):

Programes de gestió de paquets RPM

Hi ha diversos programes de gestió de paquets RPM, que troben dependències entre paquets enllaçats, resolen dependències i actualitzen automàticament programes.

Els més coneguts són:

Les versions modernes de SuSE i OpenSUSE utilitzen Zypper , un gestor de paquets de línia d’ordres i un fons d’escriptori gràfic, Una altra eina de configuració (YaST).

Nota

  1. ^ Re: [rhn-users] Bootstrapping RPM: com?
  2. ^ Mageia .

Bibliografia

Articles relacionats

Enllaços externs