Solution 1 :
"d" signifie répertoire et un tel répertoire est une collection de fichiers de configuration qui sont souvent des fragments inclus dans le fichier de configuration principal. Le but est de compartimenter les problèmes de configuration pour augmenter la maintenabilité.
Lorsque vous avez une distinction telle que /etc/httpd/conf
contre /etc/httpd/conf.d
, il arrive généralement que /etc/httpd/conf
contient différents types de fichiers de configuration, tandis qu'un .d
Le répertoire contient plusieurs instances du même type de fichier de configuration (tels que "modules à charger", "sites à activer", etc.), et l'administrateur peut ajouter et supprimer si nécessaire.
Solution 2 :
La principale force motrice derrière l'existence de cette convention de nommage de répertoire est de faciliter la gestion des packages de fichiers de configuration. Qu'il s'agisse de rpm, deb ou autre, il est beaucoup plus facile (et probablement plus sûr) de pouvoir déposer un fichier dans un répertoire afin qu'il soit automatiquement inclus dans la configuration d'un programme au lieu d'essayer de modifier un fichier de configuration global.
Un bon exemple de ceci est logrotate. Dans le répertoire /etc/logrotate.d sont des fichiers de configuration pour pratiquement toutes les applications que vous avez installées qui conservent un journal dans /var/log . Certains sont regroupés dans la configuration syslog car presque tous les systèmes ont un fichier messages, wtmp et lastlog. Mais si vous installez Apache sur votre système, vous avez besoin d'un moyen simple d'ajouter automatiquement la configuration pour la rotation des journaux d'Apache, donc il dépose simplement un fichier de configuration appelé httpd dans /etc/logrotate.d et logrotate est configuré pour inclure les fichiers dans ce répertoire. Chacun appartient au package du démon et si vous supprimez le package, le fichier sera supprimé. C'est essentiellement un moyen de modulariser les fichiers de configuration. Notez que cela doit être pris en charge par le programme, ce n'est pas quelque chose d'automatique que le système fait pour vous ou quelque chose comme ça. Habituellement, les programmes qui le font ont une directive de configuration appelée include qui spécifient où se trouve ce répertoire sur le système de fichiers.
logrotate.d pourrait même être le premier endroit où cette convention a été utilisée en dehors de init.d et rc.d répertoires pour les scripts d'initialisation.