Gestor de paquets RPM
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
Diverses distribucions GNU / Linux admeten RPM. Aquests inclouen (entre d'altres):
- Fedora Core (a partir de la versió 7, simplement Fedora )
- Mandriva Linux
- Openmamba
- OpenSUSE
- PCLinuxOS
- PS2 Linux
- Red Flag Linux
- Red Hat Linux i derivats:
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:
- Una altra eina de configuració (YaST) utilitzada a les distribucions SuSE i OpenSUSE Linux
- apt-rpm, una versió modificada de apt, per gestionar fitxers .rpm
- urpmi utilitzat a Mandriva Linux
- Actualitzador de gossos grocs, modificat (yum) utilitzat per Yellow Dog Linux i Fedora.
- Yum Extender també conegut com YumEX: una interfície gràfica per al programa yum
- Smart Package Manager , un altre gestor de paquets de línia d’ordres, disponible per a moltes distribucions.
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
- ^ Re: [rhn-users] Bootstrapping RPM: com?
- ^ Mageia .
Bibliografia
- Eric Foster-Johnson, Guia RPM de Red Hat , 2003, ISBN 0-7645-4965-0 .
Articles relacionats
- Compilador
- Addicció (TI)
- Distribució GNU / Linux
- Paquet (programari)
- barret vermell
- Red Hat Linux
- Sistema de gestió de paquets
Enllaços externs
- ( EN ) Red Hat RPM Guide del projecte Fedora.
- (EN) Fox, Pennington, Red Hat 2003: Guia del desenvolupador del projecte Fedora: Capítol 4. Creació de paquets RPM
- ( EN )Pàgina inicial delgestor de paquets RPM , a rpm.org .
- ( EN ) Informació detallada sobre el format de fitxer RPM a rpm.org . Consultat el 8 de desembre de 2006 (arxivat de l' original el 5 de juliol de 2008) .
- ( EN ) RPM Find Net: (per trobar paquets) , a rpmfind.net .
- ( EN ) RPM Building com a usuari , a hut.fi. Consultat el 8 de desembre de 2006 (arxivat de l' original el 12 de març de 2005) .
- ( EN ) Bailey, Ed 2000 : RPM màxim , una referència de rpm obsoleta però popular
- ( EN ) Convenis del paquet SUSE [ enllaç trencat ] , a developer.novell.com .
- ( EN ) Lloc web de Packman a Àustria, on es poden trobar els paquets RPM per a Open SuSE 10.0 , a packman.inode.at .
- ( EN ) Package File Format: Linux Standards Base , a linuxbase.org .
- ( EN ) Qui manté RPM? - Tracta el problema del manteniment actual de RPM.