rpm(8) – Linux man page

Name

rpm – RPM Package Manager

Synopsis

Querying and Verifying Packages:

rpm {-q|–query}

rpm {-V|–verificar}

rpm –import PUBKEY …

rpm {-K|–checksig} PACKAGE_FILE …

Instalación, actualización y eliminación de paquetes:

rpm {-i|–install} ARCHIVO_DE_PAQUETES …

rpm {-U|–upgrade} PACKAGE_FILE …

rpm {-F|–freshen} PACKAGE_FILE …

rpm {-e|–erase} PACKAGE_NAME …

Varios:

rpm {–initdb|–rebuilddb}

rpm {–addsign|–resign} PACKAGE_FILE…

rpm {–querytags|–showrc}

rpm {–setperms|–setugids} PACKAGE_NAME …

select-options

{-p,–paquete_archivo_de_paquete]

consultar-opciones

verificar-opciones

instalar-opciones

Descripción

rpm es un potente gestor de paquetes, que puede utilizarse para construir, instalar, consultar, verificar, actualizar y borrar paquetes de software individuales. Un paquete consiste en un archivo de ficheros y metadatos utilizados para instalar y borrar los ficheros del archivo. Los metadatos incluyen scripts de ayuda, atributos de los archivos e información descriptiva sobre el paquete. Los paquetes vienen en dos variedades: paquetes binarios, utilizados para encapsular el software que se va a instalar, y paquetes fuente, que contienen el código fuente y la receta necesaria para producir paquetes binarios.

Debe seleccionarse uno de los siguientes modos básicos: Query, Verify, Signature Check, Install/Upgrade/Freshen, Uninstall,Initialize Database, Rebuild Database, Resign, Add Signature, Set Owners/Groups, Show Querytags, and ShowConfiguration.

Opciones generales

Estas opciones se pueden utilizar en todos los diferentes modos.

-?, –help Imprime un mensaje de uso más largo de lo normal. –version Imprime una sola línea con el número de versión del rpm que se está utilizando. –quiet Imprime lo menos posible – normalmente sólo se mostrarán los mensajes de error. -v Imprime información detallada – normalmente se mostrarán mensajes de progreso rutinarios. -vv Imprime mucha información fea de depuración. –rcfile FILELIST Cada uno de los archivos en la FILELIST separada por dos puntos es leída secuencialmente por rpm para obtener información de configuración. Sólo el primer archivo de la lista debe existir, y las tildes se expandirán al valor de $HOME. La FILELIST por defecto es/usr/lib/rpm/rpmrc:/usr/lib/rpm/redhat/rpmrc:/etc/rpmrc:~/.rpmrc. –pipe CMD Canaliza la salida de rpm al comando CMD. –dbpath DIRECTORY Utiliza la base de datos en DIRECTORY en lugar de la ruta predeterminada /var/lib/rpm –root DIRECTORY Utiliza el árbol del sistema de archivos enraizado en DIRECTORY para todas las operaciones. Tenga en cuenta que esto significa que la base de datos dentro de DIRECTORY se utilizará para la comprobación de dependencias y cualquier script (por ejemplo, %post si se instala, o %prep si se construye, un paquete) se ejecutará después de un chroot(2) aDIRECTORY. -D, –define=’MACRO EXPR’ Define la MACRO con el valor EXPR. -E, –eval=’EXPR’ Imprime la expansión de la macro de EXPR.

Opciones de instalación y actualización

En estas opciones, ARCHIVO_PAQUE puede ser un archivo binario rpm o un manifiesto de paquete ASCII (ver OPCIONES DE SELECCIÓN DE PAQUETE), y puede ser especificado como una URL ftp o http, en cuyo caso el paquete será descargado antes de ser instalado. Vea OPCIONES FTP/HTTP para información sobre el soporte de clientes ftp y http internos de rpm.

La forma general de un comando rpm install es

rpm {-i|–install} ARCHIVO_PAQUE…

Esto instala un nuevo paquete.

La forma general de un comando rpm upgrade es

rpm {-U|–upgrade} ARCHIVO_DE_PAQUE …

Esto actualiza o instala el paquete actualmente instalado a una versión más nueva. Esto es lo mismo que instalar, excepto que todas las demás versiones del paquete se eliminan después de instalar el nuevo paquete.

rpm {-F|–freshen} ARCHIVO_DE_PAQUETES …

Esto actualizará los paquetes, pero sólo aquellos para los que se haya instalado una versión anterior.

–aid Añade paquetes sugeridos al conjunto de transacciones cuando sea necesario. –allfiles Instala o actualiza todos los archivos que faltan en el paquete, sin importar si existen. –badreloc Usado con –relocate, permite reubicaciones en todas las rutas de archivos, no sólo en aquellas OLDPATH’s incluidas en la(s) pista(s) de reubicación del paquete binario. –excludepath OLDPATH No instalar archivos cuyo nombre comience por OLDPATH. –excludedocs No instala ningún fichero que esté marcado como documentación (lo que incluye páginas man y documentos texinfo). –force Igual que el uso de –replacepkgs, –replacefiles y –oldpackage. -h, –hash Imprime 50 marcas hash a medida que se desempaqueta el archivo del paquete. Utilícelo con -v|–verbose para una mejor visualización. –ignoresize No comprueba que los sistemas de archivos de montaje tengan suficiente espacio en disco antes de instalar este paquete. –ignorearch Permitir la instalación o actualización incluso si las arquitecturas del paquete binario y del host no coinciden. –ignoreos Permitir la instalación o actualización incluso si los sistemas operativos del paquete binario y del host no coinciden. –includedocs Instalar los archivos de documentación. Este es el comportamiento por defecto. –justdb Actualizar sólo la base de datos, no el sistema de archivos. –nodigest No verificar los compendios de paquetes o cabeceras al leer. –nomanifest No procesar archivos que no sean paquetes como manifiestos. –nosignature No verifica las firmas de paquetes o cabeceras al leer. –nodeps No hacer una comprobación de dependencias antes de instalar o actualizar un paquete. –nosuggest No sugiere paquetes que proporcionan una dependencia que falta. –noorder No reordena los paquetes para una instalación. La lista de paquetes normalmente se reordena para satisfacer las dependencias. –noscripts –nopre –nopost –nopreun–nopostun No ejecuta el scriptlet del mismo nombre. La opción –noscripts es equivalente a

–nopre –nopost –nopreun

nopostun

y desactiva la ejecución de los scriptlet(s) %pre, %post, %preun y %postun correspondientes.

–notriggers –notriggerin –notriggerun–notriggerpostun No ejecuta ningún scriptlet de disparo del tipo nombrado. La opción –notriggers

equivale a

–notriggerin –notriggerun –notriggerpostun

y desactiva la ejecución de los scriptlet(s) %triggerin, %triggerun y %triggerpostun correspondientes.

–oldpackage Permitir que una actualización reemplace un paquete más nuevo por uno más antiguo. –percent Imprime los porcentajes a medida que los archivos son desempaquetados desde el archivo del paquete. Esto está pensado para facilitar la ejecución de rpm desde otras herramientas. –prefix NEWPATH Para paquetes binarios reubicables, traduce todas las rutas de archivos que comienzan con el prefijo de instalación en la(s) pista(s) de reubicación del paquete a NEWPATH. –relocate OLDPATH=NEWPATH Para paquetes binarios reubicables, traduce todas las rutas de archivos que comienzan con OLDPATH en la(s) pista(s) de reubicación del paquete a NEWPATH. Esta opción puede usarse repetidamente si hay que reubicar varios OLDPATH en el paquete. –replacefiles Instala los paquetes incluso si reemplazan archivos de otros paquetes ya instalados. –replacepkgs Instala los paquetes incluso si algunos de ellos ya están instalados en este sistema. –test No instala el paquete, simplemente comprueba y reporta posibles conflictos.

Opciones de borrado

La forma general de un comando rpm erase es

rpm {-e|–erase} PACKAGE_NAME…

También se pueden utilizar las siguientes opciones:

–allmatches Eliminar todas las versiones del paquete que coincidan con PACKAGE_NAME. Normalmente se emite un error si NOMBRE_PAQUE coincide con varios paquetes. –nodeps No comprueba las dependencias antes de desinstalar los paquetes. –noscripts –nopreun–nopostun No ejecuta el scriptlet del mismo nombre. La opción –noscripts durante el borrado de paquetes es equivalente a

–nopreun –nopostun

y desactiva la ejecución de los scriptlet(s) %preun, y %postun correspondientes.

–notriggers –notriggerun–notriggerpostun No ejecuta ningún scriptlet de disparo del tipo nombrado. La opción –notriggers

equivale a

–notriggerun –notriggerpostun

y desactiva la ejecución de los scriptlet(s) %triggerun, y %triggerpostun correspondientes.

–test En realidad no desinstala nada, sólo lo hace. Útil junto con la opción -vv para la depuración.

Opciones de consulta

La forma general de un comando de consulta rpm es

rpm {-q|–query}

Puede especificar el formato en el que se debe imprimir la información de los paquetes. Para ello, utilice la opción

–qf|–queryformat QUERYFMT

, seguida de la cadena de formato QUERYFMT. Los formatos de consulta son versiones modificadas del formato estándar printf(3). El formato se compone de cadenas estáticas (que pueden incluir escapes de caracteres C estándar para nuevas líneas, tabulaciones y otros caracteres especiales) y formatos de tipo printf(3). Como rpm ya conoce el tipo a imprimir, el especificador de tipo debe omitirse, sin embargo, y sustituirse por el nombre de la etiqueta de cabecera a imprimir, encerrado entre caracteres {}. Los nombres de las etiquetas no distinguen entre mayúsculas y minúsculas, y la parte inicial RPMTAG_ del nombre de la etiqueta también puede omitirse.

Se pueden solicitar formatos de salida alternativos siguiendo la etiqueta con :typetag. Actualmente, se soportan los siguientes tipos:

:armor Envuelve una clave pública en una armadura ASCII. :arraysize Muestra el número de elementos en etiquetas de matrices. :base64 Codifica datos binarios usando base64. :date Usa el formato strftime(3) «%c». :day Usa el formato strftime(3) «%a %b %d %Y». :depflags Formatea el operador de comparación de dependencias. :deptype Formatea el tipo de dependencia. :fflags Formatear banderas de archivo. :fstate Formatear estado de archivo. :hex Formatear en hexadecimal. :octal Formatear en octal. :perms Formatear permisos de archivo. :pgpsig Mostrar huella digital y hora de la firma. :shescape Escapar las comillas simples para su uso en un script. :triggertype Mostrar sufijo de activación. :vflags Banderas de verificación de archivo. :xml Envolver los datos en marcado xml simple.

Por ejemplo, para imprimir sólo los nombres de los paquetes consultados, podría utilizar %{NAME} como cadena de formato. Para imprimir el nombre de los paquetes y la información de la distribución en dos columnas, podría usar %-30{NAME}%{DISTRIBUTION}. rpm imprimirá una lista de todas las etiquetas que conoce cuando es invocado con el argumento –querytags.

Hay dos subconjuntos de opciones para consultar: selección de paquetes, y selección de información.

Opciones de selección de paquetes:

PACKAGE_NAME Consultar el paquete instalado llamado PACKAGE_NAME. -a, –all Consultar todos los paquetes instalados. -f, –file FILE Consulta el paquete que posee FILE. –fileid ID Consulta el paquete que contiene un identificador de archivo determinado. El ID es el resumen del contenido del archivo. Para diferentes paquetes se pueden utilizar diferentes algoritmos hash (MD5, SHA1, SHA256, SHA384, SHA512, …) -g, –group GROUP Consulta los paquetes con el grupo GROUP. –hdrid SHA1 Consulta el paquete que contiene un identificador de cabecera determinado, es decir, el compendio SHA1 de la región de cabecera inmutable. -p, –package ARCHIVO_PAQUETE Consulta un paquete (desinstalado) ARCHIVO_PAQUETE. El ARCHIVO_PAQUE puede especificarse como una URL de estilo ftp o http, en cuyo caso se descargará y consultará la cabecera del paquete. Vea OPCIONES FTP/HTTP para información sobre el soporte interno de ftp y http de rpm. El argumento PACKAGE_FILE(s), si no es un paquete binario, será interpretado como un manifiesto de paquete ASCII a menos que se use la opción –nomanifestoption. En los manifiestos se permiten los comentarios, que comienzan con «#», y cada línea de un archivo de manifiesto de paquete puede incluir expresiones de globo separadas por espacios en blanco, incluidas las URL, que se expandirán a rutas que se sustituirán en lugar del manifiesto de paquete como argumentos PACKAGE_FILE adicionales para la consulta. –pkgid MD5 Consulta del paquete que contiene un identificador de paquete determinado, es decir, el compendio MD5 del contenido combinado de la cabecera y la carga útil. –querybynumber HDRNUM Consulta la entrada de la base de datos HDRNUMth directamente; esto es útil sólo para la depuración. –specfile SPECFILE Analiza y consulta SPECFILE como si fuera un paquete. Aunque no toda la información (por ejemplo, las listas de archivos) está disponible, este tipo de consulta permite utilizar rpm para extraer información de los archivos de especificaciones sin tener que escribir un analizador de archivos de especificaciones. –tid TID Consulta los paquetes que tienen un identificador de transacción TID dado. Un sello de tiempo de Unix se usa actualmente como identificador de transacción. Todos los paquetes instalados o borrados dentro de una misma transacción tienen un identificador común. –triggeredby PACKAGE_NAME Consulta los paquetes que son activados por el paquete(s) PACKAGE_NAME. –whatprovides CAPABILITY Consulta todos los paquetes que proporcionan la capacidad CAPABILITY. –whwhatrequires CAPABILITY Consulta todos los paquetes que requieren CAPABILITY para su correcto funcionamiento.

Opciones de consulta de paquetes:

–changelog Muestra la información de cambios del paquete. -c, –configfiles Listar sólo los archivos de configuración (implica -l). -d, –docfiles Muestra sólo los archivos de documentación (implica -l). –dump Vuelca la información de los archivos de la siguiente manera (implica -l):

path size mtime digest mode owner group isconfig isdoc rdev symlink 

–filesbypkg Muestra todos los archivos de cada paquete seleccionado. -i, –info Muestra la información del paquete, incluyendo el nombre, la versión y la descripción. Utiliza el formato de consulta –queryformat si se ha especificado uno. –last Ordena el listado de paquetes por tiempo de instalación de forma que los últimos paquetes estén al principio. -l, –list Lista los archivos del paquete. –provides Enumera las capacidades que proporciona este paquete. -R, –requires Enumera las capacidades de las que depende este paquete. –scripts Lista los scripts específicos del paquete que se utilizan como parte de los procesos de instalación y desinstalación. -s, –state Muestra los estados de los archivos del paquete (implica -l). El estado de cada archivo es uno de los siguientes: normal, no instalado o reemplazado. –triggers, –triggerscripts Muestra los scripts de activación, si los hay, que contiene el paquete.

Opciones de verificación

La forma general de un comando rpm verify es

rpm {-V|–verify}

La verificación de un paquete compara la información sobre los archivos instalados en el paquete con la información sobre los archivos tomada de los metadatos del paquete almacenados en la base de datos rpm. Entre otras cosas, la verificación compara el tamaño, el compendio, los permisos, el tipo, el propietario y el grupo de cada archivo. Los archivos que no fueron instalados desde el paquete, por ejemplo, los archivos de documentación excluidos en la instalación usando la opción «–excludedocs», serán ignorados. Otras opciones exclusivas del modo de verificación son:

–nodeps No verificar las dependencias de los paquetes. –nodigest No verifica los compendios de paquetes o cabeceras al leer. –nofiles No verifica ningún atributo de los archivos de los paquetes. –noscripts No ejecuta el scriptlet %verifyscript (si lo hay). –nosignature No verifica las firmas de paquetes o cabeceras al leer. –nolinkto –nofiledigest (antes –nomd5) –nosize –nouser –nogroup –nomtime –nomode–nordev No verifica el atributo de archivo correspondiente.

El formato de la salida es una cadena de 8 caracteres, un posible marcador de atributo:

c %config configuration file.d %doc documentation file.g %ghost file (i.e. the file contents are not included in the package payload).l %license license file.r %readme readme file.

de la cabecera del paquete, seguido del nombre del archivo. Cada uno de los 8 caracteres denota el resultado de una comparación de atributo(s) del archivo con el valor de dicho(s) atributo(s) registrado(s) en la base de datos. Un solo «.» (punto) significa que la prueba se ha superado, mientras que un solo «?» (signo de interrogación) indica que la prueba no se ha podido realizar (por ejemplo, los permisos del archivo impiden la lectura). De lo contrario, el carácter (mnemotécnicamente emBoldado) denota el fracaso de la prueba de verificación correspondiente:

S file Size differsM Mode differs (includes permissions and file type)5 digest (formerly MD5 sum) differsD Device major/minor number mismatchL readlink(2) path mismatchU User ownership differsG Group ownership differsT mTime differsP caPabilities differ

Verificación de firma digital y digest

Las formas generales de los comandos de firma digital de rpm son

rpm –import PUBKEY …

rpm {–checksig} ARCHIVO_PAQUETE …

La opción –checksig comprueba todos los compendios y firmas contenidos en ARCHIVO_PAQUETE para asegurar la integridad y el origen del paquete. Tenga en cuenta que las firmas se verifican ahora cada vez que se lee un paquete, y –checksig es útil para verificar todos los compendios y firmas asociados a un paquete.

Las firmas digitales no se pueden verificar sin una clave pública. Se puede añadir una clave pública blindada ASCII a la base de datos de rpm utilizando –import. La clave pública importada se lleva en una cabecera, y la gestión del anillo de claves se realiza exactamente como la gestión de paquetes. Por ejemplo, todas las claves públicas actualmente importadas pueden ser mostradas por:

rpm -qa gpg-pubkey*

Los detalles sobre una clave pública específica, cuando es importada, pueden ser mostrados mediante una consulta. Aquí hay información sobre la clave GPG/DSA de Red Hat:

rpm -qi gpg-pubkey-db42a60e

Por último, las claves públicas pueden ser borradas después de la importación al igual que los paquetes. Así es como se elimina la clave GPG/DSA de Red Hat

rpm -e gpg-pubkey-db42a60e

Firmar un paquete

rpm –addsign|–resign ARCHIVO_PAQUETE …

Las opciones –addsign y –resign generan e insertan nuevas firmas para cada paquete ARCHIVO_PAQUETE dado, reemplazando cualquier firma existente. Hay dos opciones por razones históricas, no hay diferencia en el comportamiento actualmente.

Usando Gpg para Firmar Paquetes

Para firmar paquetes usando GPG, rpm debe estar configurado para ejecutar GPG y ser capaz de encontrar un llavero con las claves apropiadas. Por defecto, rpm utiliza las mismas convenciones que GPG para encontrar anillos de claves, concretamente la variable de entorno $GNUPGHOME. Si sus anillos de claves no están localizados donde GPG espera que estén, necesitará configurar la macro %_gpg_path para que sea la localización de los anillos de claves GPG a utilizar.

Para la compatibilidad con versiones antiguas de GPG, PGP, y rpm, sólo deben configurarse paquetes de firmas V3 OpenPGP. Se pueden utilizar los algoritmos de verificación DSA o RSA, pero se prefiere el DSA.

Si quieres poder firmar paquetes creados por ti mismo, también tienes que crear tu propio par de claves públicas y secretas (ver el manual de GPG). También tendrá que configurar las macros rpm

%_signature El tipo de firma. Ahora mismo sólo se soportan gpg y pgp. %_gpg_name El nombre del «usuario» cuya clave desea utilizar para firmar sus paquetes.

Por ejemplo, para poder utilizar GPG para firmar paquetes como el usuario «John Doe <[email protected]>» desde los llaveros ubicados en /etc/rpm/.gpg utilizando el ejecutable /usr/bin/gpg debería incluir

%_signature gpg%_gpg_path /etc/rpm/.gpg%_gpg_name John Doe <[email protected]>%__gpg /usr/bin/gpg

en un fichero de configuración de macros. Utilice /etc/rpm/macros para la configuración por sistema y ~/.rpmmacros para la configuración por usuario. Típicamente es suficiente establecer sólo %_gpg_name.

Opciones de Reconstrucción de Base de Datos

La forma general de un comando rpm de reconstrucción de base de datos es

rpm {–initdb|–rebuilddb}

Use –initdb para crear una nueva base de datos si aún no existe (la base de datos existente no se sobrescribe), use –rebuilddb para reconstruir los índices de la base de datos a partir de las cabeceras de los paquetes instalados.

Comandos Misceláneos

rpm –showrc muestra los valores que rpm utilizará para todas las opciones que están actualmente establecidas en los archivos de configuración rpmrc y macros. rpm –setperms PACKAGE_NAME establece los permisos de los archivos en el paquete dado. rpm –setugids PACKAGE_NAME establece la propiedad del usuario/grupo de los archivos en el paquete dado.

Opciones Ftp/Http

rpm puede actuar como un cliente FTP y/o HTTP para que los paquetes puedan ser consultados o instalados desde Internet. Los archivos de paquetes para las operaciones de instalación, actualización y consulta pueden especificarse como una URL de estilo ftp o http:

ftp://USER:PASSWORD@HOST:PORT/path/to/package.rpm

Si se omite la parte :PASSWORD, se solicitará la contraseña (una vez por par de usuario/nombre de host). Si se omiten tanto el usuario como la contraseña, se utiliza el ftp anónimo. En todos los casos, se realizan transferencias ftp pasivas (PASV).

rpm permite utilizar las siguientes opciones con URLs ftp:

–ftpproxy HOST El host HOST se utilizará como servidor proxy para todas las transferencias ftp, lo que permite a los usuarios hacer ftp a través de máquinas con firewall que utilizan sistemas proxy.Esta opción también puede especificarse configurando la macro %_ftpproxy. –ftpport PORT El número de puerto TCP a utilizar para la conexión ftp en el servidor ftp proxy en lugar del puerto por defecto. Esta opción también puede especificarse configurando la macro %_ftpport.

rpm permite utilizar las siguientes opciones con URLs http:

–httpproxy HOST El host HOST se utilizará como servidor proxy para todas las transferencias http. Esta opción también puede especificarse configurando la macro%_httpproxy. –httpport PORT El número de puerto TCP que se utilizará para la conexión http en el servidor proxy http en lugar del puerto por defecto. Esta opción también puede ser especificada configurando la macro %_httpport.

Cuestiones de Legado

Ejecución de rpmbuild

Los modos de construcción de rpm residen ahora en el ejecutable /usr/bin/rpmbuild. Instale el paquete que contiene rpmbuild (normalmenterpm-build) y vea rpmbuild(8) para la documentación de todos los modos de construcción de rpm.

Archivos

Configuración de rpm

/usr/lib/rpm/rpmrc/usr/lib/rpm/redhat/rpmrc/etc/rpmrc~/.rpmrc

Configuración de macros

/usr/lib/rpm/macros/usr/lib/rpm/redhat/macros/etc/rpm/macros~/.rpmmacros

Base de datos

/var/lib/rpm/Basenames/var/lib/rpm/Conflictname/var/lib/rpm/Dirnames/var/lib/rpm/Filemd5s/var/lib/rpm/Group/var/lib/rpm/Installtid/var/lib/rpm/Name/var/lib/rpm/Packages/var/lib/rpm/Providename/var/lib/rpm/Provideversion/var/lib/rpm/Pubkeys/var/lib/rpm/Removed/var/lib/rpm/Requirename/var/lib/rpm/Requireversion/var/lib/rpm/Sha1header/var/lib/rpm/Sigmd5/var/lib/rpm/Triggername

Temporal

/var/tmp/rpm*

Ver también

popt(3),rpm2cpio(8),rpmbuild(8),

rpm –help – como rpm admite la personalización de las opciones a través de alias popt es imposible garantizar que lo descrito en el manual coincida con lo disponible.

http://www.rpm.org/ <URL:http://www.rpm.org/>

Autores

Marc Ewing <[email protected]>Jeff Johnson <[email protected]>Erik Troan <[email protected]>

Referenciado por

applydeltarpm(8),apt(8),apt.conf(5),autoupdate(8),cmake28(1),cmake28-gui(1),cmake28modules(1),compat_digest.plug(1),cpack28(1),demo.plug(1),demofiles.plug(1),febootstrap(8),file2pacdep.plug(1),nodoc.plug(1),rpm2paco(8),rpm4(3),rpm_selinux(8),rpmcache(8),rpmconf(8),rpmdeps(8),rpmfile(1),rpmpeek(1),rpmreaper(1),rpmrebuild(1),rpmrebuild_plugins(1),set_tag.plug(1),superpaco(8),un_prelink.plug(1),uniq.plug(1),unset_tag.plug(1),yum-versionlock(1)

Deja una respuesta

Tu dirección de correo electrónico no será publicada.