Это очень простой вопрос, но один из тех, которые трудно найти в Google. Похоже, что сквозная конфигурация /etc/*.d
поддерживается не во всех ядрах Linux. Я бы хотел понять, во-первых, как правильно ссылаться на парадигму .d
, а во-вторых (вероятно, это выходит за рамки этого сайта) историю, стоящую за ней, и почему были выбраны разные стратегии конфигурации.
Спасибо.
решение1
Это, по-видимому, очень распространенный вопрос. Насколько я могу судить, ваш вопрос — первый на Stack Exchange, где спрашивают о преимуществах и/или истории, а не просто спрашивают, что это значит, поэтому я отвечу на него прямо здесь.
Так что .d
просто означает "каталог". Насколько я могу судить, это стало частью sysvinit, с папками /etc/init.d/
или /etc/rc.d
. Они всегда содержат отдельные файлы конфигурации, которые анализируются или вызываются каким-то другим процессом.
Что касается того, почему это делается, то вот несколько причин:
Представьте, что ваш процесс init контролируется одним файлом конфигурации. Этот файл станет большим и громоздким. Веб-сервисы, такие как ,
nginx
используют эту парадигму для поощрения разделения отдельных веб-сайтов или vhosts в их собственные файлы конфигурации. (Эта папка называетсяsites-available
в большинстве дистрибутивов пакетами Nginx, но в ней также естьconf.d
папка, которая обычно применяется к настройкам, которые применяются везде)Разделение безопасности (в некоторой степени). Отдельные файлы конфигурации позволяют устанавливать разные разрешения для каждого файла. Если бы одному пользователю было доверено изменять службу или настройку, относящуюся к нему, он мог бы изменять только те файлы, на которые у него есть права, а не давать ему права на «один файл, чтобы управлять ими всеми»
Простота устранения неполадок/перенастройки. Возвращаясь к nginx, предположим, что вам нужно отключить определенный поддомен. Поскольку каждый сайт разбит на свой собственный файл конфигурации, вы можете просто переименовать или удалить этот файл, а не переходить к одному большому файлу и комментировать все. То же самое относится к init — обычно в системах sysv скрипты init включаются и выключаются путем добавления или удаления символических ссылок. Это обрабатывает уровни запуска и т. д. Нет необходимости вызывать текстовый редактор.
Все эти преимущества достигаются за счет незначительного увеличения сложности.
Терминология? Я не думаю, что есть что-то официальное для этого дизайна, все просто называют их "папками с точкой d".
Дополнительная литература:
- Список рассылки Debian:Что на самом деле означает .d в конце некоторых имен каталогов и файлов?
- Аналогичный вопрос наUnix и Linux SE
- Аналогичный вопрос наAskUbuntu