Когда была введена концепция использования /etc/*.d/ в качестве механизма конфигурации в Linux и как она называется?

Когда была введена концепция использования /etc/*.d/ в качестве механизма конфигурации в Linux и как она называется?

Это очень простой вопрос, но один из тех, которые трудно найти в Google. Похоже, что сквозная конфигурация /etc/*.dподдерживается не во всех ядрах Linux. Я бы хотел понять, во-первых, как правильно ссылаться на парадигму .d, а во-вторых (вероятно, это выходит за рамки этого сайта) историю, стоящую за ней, и почему были выбраны разные стратегии конфигурации.

Спасибо.

решение1

Это, по-видимому, очень распространенный вопрос. Насколько я могу судить, ваш вопрос — первый на Stack Exchange, где спрашивают о преимуществах и/или истории, а не просто спрашивают, что это значит, поэтому я отвечу на него прямо здесь.

Так что .dпросто означает "каталог". Насколько я могу судить, это стало частью sysvinit, с папками /etc/init.d/или /etc/rc.d. Они всегда содержат отдельные файлы конфигурации, которые анализируются или вызываются каким-то другим процессом.

Что касается того, почему это делается, то вот несколько причин:

  1. Представьте, что ваш процесс init контролируется одним файлом конфигурации. Этот файл станет большим и громоздким. Веб-сервисы, такие как , nginxиспользуют эту парадигму для поощрения разделения отдельных веб-сайтов или vhosts в их собственные файлы конфигурации. (Эта папка называется sites-availableв большинстве дистрибутивов пакетами Nginx, но в ней также есть conf.dпапка, которая обычно применяется к настройкам, которые применяются везде)

  2. Разделение безопасности (в некоторой степени). Отдельные файлы конфигурации позволяют устанавливать разные разрешения для каждого файла. Если бы одному пользователю было доверено изменять службу или настройку, относящуюся к нему, он мог бы изменять только те файлы, на которые у него есть права, а не давать ему права на «один файл, чтобы управлять ими всеми»

  3. Простота устранения неполадок/перенастройки. Возвращаясь к nginx, предположим, что вам нужно отключить определенный поддомен. Поскольку каждый сайт разбит на свой собственный файл конфигурации, вы можете просто переименовать или удалить этот файл, а не переходить к одному большому файлу и комментировать все. То же самое относится к init — обычно в системах sysv скрипты init включаются и выключаются путем добавления или удаления символических ссылок. Это обрабатывает уровни запуска и т. д. Нет необходимости вызывать текстовый редактор.

Все эти преимущества достигаются за счет незначительного увеличения сложности.

Терминология? Я не думаю, что есть что-то официальное для этого дизайна, все просто называют их "папками с точкой d".

Дополнительная литература:

Связанный контент