Ковариантный означает преобразование из более широкого (супер) в более узкий (суб). Например, у нас есть два класса: один - животное (супер), а другой - кошка, а затем, используя ковариант, мы можем преобразовать животное в кошку.
Contra-вариант является противоположностью ковариант, что означает кошка к животному.
Инвариант означает, что он не может конвертировать.
На этом этапе я бы проверил содержимое созданного файла .deb. Для этой цели вы можете использовать dpkg-deb -c.
Если сценарий инициализации находится в .deb, он должен быть установлен в /etc/init.d, как показано ниже:
... drwxr-xr-x root/root 0 2009-06-03 14:01 ./etc/ drwxr-xr-x root/root 0 2009-06-03 14:01 ./etc/init.d/ -rwxr-xr-x root/root 2558 2009-02-13 11:27 ./etc/init.d/balance ...
Если вы используете последнюю версию Debian, содержимое вашего пакета может быть сгенерировано из debian / tmp вместо debian / project, как вы, кажется, ожидаете. Вы можете переместить файлы из debian / projet в debian / tmp с помощью dh_install.
Только предположите, вы используете параметр -P для других сценариев dh_ *, но не этот? Если вы используете эту опцию, вам нужно использовать ее во всех скриптах dh_ *.
Я считаю, что вам следует взглянуть на служебный сценарий update-rc.d, который заботится о создании / удалении символических ссылок в /etc/init.d/.
Используйте этот сценарий в управляющих файлах DEBIAN "postinst" и "postrm".
Например, для 'postinst': update-rc.d mswitch start 20 2 3 4 5. stop 0 1 6.
Например, для postrm: update-rc.d mswitch удалить