当分发包装变得越来越普遍时,很明显,我们需要更好的方法来由多个片段组成这样的配置文件,这些片段通常由多个独立的软件包提供。每个需要配置某些共享服务的程序包都应该只能管理其配置,而不必编辑其他程序包使用的共享配置文件。
最常用的约定是允许包含一个充满配置文件的目录,放到该目录中的所有内容都将变为活动状态并成为该配置的一部分。随着该约定变得越来越普遍,该目录通常以要替换或扩充的配置文件命名。但是由于一个目录和一个文件不能具有相同的名称,因此需要使用某种方法来进行区分,因此.d会附加到配置文件名的末尾。因此,配置文件/ etc / Muttrc由/etc/Muttrc.d中的片段扩充,/ etc / bash_completion由/etc/bash_completion.d/*扩充,依此类推。有时会使用对该约定的细微变化,例如/etc/xinetd.d来补充/etc/xinetd.conf或/ etc / apache2 / conf。d补充/etc/apache2/apache2.conf。但这是相同的基本思想。
通常,当您看到* .d约定时,它的意思是“这是一个目录,其中包含一堆配置片段,这些片段将合并在一起成为某些服务的配置。”