Eu preciso usar o NSCD, o Daemon de armazenamento em cache do serviço de nomes, para diminuir a carga em nosso servidor LDAP, em meus sistemas SLES10. Na minha experiência, o nscd padrão, fornecido como parte do GNU LibC, é lixo, e vai quebrar horrivelmente a cada poucas horas. Como resultado, o uso de um substituto, como unscd ou gnscd, é obrigatório.
Não há pacotes para nenhum deles no SLES10, então é necessário compilar um pacote. No entanto, há um problema com o AppArmor - no SLE10, cada aplicativo teve seu perfil do AppArmor mesclado em um grande pacote "apparmor-profiles", em vez de permitir que cada pacote forneça seu próprio perfil - e unscd / gnscd não funciona os perfis em apparmor-profiles.
Ao criar um pacote Debian, é possível especificar um relacionamento chamado Replaces :, que diz "Eu sei que incluo o mesmo arquivo que este outro pacote, mas posso sobrescrever o arquivo desde que a versão corresponda a essa verificação". Como resultado, eu poderia dizer algo como "Substitui: apparmor-profiles (< = 2.0.1-20.20.16)" no meu arquivo de especificação, e eu poderia substituir qualquer arquivo do pacote apparmor-profiles.
Como eu faria o mesmo com o RPM, em vez de recompilar meu próprio pacote apparmor-profiles com o arquivo removido ou forçar o pacote através do comando rpm (que está pedindo problemas no futuro)?