Estoy configurando apache y por defecto tengo los directorios /etc/httpd/conf
y /etc/httpd/conf.d
. ¿Cuál es la diferencia?
También se puede ver el sufijo en muchos otros directorios como /etc/init.d
, /etc/cron.d
, etc ...
linux
apache-2.2
SCL
fuente
fuente
/etc/apt/sources.list.d/
,/etc/profile.d
etc..d
significadefault
. No lo hace, según la información aquí, pero parece lógico. ¿Quizás pueda seguir adelante y pensar de esa manera?Respuestas:
"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
vs/etc/httpd/conf.d
, generalmente es el caso que/etc/httpd/conf
contiene varios tipos diferentes de archivos de configuración, mientras que un.d
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 quitar según sea necesario.fuente
La principal fuerza impulsora detrás de la existencia de esta convención de nomenclatura de directorios es la administración más sencilla 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 soltar 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 hay 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 suelta un archivo de configuración llamado httpd en /etc/logrotate.dy logrotate está configurado para incluir los archivos en ese directorio. Cada uno es propiedad del paquete para el demonio y si elimina el paquete, eliminará el archivo. Básicamente es 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 hace por usted o algo así. Por lo general, los programas que lo hacen tienen una directiva de configuración llamada include que especifica dónde se encuentra ese directorio en el sistema de archivos.
logrotate.d podría incluso ser el primer lugar donde se usó esta convención fuera de los directorios init.d y rc.d para los scripts de inicio.
fuente