В чем разница между / etc / init / и /etc/init.d/?

В чем разница между /etc/init/ и /etc/init.d/?

В более общем смысле, что означает суффикс .d для каталога?

230
задан 7 May 2015 в 16:26

3 ответа

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

Например, /etc/apache/conf.d/ или /etc/apt/sources.d/

В тех случаях, когда важно, в каком порядке их следует включать / выполнять, файлы в этих каталогах иногда начинаются с цифры, например «00-default» или «80 пользователей», чтобы они выполнялись в правильном порядке.

В случае /etc/init.d/ это как бы указывает на то, что все сценарии в "init.d" должны быть выполнены. В настоящее время, однако, система инициализации современных операционных систем немного более сложна, но имя каталога все еще там.

0
ответ дан 7 May 2015 в 16:26

/etc/init.d содержит сценарии, используемые инструментами инициализации System V (SysVinit). Это традиционный пакет управления службами для Linux, содержащий программу init (первый процесс, запускаемый после завершения инициализации ядра), а также некоторую инфраструктуру для запуска и остановки служб и их настройки. В частности, файлы в /etc/init.d являются сценариями оболочки, которые отвечают на команды start, stop, restart и (если поддерживаются) reload для управления конкретной службой. Эти сценарии могут вызываться напрямую или (чаще всего) через какой-либо другой триггер (обычно наличие символической ссылки в /etc/rc?.d/).

/etc/init содержит файлы конфигурации, используемые Upstart. Upstart - это молодой пакет управления сервисами, поддерживаемый Ubuntu. Файлы в /etc/init являются файлами конфигурации, сообщающими Upstart, как и когда start, stop, reload конфигурировать или запрашивать status службы. Что касается lucid, Ubuntu переходит от SysVinit к Upstart, что объясняет, почему многие сервисы поставляются со сценариями SysVinit, даже если файлы конфигурации Upstart предпочтительнее. Фактически сценарии SysVinit обрабатываются слоем совместимости в Upstart.

.d в именах каталогов обычно указывает каталог, содержащий множество файлов конфигурации или сценариев для конкретной ситуации (например, /etc/apt/sources.list.d содержит файлы, которые объединяются для создания виртуального sources.list; /etc/network/if-up.d содержит сценарии, которые выполняются, когда сеть i nter f ace активирована). Эта структура обычно используется, когда каждая запись в каталоге предоставляется отдельным источником, так что каждый пакет может разместить свой собственный плагин, не анализируя один файл конфигурации для ссылки на себя. В этом случае просто так получается, что «init» - это логическое имя для каталога, SysVinit был первым и использовал init.d, а Upstart использовал обычный init для каталога с аналогичной целью (это было бы более «mainstream»). »И, возможно, менее высокомерно, если бы вместо этого они использовали /etc/upstart.d.

¹ не считая initrd

0
ответ дан 7 May 2015 в 16:26

Как вы указали, номенклатура «.d» озадачивает и странна, и на самом деле ей нет места в любой современной системе - вы заметите, что большинство современных сервисов склонны ее отбрасывать.

Причина, по которой каталогом является /etc/init, а не /etc/upstart, заключается в том, что Upstart - это имя проекта, фактически установленный двоичный файл по-прежнему /sbin/init, поэтому для его конфигурации не имеет смысла иметь имя, которое не имеет сопоставьте двоичный файл.

0
ответ дан 7 May 2015 в 16:26

Другие вопросы по тегам:

Похожие вопросы: