Solución 1:
"d" significa directorio y dicho directorio es una colección de archivos de configuración que a menudo son fragmentos que se incluyen en el archivo de configuración principal. El punto es compartimentar las preocupaciones de configuración para aumentar la capacidad de mantenimiento.
Cuando tiene una distinción como /etc/httpd/conf
contra /etc/httpd/conf.d
, suele darse el caso de que /etc/httpd/conf
contiene varios tipos diferentes de archivos de configuración, mientras que un .d
El directorio contiene varias instancias del mismo tipo de archivo de configuración (como "módulos para cargar", "sitios para habilitar", etc.), y el administrador puede agregar y eliminar según sea necesario.
Solución 2:
La principal fuerza impulsora detrás de la existencia de esta convención de nomenclatura de directorios es facilitar la administración de paquetes de archivos de configuración. Ya sea rpm, deb o lo que sea, es mucho más fácil (y probablemente más seguro) poder colocar un archivo en un directorio para que se incluya automáticamente en la configuración de un programa en lugar de intentar editar un archivo de configuración global.
Un buen ejemplo de esto es logrotate. En el directorio /etc/logrotate.d son archivos de configuración para prácticamente todas las aplicaciones que ha instalado que mantienen un registro en /var/log . Algunos están agrupados en la configuración de syslog porque casi todos los sistemas tienen un archivo de mensajes, wtmp y lastlog. Pero si instala Apache en su sistema, necesita una manera fácil de agregar automáticamente la configuración para rotar los registros de Apache, por lo que simplemente coloca un archivo de configuración llamado httpd en /etc/logrotate.d y logrotate está configurado para incluir los archivos en ese directorio. Cada uno es propiedad del paquete para el daemon y si elimina el paquete, eliminará el archivo. Es básicamente una forma de modularizar los archivos de configuración. Tenga en cuenta que esto debe ser compatible con el programa, no es algo automático que el sistema haga por usted o algo así. Por lo general, los programas que lo hacen tienen una directiva de configuración llamada incluir que especifican dónde se encuentra ese directorio en el sistema de archivos.
logrotate.d incluso podría ser el primer lugar en el que se utilizó esta convención fuera de init.d y rc.d directorios para guiones de inicio.