Muchos directorios tienen un sufijo / extensión ".d". Qué significa eso?

38

Mi sistema tiene 132 directorios cuyos nombres terminan en .d
También hay dos scripts cuyos nombres terminan en .d

Además de las dos secuencias de comandos caprichosas ('/usr/sbin/invoke-rc.d', '/usr/sbin/update-rc.d'), supongo que .d significa directorio ... (pero me pregunto por qué esos guiones se llaman así).

En algunos casos, la carpeta principal del directorio .d contiene un archivo con el mismo nombre, pero sin el final .d .

# eg.
  /etc/apt/sources.list.d
  /etc/apt/sources.list

¿Hay alguna lógica mística de Linux para este estilo de nomenclatura?

¿Es una convención de nomenclatura profundamente arraigada, o es tan absoluta como 'foo' y 'bar'?

Peter.O
fuente

Respuestas:

45

Esto se usa a menudo para directorios (de ahí la "d") que contienen una colección de archivos de configuración parcial. Todos los archivos en el directorio se combinan, a veces también con otros archivos, para hacer la configuración completa. Esto a menudo se hace cuando tradicionalmente solo había un archivo de configuración (por ejemplo, en su ejemplo sources.list) pero hay un deseo de hacer las cosas más modulares más adelante.

Como Laurence menciona, los directorios /etc/rc?.d fueron probablemente una de las primeras veces que se usó esta costumbre.

JanC
fuente
10
Agregaría a esto que otros nombres tienen una "d" agregada a un nombre sin el punto inicial, pero esto NO significa directorio, sino "daemon" o servicio, como "named" o "httpd". named es el servicio DNS, mientras que httpd es el servicio web (Apache, por ejemplo).
jfmessier
3
Y en cuanto a esos dos "scripts caprichosos" mencionados en la pregunta: sus nombres se refieren a los directorios /etc/rc?.d.
Laurence Gonsalves
1
Gracias. Todos ustedes han contribuido a una buena explicación completa.
Peter.O