Скрипт инициализации не устанавливается в /etc/init.d

У меня есть пакет с исходным кодом, куда я хочу добавить простой скрипт init.d. Я знаю, что dh_installinit должен помочь: когда я запускаю его, он создает примеры postrm, prerm, postinstall для выполнения update-rc.d после установки (что, впрочем, нормально), но я не могу создать свой новый созданный пакет скопировать файл в /etc/init.d при установке apt-get!

Заранее спасибо сообществу serverfault!

2 ответа

Решение

От dh_installinit(1):

Если файл с именем debian/package.init существует, то устанавливается в etc/init.d/package в каталоге сборки пакета, где "пакет" заменяется именем пакета.

Если файл с именем debian/package.default существует, то устанавливается в etc/default/package в каталоге сборки пакета, где "пакет" заменяется именем пакета.

Нашел это:

Сценарии /etc/init.d должны рассматриваться как файлы конфигурации, либо (если они присутствуют в пакете, то есть в файле.deb), помечая их как conffiles, либо, (если их нет в.deb) путем правильного управления ими в сценариях сопровождающего (см. Файлы конфигурации, раздел 10.7). Это важно, поскольку мы хотим дать локальному системному администратору возможность адаптировать сценарии к локальной системе, например, отключить службу без деинсталляции пакета или указать некоторые специальные параметры командной строки при запуске службы, а убедившись, что их изменения не потеряны при следующем обновлении пакета

В http://www.debian.org/doc/debian-policy/ch-opersys.html

Вот документы по использованию conffiles

http://www.debian.org/doc/manuals/maint-guide/ch-dother.en.html

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