4.4.6. Actualizaciones al gestor de paquetes RPM
Red Hat Enterprise Linux 7 proporciona una versión actualizada del gestor de paquetes RPM. Esta actualización incluye una serie de cambios a la conducta que pueden afectar la migración.
- La detección de conflcto ahora es más estricta y correcta. Es posible que algunos paquetes que han instalado en Red Hat Enterprise Linux 6 no puedan instalarse en Red Hat Enterprise Linux 7 debido a esta alta sensibilidad de conflicto.
- El paquete que está en conflicto con otra de sus versiones, ahora puede instalarse, lo cual permite a los usuarios crear la conducta Singleton entre alternativas.
- Si un paquete instalado lista otro paquete como obsoleto, el segundo paquete no será instalado.
- Las reglas obsoletas ahora incluyen todos los paquetes coincidentes independiente de otros atributos como por ejemplo, arquitecturas.
- Los cálculos de dependencia ya no tienen en cuenta los archivos que han sido remplazados o no han sido instalados, debido a las opciones que se utilizaban. Por ejemplo, con las opciones
--nodocs
,--noconfig
, o--force
, como se estipulaba antes. - Ya no es necesario ejecutar
rm -f /var/lib/rpm/__db.
al reconstruir una base de datos de administración de paquetes RPM en pánico (DB_RUNRECOVER
). - Las llaves públicas creadas on OpenPGP ya no tienen soporte.
- La opción
--info
ahora entrega pares de valores individuales por línea para mejorar la legibilidad humana. Los scripts que dependen del formato--info
deben reescribirse. - El analizador de especificaciones ahora es más estricto y más correcto, por lo tanto algunos archivos de especificaciones aceptados pueden fallar en la lectura, o enviar advertencias
%license
ahora pueden utilizarse para identificar archivos en la sección%files
del archivo de especificaciones como licencias que deben ser instalados incluso cuando se especifica--nodocs
.- La comparación de versión ahora soporta el operador dpkg-style tilde (
~
) para manejar mejor el software de prelanzamiento. Por ejemplo,foo-2.0~beta1
se considera anterior afoo-2.0
, si retiramos la necesidad de trucos con el campo de lanzamiento para manejar estas prácticas de versión en la corriente principal de desarrollo. - El generador de dependencia automática ha sido rescrito en un sistema basado en reglas extensibles y personalizables en un filtro.
Esta actualización también incluye las siguientes mejoras:
- Ahora es posible solicitar archivos instalados de un paquete (
INSTFILENAMES
), la cantidad de enlaces duros para un archivo (FILENLINKS
), la información del sistema de control de versión del paquete (VCS
), y los atajos formateados de cadenas (PROVIDENEVRS
,REQUIRENEVRS
,CONFLICTNEVRS
,OBSOLETENEVRS
). - Se provee una serie de nuevos comandos, incluidos:
rpmkeys
rpmdb
rpmspec
rpmsign
- El gestor de paquetes RPM ahora incluye un nuevos interruptores para que los scriptlets permitan la expansión del tiempo de ejecución o la expansión de queryformat de tiempo de ejecución.
- Las dependencias scriptlet de postransacción ahora pueden expresarse correctamente con
Requires(pretrans)
yRequires(posttrans)
. - El gestor de paquetes RPM ahora incluye la etiqueta
OrderWithRequires
para permitir a los usuarios suplir información de ordenamiento adicional. Esta nueva etiqueta usa la misma sintaxis que la etiqueta 'Requires', pero no genera dependencias. Si los paquetes mencionados están presentes en la misma transacción, los consejos de ordenamiento se consideran comoRequires
al calcular el orden de transacción. - La continuación y macroexpansión en archivos de especificaciones ya no están limitados a una longitud específica.
- El gestor de paquetes RPM ahora permite a los usuarios especificar la información del repositorio de control de versión de la corriente de desarrollo principal.
- El gestor de paquetes RPM ahora incluye un macro
%autosetup
para asistir en automatizar el proceso de la aplicación de parches.