¿Cuándo se introdujo el concepto de usar /etc/*.d/ como mecanismo de configuración en Linux y cómo se llama?

¿Cuándo se introdujo el concepto de usar /etc/*.d/ como mecanismo de configuración en Linux y cómo se llama?

Esta es una pregunta súper básica, pero una de esas cosas que cuesta buscar en Google. Parece que la configuración /etc/*.dno es compatible con todos los kernels de Linux. Me gustaría entender, en primer lugar, cómo referirnos correctamente al .dparadigma y, en segundo lugar, (probablemente más allá del alcance de este sitio) la historia detrás de él y por qué se eligieron diferentes estrategias de configuración.

Gracias.

Respuesta1

Aparentemente esta es una pregunta muy común. Hasta donde puedo decir, el suyo es el primero en Stack Exchange en preguntar sobre los beneficios y/o el historial, en lugar de simplemente preguntar qué significa, así que lo responderé aquí directamente.

Entonces .dsolo significa "directorio". Por lo que puedo decir, esto se convirtió en algo relacionado con sysvinit, con las carpetas /etc/init.d/o /etc/rc.d. Estos siempre contienen archivos de configuración separados que son analizados o invocados por algún otro proceso.

En cuanto a por qué se hace esto, hay algunas razones:

  1. Imagínese si su proceso de inicio estuviera controlado por un único archivo de configuración. Ese archivo se volvería grande y difícil de manejar. Los servicios web como nginxutilizan este paradigma para fomentar la separación de sitios web individuales o vhosts en sus propios archivos de configuración. (Esta carpeta se llama sites-availableen la mayoría de las distribuciones de paquetes Nginx, pero también tiene una conf.dcarpeta que generalmente se aplica a las configuraciones que se aplican en todas partes)

  2. Separación de seguridad (algo). Los archivos de configuración separados permiten diferentes permisos en cada archivo. Si se confiara en un usuario para modificar un servicio o configuración relevante para él, podría modificar solo los archivos sobre los que tiene derechos, en lugar de otorgarle los derechos sobre "un archivo que los gobierne a todos".

  3. Facilidad de resolución de problemas/reconfiguración. Volviendo a nginx, digamos que necesita deshabilitar un subdominio específico. Con cada sitio dividido en su propio archivo de configuración, puede simplemente cambiar el nombre o eliminar ese archivo en lugar de entrar en un único archivo grande y comentar cosas. Lo mismo se aplica a init: generalmente en sistemas sysv, los scripts de inicio se ponen y ponen fuera de servicio agregando o eliminando enlaces simbólicos. Esto maneja niveles de ejecución y demás. No es necesario invocar un editor de texto.

Todos estos beneficios se obtienen con un mínimo aumento de complejidad.

¿Terminología? No creo que haya nada oficial para este diseño, todo el mundo simplemente los llama "carpetas punto d".

Algunas lecturas adicionales:

información relacionada