2013-06-27 5 views
3

У меня есть скрипт python, который запускает подобную демонам службу, теперь я создал пакет python. Я создал пакет .deb оттуда, но я хочу, чтобы сценарий запускался с выскочкой, но я не могу сжимать файлы в папке/etc/init ubuntu автоматически, когда установлен пакет .deb, так что мой демон не " t необходимо запустить вручную при перезагрузке. Я не знаю, если я объяснил это хорошо, но я не знаю, как объяснить это лучше ...скрипт python для .deb пакет ubuntu для установки демона

, что у меня есть: python_script.py -> запускает питона-демон

python_script. tar.gz -> пакет питона

, что мне нужно:

python.deb -> встраивают сценарий питона и настраивает выскочку для моего питона сума, так что он работает как сервис/демон

ответ

5

Вы должны искать debian packaging doc for python, другие, которые могут быть полезны, это инструмент stdeb, утилита для преобразования исходного кода на Python в Debian.

Для запуска в качестве демона вам необходимо создать сценарий init.d (вы можете увидеть, как и here более полный пример), вы можете добавить скрипт init.d в пакет, а затем вызвать " update-rc.d myscript defaults "из postinst-скрипта python.deb и вызывается" update-rc.d -f myscript remove "из сценария prerm.

+0

я хорошо знаю, мотыга, чтобы создать пакет, моя проблема заключается в том, что обычно пакеты не вещи в Установите фильтры и собери выскочку, моя проблема в том, «как создать пользовательские установки, чтобы установить питон скрипт как upstarted демон» ... – Anze

+0

Я обновил ответ – Cesar

+0

приятно! мы приближаемся! в какой части скрипта я должен перенести файл init.d в пакет на etc/init.d? Как? Как изменить скрипт postinst для запуска «update-rc.d mysck defaults»? Как мне скомпилировать пакет с пользовательским postinst? до тех пор, пока 'dpkg-buildpackage -us -uc' перезаписывает postinst ?? – Anze

3

Если вы используете стандартный способ Ubuntu для создания пакета deb, все, что вам нужно сделать, это поместить package-name.upstart в папку debian.

dh_installinit является debhelper программы, которая отвечает за установку выскочки рабочих файлов или сценариев инициализации с соответствующим умолчанием файлов в пакет создания каталогов, и в первом случае предоставления совместимости обработкой для не-выскочки систем.

См. dh_installinit.

Я нахожу здание Debian package from Bazaar branch, чтобы быть самым простым способом создания deb-пакета.

См. Также Packaging New Software.

Я использовал такой подход для создания набора пакетов Gearman Job Server. Достаточно было установить механизм-job-server.upstart.

+0

Мне удалось изменить все файлы, которые мне нужны, чтобы настроить init и все вручную, но теперь, даже если я перестроил файл md5checksum с помощью команды 'sudo find. Тип f! -regex '. *. hg. *'! -regex '. *? debian-binary. *'! -regex '. *? DEBIAN. *' -printf '% P' | xargs md5sum> DEBIAN/md5sums' Я получаю это предупреждение при установке пакета «shack»: пакет имеет плохое качество; Результаты проверки Lintian для /../dist/deb_dist/shack-0.1.1-new.deb: E: python-shack: control-file-has-bad-permissions md5sums 0664! = 0644 E: python-shack: Неверный файл-владелец-uid-or-gid debian/1000/1000 – Anze

 Смежные вопросы

  • Нет связанных вопросов^_^