Основной движущей силой существования этого соглашения об именах каталогов является упрощение управления пакетами файлов конфигурации. Будь то rpm, deb или что-то еще, гораздо проще (и, вероятно, безопаснее) иметь возможность поместить файл в каталог, чтобы он автоматически включался в конфигурацию программы, а не пытался редактировать глобальный файл конфигурации.
Хорошим примером этого является logrotate. В каталоге /etc/logrotate.d находятся файлы конфигурации практически для каждого установленного вами приложения, которое ведет журнал в / var / log . Некоторые из них включены в конфигурацию системного журнала, потому что почти в каждой системе есть файлы сообщений, wtmp и lastlog. Но если вы устанавливаете Apache в своей системе, вам нужен простой способ автоматического добавления конфигурации для ротации журналов Apache, поэтому он просто удаляет файл конфигурации с именем httpd в /etc/logrotate.dи logrotate настроен на включение файлов в этот каталог. Каждый из них принадлежит пакету для демона, и если вы удалите пакет, он удалит файл. Это в основном способ модуляции конфигурационных файлов. Обратите внимание, что это должно поддерживаться программой, а не что-то автоматическое, что система делает для вас или что-то еще. Обычно программы, которые делают это, имеют директиву config, называемую include, которая указывает, где находится этот каталог в файловой системе.
logrotate.d может даже быть первым местом, где это соглашение использовалось вне каталогов init.d и rc.d для сценариев инициализации.