Скрипт инициализации не устанавливается в /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