Conozco muchos directorios con .d en su nombre:
init.d
yum.repos.d
conf.d
¿Significa directorio? En caso afirmativo, ¿de qué se desambigua esto?
ACTUALIZACIÓN: He tenido muchas respuestas interesantes sobre lo que .d
significa, pero el título de mi pregunta no fue bien elegido. Cambié "mean" por "stand for".
.d
, vea el comentario de msw sobre esta pregunta relacionada en Ask Ubuntu ..d
eninit.d
, pero parece casi todos los archivos de configuración personalizados van a.d
directorios en RHEL / CentOS / Fedora.Respuestas:
El
.d
sufijo aquí significa directorio. Por supuesto, esto sería innecesario, ya que Unix no requiere un sufijo para denotar un tipo de archivo, pero en ese caso específico, algo que era necesario eliminar la ambigüedad de los comandos (/etc/init
,/etc/rc0
,/etc/rc1
etc.) y los directorios que utilizan (/etc/init.d
,/etc/rc0.d
,/etc/rc1.d
,. ..)Esta convención se introdujo al menos con Unix System V pero posiblemente antes. El
init
comando solía estar ubicado/etc
pero generalmente ahora se encuentra en/sbin
los sistemas operativos modernos de System V.Tenga en cuenta que esta convención ha sido adoptada por muchas aplicaciones que pasan de un único archivo de configuración de archivo a varios archivos de configuración ubicados en un solo directorio, por ejemplo:
/etc/sudoers.d
Una vez más, el objetivo es evitar el choque de nombres, no entre el archivo ejecutable y el archivo de configuración, sino entre el archivo de configuración monolítico anterior y el directorio que los contiene.
fuente
ls
comando (nols -al
) sin usar la--color
opción (ya sea explícitamente especificada o parte deLS_OPTIONS
la variable de entorno), tener el ".d" hace que los directorios se destaquen de la lista. Por eso siempre pensé que estaba hecho.color
no es la única o la mejor manera de marcar visualmente los directorios.ls -F
hará eso y muchas cosas más útiles.Extracto de una lista de correo de Debian (énfasis agregado):
Para la parte 2, la razón de la ".d", mi mejor suposición sería "distribuida", ya que no forma parte del archivo de configuración principal, sino que es parte de la configuración .
fuente
.d
significado de cualquier otra cosa está más allá de mí! Pero esta fuente solo muestra la lógica de Debian para, en un contexto, usar una convención que existía desde los primeros días de Unix. Tengo que preguntarme si este mantenedor de Debian estaba simplificando deliberadamente, o si realmente pensaba que Debian inventó esta práctica.Si habla de ".d" al final de los nombres de directorio, esta respuesta es correcta, es solo un marcador para "directorio".
Simplemente no lo confunda con "d" en el nombre de un archivo, como "syslogd", que significa daemon . Un proceso informático que se ejecuta en segundo plano.
fuente
syslogd
directorios que terminan en ".d". Lo editaré pronto.sysctl.d
,modprobe.d
¿sería un uso inapropiado?No significa directorio en sí, básicamente lo que está sucediendo es que los directorios que terminan en
.d
(tenga en cuenta que generalmente solo están en/etc
), toman partes de configuración.Esto está diseñado para que las distribuciones puedan incluir valores predeterminados universales, por ejemplo
/etc/yum.conf
, pero luego hay un método fácil de usar para que los usuarios u otros paquetes agreguen sus propias configuraciones yum de una manera segura que no se sobrescribirá.Como ejemplo para mmm ...
Si quisiera comenzar a usar EPEL en mi RHEL5 o CentOS Box, puedo configurar un nuevo repositorio en la
/etc/yum.repos.d
carpeta, (digamos/etc/yum.repos.d/epel.repo
) o instalar el paquete epel-release que crea el archivo automáticamente, sin modificar mi configuración predeterminada o causar conflictos de archivo que No es necesario que suceda.Lo que sucederá es que la mayoría de los programas leerán su configuración predeterminada (
/etc/yum.conf
por ejemplo) y luego iterarán sobre sus.d
carpetas, incluidos los fragmentos de configuración en el programa en ejecución.Espero que te lo explique.
fuente
Al igual que los archivos pueden tener
.ext
que especificar qué tipo de archivo es (comúnmente llamado "extensión"), los directorios a veces tienen.d
que mostrar que es un directorio y no un archivo. Ese es su tipo. Lals
salida predeterminada no diferencia visualmente directorios y archivos, por lo que.d
es solo una convención antigua para mostrar su tipo (directorio) en dichos listados.fuente
.d
sufijo evita colisiones con un archivo con un nombre similar. Por ejemplo, puede tener un archivo de configuración/etc/apt/sources.list
y un directorio de archivos de configuración/etc/apt/sources.list.d
.En términos más generales, los directorios .d (/etc/httpd/conf.d, /etc/rc.d, / etc / siendo otro ejemplo), indican que los archivos contenidos serán leídos y utilizados, a menudo para la configuración, si coinciden un patrón dado y no requieren ser agregados explícitamente a alguna lista maestra.
Entonces, si agrega archivos de la forma * .repo a /etc/yum.repos.d, yum lo usará cuando se ejecute sin necesidad de agregarlo a una lista de configuraciones /etc/yum.conf. Si agrega archivos de la forma * .conf a /etc/http/conf.d, Apache los leerá sin necesidad de agregarlos explícitamente a /etc/httpd/conf/httpd.conf. Del mismo modo, chkconfig a archivos en /etc/init.d, trabajos cron en /etc/cron.d.
fuente
Creo, pero no puedo documentar, que la
.d
indica que el directorio está asociado con un d Aemon.La evidencia indicaría que esto es al menos plausible:
En algún lugar en los profundos recovecos de los pequeños fragmentos de la antigua historia de Unix que todavía resuenan en el fondo de mi mente detrás de las telarañas, esto me llama la respuesta correcta. Creo que puede haber sido de una época en que los primeros mamíferos vagaron por la tierra antes de que los dinosaurios comenzaran a desaparecer y las
man
páginas no solo se mantuvieran en el sistema, sino también físicamente en bastidores medidos por el pie.fuente
</cobwebs>
Creo que las respuestas que indican que el propósito de este.d
es desambiguar el directorio de los archivos relacionados y con nombres similares son los correctos. He votado a favor de E-man y Jlliagre's.yum
Es un invento más reciente.