Capítulo 5. Nuevas características de RHEL 8
Esta sección documenta los cambios más notables en el empaquetado RPM entre Red Hat Enterprise Linux 7 y 8.
5.1. Apoyo a las dependencias débiles
5.1.1. Introducción a la política de dependencia débil
Weak dependencies
son variantes de la directiva Requires
. Estas variantes se comparan con los nombres de paquetes y Provides:
virtuales utilizando comparaciones de rango de Epoch-Version-Release
.
Weak dependencies
tiene dos fuerzas (weak
y hint
) y dos direcciones (forward
y backward
), como se resume en la siguiente tabla.
La dirección forward
es análoga a Requires:
. La dirección backward
no tiene ningún análogo en el sistema de dependencia anterior.
Fuerza/Dirección | Adelante | Hacia atrás |
---|---|---|
Débil | Recomienda: | Suplementos: |
Sugerencia | Sugiere: | Mejora: |
Las principales ventajas de la política Weak dependencies
son:
- Permite instalaciones mínimas más pequeñas, manteniendo la característica de la instalación por defecto.
- Los paquetes pueden especificar las preferencias por proveedores específicos, manteniendo la flexibilidad de los proveedores virtuales.
5.1.1.1. Dependencias débiles
Por defecto, Weak dependencies
se trata de forma similar a la regular Requires:
. Los paquetes coincidentes se incluyen en la YUM transacción. Si al añadir el paquete se produce un error YUM por defecto ignora la dependencia. Por lo tanto, los usuarios pueden excluir los paquetes que serían añadidos por Weak dependencies
o eliminarlos posteriormente.
Condiciones de uso
Puede utilizar Weak dependencies
sólo si el paquete sigue funcionando sin la dependencia.
Es aceptable crear paquetes con una funcionalidad muy limitada sin añadir ninguno de sus requisitos débiles.
Casos de uso
Utilice Weak dependencies
especialmente cuando sea posible minimizar la instalación para casos de uso razonables, como la construcción de máquinas virtuales o contenedores que tienen un único propósito y no requieren el conjunto completo de características del paquete.
Los casos típicos de uso de Weak dependencies
son:
Documentación
- Los espectadores de la documentación si se pierden se maneja con gracia
- Ejemplos
Plug-ins o complementos
- Soporte para formatos de archivo
- Apoyo a los protocolos
5.1.1.2. Consejos
Hints
son ignorados por defecto por YUM. Pueden ser utilizados por las herramientas de la GUI para ofrecer paquetes adicionales que no se instalan por defecto pero que pueden ser útiles en combinación con los paquetes instalados.
No utilice Hints
para los requisitos de los principales casos de uso de un paquete. Incluya en su lugar dichos requisitos en strong o Weak dependencies
.
Preferencia de paquetes
YUM utiliza Weak dependencies
y Hints
para decidir qué paquete utilizar si hay que elegir entre varios paquetes igualmente válidos. Se prefieren los paquetes a los que apuntan las dependencias de los paquetes instalados o por instalar.
Tenga en cuenta que las reglas normales de resolución de dependencias no se ven afectadas por esta característica. Por ejemplo, Weak dependencies
no puede obligar a elegir una versión más antigua de un paquete.
Si hay varios proveedores para una dependencia, el paquete solicitante puede añadir un Suggests:
para proporcionar una pista al resolvedor de la dependencia sobre qué opción es la preferida.
Enhances:
sólo se utiliza cuando el paquete principal y otros proveedores están de acuerdo en que añadir la pista al paquete requerido es, por alguna razón, la solución más limpia.
Ejemplo 5.1. Utilizar los consejos para preferir un paquete a otro
Package A: Requires: mysql Package mariadb: Provides: mysql Package community-mysql: Provides: mysql
Si quiere preferir el paquete mariadb
al paquete community-mysql
Sugiere: mariadb al paquete A.
5.1.1.3. Dependencias hacia delante y hacia atrás
Forward dependencies
son, de forma similar a Requires
, evaluados para los paquetes que se están instalando. También se instalan los mejores paquetes que coinciden.
En general, prefiera Forward dependencies
. Añade la dependencia al paquete cuando consigas añadir el otro paquete al sistema.
En el caso de Backward dependencies
, los paquetes que contienen la dependencia se instalan si también se instala un paquete coincidente.
Backward dependencies
está diseñado principalmente para los proveedores de terceros que pueden adjuntar sus plug-ins, complementos o extensiones a la distribución o a otros paquetes de terceros.