
Necesito usar NSCD, el demonio de almacenamiento en caché del servicio de nombres, para disminuir la carga en nuestro servidor LDAP, en mis sistemas SLES10. En mi experiencia, el nscd predeterminado, suministrado como parte de GNU LibC, es basura y se estropeará terriblemente cada pocas horas. Como resultado, es obligatorio utilizar un reemplazo, como unscd o gnscd.
No hay paquetes para ninguno de estos en SLES10, por lo que es necesario compilar un paquete. Sin embargo, hay un problema con AppArmor: en SLE10, cada aplicación tenía su perfil de AppArmor fusionado en un gran paquete "apparmor-profiles", en lugar de permitir que cada paquete proporcione su propio perfil, y unscd/gnscd no funciona con los perfiles en apparmor-profiles.
Al crear un paquete Debian, es posible especificar una relación llamada Reemplaza:, que dice "Sé que incluyo el mismo archivo que este otro paquete, pero puedo sobrescribir su archivo siempre que su versión coincida con esta verificación". Como resultado, podría decir algo como "Reemplaza: apparmor-profiles (<= 2.0.1-20.20.16)" en mi archivo de especificaciones, y podría reemplazar limpiamente cualquier archivo del paquete apparmor-profiles.
¿Cómo haría lo mismo con RPM, salvo recompilar mi propio paquete apparmor-profiles con el archivo eliminado o forzar el paquete a través del comando rpm (lo que generará problemas en el futuro)?
Respuesta1
No creo que RPM tenga una función analógica. RPM tiene características "Obsoletas", pero eso es para reemplazar un paquete con otro paquete con un nombre diferente. Puede tener varios RPM propios de un solo objeto, pero eso se usa principalmente para directorios, como /etc/bash_completion.d, dependiendo de la distribución que use: todos tienen pautas de empaquetado ligeramente diferentes.