RPM es un potente administrador de software que se puede utilizar para crear, instalar, consultar, verificar, actualizar y desinstalar paquetes de software individuales. Un paquete RPM consta de un archivo de archivos e información del paquete, como el nombre, la versión, una descripción e información sobre las dependencias de otros paquetes RPM.
Esquema de nombres RPM
Cada paquete RPM está contenido en un solo archivo. El nombre del archivo tiene varios campos para identificar completamente el contenido del paquete. Si bien las herramientas RPM en sí mismas no se basan en el nombre del archivo en sí, debe comprender la convención del nombre del archivo para ayudarlo a identificar o descargar el paquete adecuado.
Aquí hay un nombre de archivo RPM de ejemplo:
bash-3.1-16.1.x86_64.rpm
Este RPM es para el shell BASH (“/bin/bash”). El nombre del archivo se compone de varias partes:
[name]-[version]-[release].[arch].rpm
donde:
- [nombre] es el nombre del programa o paquete. El [nombre] generalmente lo asigna el autor del programa. En nuestro ejemplo, los desarrolladores decidieron nombrar su producto "bash" por razones que les parecieron divertidas.
- [versión] identifica qué edición del software contiene este RPM. El número de [versión] es asignado por el autor del programa. El uso del número de [versión] permite determinar qué versión de las fuentes del autor se utilizaron para generar el RPM.
- [lanzamiento] proporciona el número de edición del propio archivo RPM y no la versión de los archivos fuente del autor. Se puede emitir un RPM actualizado para proporcionar una versión parcheada del software original del autor. No es necesario que el parche provenga del desarrollador original, por lo que la [versión] de RPM se incrementa en lugar de la [versión].
- [arco] describe el contenido del RPM e indica si este archivo contiene la fuente del producto (un ".src.rpm"), archivos independientes de la arquitectura (un ".noarch.rpm") o archivos que solo se pueden instalar en un host en particular (un ".sh.rpm" funcionará solo en un procesador integrado STRONGHOLD).
Comprender las versiones de RPM
Los campos RPM [versión] y [lanzamiento] no siempre son estrictamente numéricos y pueden contener otros caracteres además de los dígitos ordinarios. Es común ver una versión "10" y una versión "10a" del mismo paquete. A veces, elegir la versión más reciente puede ser complicado. Así es como RPM compara los números de versión y lanzamiento internamente:
1. Elimine el prefijo [nombre] y el sufijo “.[arch].rpm”. Por ejemplo, “bash-3.1-16.1.x86_64.rpm ” se convierte en “3.1-16.1 ” y “bash-3.1-16.5a.1.x86_64.rpm ” se convierte en “3.1-16.5a.1 ”
2. Compare las cadenas restantes carácter por carácter, de izquierda a derecha hasta que encuentre un dígito. Si los caracteres difieren, el carácter que aparezca más tarde en la secuencia de clasificación es el RPM más reciente.
3. Cuando encuentre un dígito, convierta toda la secuencia de dígitos en un solo número binario. En nuestro ejemplo, los dos caracteres "16" se combinan en un valor de dieciséis (16). Los valores binarios resultantes se comparan y el valor mayor es el RPM más reciente. Por lo tanto, un RPM con una [versión] de "0010" es más reciente que uno con una [versión] de "9".
4. Los pasos 2 y 3 se repiten según sea necesario hasta que se produzca una diferencia.