Muitos diretórios possuem um sufixo / extensão ".d". O que isso significa?

38

Meu sistema possui 132 diretórios cujos nomes terminam em .d
Existem também dois scripts cujos nomes terminam em .d

Além dos dois scripts rebeldes ('/usr/sbin/invoke-rc.d', '/usr/sbin/update-rc.d'), presumo que .d significa diretório ... (mas me pergunto por que esses scripts são assim chamados).

Em alguns casos, a pasta pai do diretório .d contém um arquivo com o mesmo nome, mas sem o final .d .

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

Existe alguma lógica mística do Linux para esse estilo de nomeação?

É uma convenção de nomes profundamente arraigada ou é tão absoluta quanto 'foo' e 'bar'?

Peter.O
fonte

Respostas:

45

Isso geralmente é usado para diretórios (daí o "d") que contêm uma coleção de arquivos de configuração parciais. Todos os arquivos no diretório são combinados, às vezes também com outros arquivos, para fazer a configuração completa. Isso geralmente é feito quando tradicionalmente havia apenas um arquivo de configuração (por exemplo, no seu exemplo sources.list), mas há um desejo de tornar as coisas mais modulares posteriormente.

Como Laurence menciona, os diretórios /etc/rc?.d foram provavelmente uma das primeiras vezes que esse costume foi usado.

JanC
fonte
10
Eu acrescentaria que outros nomes têm um "d" anexado a um nome sem o ponto inicial, mas isso NÃO significa diretório, mas "daemon" ou serviço, como "named" ou "httpd". named é o serviço DNS, enquanto httpd é o serviço web (Apache, por exemplo).
Jfmessier 16/10/10
3
E quanto aos dois "scripts rebeldes" mencionados na pergunta: seus nomes estão se referindo aos diretórios /etc/rc?.d.
Laurence Gonsalves
1
Obrigado .. Todos vocês contribuíram para uma boa explicação geral.
Peter.O