Soluzione 1:
"d" sta per directory e tale directory è una raccolta di file di configurazione che spesso sono frammenti inclusi nel file di configurazione principale. Il punto è compartimentare i problemi di configurazione per aumentare la manutenibilità.
Quando hai una distinzione come /etc/httpd/conf
contro /etc/httpd/conf.d
, di solito accade che /etc/httpd/conf
contiene diversi tipi di file di configurazione, mentre un .d
La directory contiene più istanze dello stesso tipo di file di configurazione (come "moduli da caricare", "siti da abilitare" ecc.) e l'amministratore può aggiungere e rimuovere secondo necessità.
Soluzione 2:
La principale forza trainante dietro l'esistenza di questa convenzione di denominazione delle directory è per una più semplice gestione dei pacchetti dei file di configurazione. Che si tratti di rpm, deb o altro, è molto più semplice (e probabilmente più sicuro) poter inserire un file in una directory in modo che venga incluso automaticamente nella configurazione di un programma invece di provare a modificare un file di configurazione globale.
Un buon esempio è logrotate. Nella directory /etc/logrotate.d sono file di configurazione praticamente per ogni applicazione installata che mantiene un registro in /var/log . Alcuni sono raggruppati nella configurazione di syslog perché quasi tutti i sistemi hanno un file di messaggi, wtmp e lastlog. Ma se installi Apache sul tuo sistema, hai bisogno di un modo semplice per aggiungere automaticamente la configurazione per la rotazione dei log di Apache, quindi rilascia semplicemente un file di configurazione chiamato httpd in /etc/logrotate.d e logrotate è configurato per includere i file in quella directory. Ognuno è di proprietà del pacchetto per il demone e se rimuovi il pacchetto rimuoverà il file. È fondamentalmente un modo per modularizzare i file di configurazione. Nota che questo deve essere supportato dal programma, non è qualcosa di automatico che il sistema fa per te o qualcosa del genere. Di solito i programmi che lo fanno hanno una direttiva di configurazione chiamata include che specificano dove si trova quella directory sul filesystem.
logrotate.d potrebbe anche essere il primo posto in cui questa convenzione è stata utilizzata al di fuori di init.d e rc.d directory per gli script init.