¿Existe alguna solución genérica para usar una sola biblioteca NSS dos (o más) veces?
En mi caso, tengo dos servidores LDAP, uno local en la máquina y otro remoto. Necesito hacer que NSS funcione con ambos (usa el remoto si local no tiene entradas requeridas).
Actualmente se resolvió de modo que la biblioteca única ( PADL / nss_ldap ) se compila dos veces. En ambos casos, antes de construir sed
se usa para cambiar todas las nss_ldap
ocurrencias en las fuentes a otra cosa. Para cada caso se usa un texto diferente (como nss_ldap_1
y nss_ldap_2
). El resultado de la compilación se renombra en consecuencia. Ambos binarios se almacenan en el sistema de destino y se hace referencia a ellos /etc/nsswitch.conf
.
Además, ambas bibliotecas usan diferentes archivos de configuración /etc/
(de lo contrario, ¡no tendría sentido!). Sin embargo, esto se hace fácilmente simplemente cambiando el argumento en el configure
script de la biblioteca ejecutada antes de construir.
Pero no "se siente bien". ¿Hay algún otro enfoque?
Lo que podría imaginar es que la propia biblioteca NSS podría admitir múltiples configuraciones para que funcione como dos "instancias únicas". Pero esto es difícil de lograr si no eres autor de la biblioteca. También requiere la invocación posterior de la biblioteca para ambas configuraciones, mientras que uno podría preferir tener alguna otra biblioteca en el medio.
Otro enfoque sería escribir un reenviador simple que simplemente llame a alguna otra biblioteca con una configuración diferente. Pero esto nuevamente requiere que otra biblioteca sea reconfigurable de alguna manera (si solo usa algunos archivos de configuración fijos en /etc
el reenviador funcionará igual que la primera versión). Y también funciona solo una vez: para que una biblioteca se use tres veces o más, el mismo problema vuelve ahora con el reenviador.
sss
?