Этот же вопрос был задан при сбое сервера около 8 часов назад.
Приостановлено до дальнейшего уведомления.
Ответы:
22
.dОбозначает каталог. Это соглашение, чтобы отличать конфигурацию на основе каталога от конфигурации, основанной на одном файле конфигурации. Часто вы будете иметь в некотором качестве, например, /etc/logrotate.confи /etc/logrotate.d/.
Также обычно бывает, что все (с разумным именем) файлы в таком каталоге автоматически объединяются в одну конфигурацию. Затем пакеты могут устанавливать файлы в такой каталог, и они будут использоваться автоматически. Опять же, /etc/logrotate.d/хороший пример. С другой стороны, каталог файлов конфигурации, который не заканчивается, .dвероятно, просто содержит случайное сопоставление файлов конфигурации, принадлежащих одному и тому же пакету, и вы ничего не можете сделать вывод о том, как они обрабатываются, например /etc/zsh/.
Чтобы немного расширить ответ Питера, этот шаблон .d позволяет упростить добавление и удаление файлов конфигурации: для данной программы .d администратор может просто скопировать или удалить файл в каталог .d без необходимости редактирования. существующий файл конфигурации.
Например, если вы хотите добавить в систему задание cron, вы можете отредактировать / etc / crontab с помощью нового запланированного задания, используя ваш любимый текстовый редактор. Это хорошо для одного сервера или нескольких серверов, но попробуйте сделать это на 100 серверах, если вы работаете в центре обработки данных / облачной среде. В последнем случае вы можете использовать что-то вроде sed с временным файлом или инструмент, такой как ex, чтобы записать файл на месте, но здесь есть небольшой риск, если вы не создали свою команду должным образом. Действительно, я видел файлы конфигурации полностью обстрелянными из-за опечатки в этих командах редактирования.
Теперь сравните это с размещением файла с запланированными заданиями в /etc/cron.d. Вы просто копируете файл в него, и в следующий раз, когда cron запускается (обычно каждую минуту), он увидит новый файл и соответствующим образом его обработает / обработает. Это замечательно, как утверждает Питер, если вы хотите свернуть свои собственные пакеты: файл /etc/cron.d - это просто еще один файл в архиве пакетов, который устанавливается. После удаления пакета файл cron.d удаляется, и ваш cron больше не работает.
Наконец, у каждой программы, имеющей каталог .d, может быть своя собственная реализация в отношении того, как файлы получены, например, включают переопределение порядка и конфигурации. Поэтому всякий раз, когда вы решаете поместить файл в каталог .d, всегда проверяйте, что он делает то, что вам нужно, и не просто предполагайте, что он работает так же, как и для другой программы, имеющей каталог .d.
Ответы:
.d
Обозначает каталог. Это соглашение, чтобы отличать конфигурацию на основе каталога от конфигурации, основанной на одном файле конфигурации. Часто вы будете иметь в некотором качестве, например,/etc/logrotate.conf
и/etc/logrotate.d/
.Также обычно бывает, что все (с разумным именем) файлы в таком каталоге автоматически объединяются в одну конфигурацию. Затем пакеты могут устанавливать файлы в такой каталог, и они будут использоваться автоматически. Опять же,
/etc/logrotate.d/
хороший пример. С другой стороны, каталог файлов конфигурации, который не заканчивается,.d
вероятно, просто содержит случайное сопоставление файлов конфигурации, принадлежащих одному и тому же пакету, и вы ничего не можете сделать вывод о том, как они обрабатываются, например/etc/zsh/
.источник
Чтобы немного расширить ответ Питера, этот шаблон .d позволяет упростить добавление и удаление файлов конфигурации: для данной программы .d администратор может просто скопировать или удалить файл в каталог .d без необходимости редактирования. существующий файл конфигурации.
Например, если вы хотите добавить в систему задание cron, вы можете отредактировать / etc / crontab с помощью нового запланированного задания, используя ваш любимый текстовый редактор. Это хорошо для одного сервера или нескольких серверов, но попробуйте сделать это на 100 серверах, если вы работаете в центре обработки данных / облачной среде. В последнем случае вы можете использовать что-то вроде sed с временным файлом или инструмент, такой как ex, чтобы записать файл на месте, но здесь есть небольшой риск, если вы не создали свою команду должным образом. Действительно, я видел файлы конфигурации полностью обстрелянными из-за опечатки в этих командах редактирования.
Теперь сравните это с размещением файла с запланированными заданиями в /etc/cron.d. Вы просто копируете файл в него, и в следующий раз, когда cron запускается (обычно каждую минуту), он увидит новый файл и соответствующим образом его обработает / обработает. Это замечательно, как утверждает Питер, если вы хотите свернуть свои собственные пакеты: файл /etc/cron.d - это просто еще один файл в архиве пакетов, который устанавливается. После удаления пакета файл cron.d удаляется, и ваш cron больше не работает.
Наконец, у каждой программы, имеющей каталог .d, может быть своя собственная реализация в отношении того, как файлы получены, например, включают переопределение порядка и конфигурации. Поэтому всякий раз, когда вы решаете поместить файл в каталог .d, всегда проверяйте, что он делает то, что вам нужно, и не просто предполагайте, что он работает так же, как и для другой программы, имеющей каталог .d.
источник