Conheço muitos diretórios com .d em seu nome:
init.d
yum.repos.d
conf.d
Isso significa diretório? Se sim, do que isso desambigua?
ATUALIZAÇÃO: Tive muitas respostas interessantes sobre o que .d
significa, mas o título da minha pergunta não foi bem escolhido. Eu mudei "mean" para "stand for".
.d
, consulte o comentário de msw sobre esta questão relacionada no Ask Ubuntu ..d
noinit.d
, mas parece quase todos os arquivos de configuração personalizados ir para.d
diretórios no RHEL / CentOS / Fedora.Respostas:
O
.d
sufixo aqui significa diretório. Claro, isso seria desnecessário como Unix não requer um sufixo para designar um tipo de arquivo, mas, nesse caso específico, algo era necessário para disambiguate os comandos (/etc/init
,/etc/rc0
,/etc/rc1
e assim por diante) e os diretórios que eles usam (/etc/init.d
,/etc/rc0.d
,/etc/rc1.d
,. ..)Esta convenção foi introduzida pelo menos com o Unix System V, mas possivelmente anteriormente. O
init
comando costumava estar localizado,/etc
mas geralmente está agora nos/sbin
sistemas operacionais modernos do System V.Observe que esta convenção foi adotada por muitos aplicativos que se deslocam de um único arquivo de configuração de arquivo para vários arquivos de configuração localizados em um único diretório, por exemplo:
/etc/sudoers.d
Aqui, novamente, o objetivo é evitar o conflito de nomes, não entre o arquivo executável e o arquivo de configuração, mas entre o antigo arquivo de configuração monolítico e o diretório que os contém.
fonte
ls
comando (nãols -al
) sem usar a--color
opção (especificada explicitamente ou parte daLS_OPTIONS
variável de ambiente), a opção ".d" destaca os diretórios da lista. É por isso que eu sempre pensei que estava feito.color
não é a única ou a melhor maneira de sinalizar visualmente diretórios.ls -F
fará isso e muitas outras coisas úteis.Trecho de uma lista de discussão Debian (ênfase adicionada):
Para a parte 2, o motivo do ".d", meu melhor palpite seria "distribuído", como não faz parte do arquivo de configuração principal, mas ainda faz parte da configuração .
fonte
.d
significado de qualquer outra coisa está além de mim! Mas essa fonte mostra apenas a lógica do Debian para, em um contexto, usar uma convenção existente desde os primeiros dias do Unix. Eu tenho que pensar se esse mantenedor do Debian estava deliberadamente simplificando - ou realmente pensou que o Debian inventou essa prática.Se você falar sobre ".d" no final dos nomes de diretório, esta resposta está correta, é apenas um marcador para "diretório".
Apenas não confunda com "d" no e de um nome de arquivo, como "syslogd", que significa daemon . Um processo de computador em execução em segundo plano.
fonte
syslogd
diretórios que não terminam com ".d". Vou editar em breve.sysctl.d
,modprobe.d
.. isso seria um uso inadequado?Isso não significa diretório propriamente dito, basicamente o que está acontecendo é que os diretórios que terminam em
.d
(observe que esses geralmente são apenas sempre/etc
) recebem partes da configuração.Isso foi desenvolvido para que as distribuições possam incluir padrões universais, por exemplo
/etc/yum.conf
, mas existe um método fácil de usar para usuários ou outros pacotes anexarem suas próprias configurações yum de uma maneira segura que não será substituída.Como um exemplo para yum ...
Se eu quiser começar a usar o EPEL no meu RHEL5 ou CentOS Box, posso configurar um novo repositório na
/etc/yum.repos.d
pasta (por exemplo/etc/yum.repos.d/epel.repo
) ou instalar o pacote epel-release que cria o arquivo automaticamente, sem modificar minha configuração padrão ou causar conflitos de arquivo que não precisa acontecer.O que acontecerá é que a maioria dos programas lê sua configuração padrão (
/etc/yum.conf
por exemplo) e depois itera sobre suas.d
pastas, incluindo trechos de configuração no programa em execução.Espero que isso explique para você.
fonte
Assim como os arquivos podem precisar
.ext
especificar que tipo de arquivo é (geralmente chamado de "extensão"), os diretórios às vezes precisam.d
mostrar que é um diretório e não um arquivo. Esse é o seu tipo. Als
saída padrão não diferencia visualmente diretórios e arquivos; portanto,.d
é apenas uma convenção antiga para mostrar seu tipo (diretório) nessas listagens.fonte
.d
sufixo evita colisões com um arquivo com o mesmo nome. Por exemplo, você pode ter um arquivo de configuração/etc/apt/sources.list
e um diretório de arquivos de configuração/etc/apt/sources.list.d
.De maneira mais geral, os diretórios .d (/etc/httpd/conf.d, /etc/rc.d, / etc / sendo outro exemplo) indicam que os arquivos contidos serão lidos e usados, geralmente para configuração, se corresponderem um determinado padrão e não exigem a inclusão explícita em alguma lista mestre.
Portanto, se você adicionar arquivos do formato * .repo ao /etc/yum.repos.d, o yum o utilizará durante a execução sem precisar adicioná-lo a uma lista de configurações /etc/yum.conf. Se você adicionar arquivos do formato * .conf ao /etc/http/conf.d, eles serão lidos pelo Apache sem precisar serem explicitamente adicionados ao /etc/httpd/conf/httpd.conf. Da mesma forma, chkconfig para arquivos em /etc/init.d, tarefas cron em /etc/cron.d.
fonte
Eu acho, mas não pode documentar, que o
.d
indica que o diretório está associado a um d Aemon.As evidências indicariam que isso é pelo menos plausível:
Em algum lugar nos recônditos profundos dos pedacinhos da história antiga do Unix ainda rondando no fundo da minha mente atrás das teias de aranha, isso me chama como a resposta correta. Acredito que pode ter ocorrido em uma época em que os primeiros mamíferos vagavam pela Terra antes que os dinossauros começassem a desaparecer e as
man
páginas não só eram mantidas no sistema, mas também fisicamente nas prateleiras medidas pelo pé.fonte
</cobwebs>
Acredito que as respostas que indicam que o objetivo do.d
é desambiguar o diretório dos arquivos relacionados e com nomes semelhantes são as corretas. Eu votei em E-man e jlliagre's.yum
é uma invenção mais recente.