python - 将 Python 应用程序作为 debian 包分发,但作为服务分发

标签 python linux debian setuptools

你好,我正在尝试为我的应用程序创建一个 debian 包,这就是结构:

Project
  |start.py
  |ProyectPackage2/...
  |ProyectPackage1/...
  |DataExtra/...
  |Settings/service.cfg

当我想运行我的应用程序时,我会写:

python start.py

而且有效。

但我想在 debian 包中分发我的应用程序,并且我想要以下内容:

1- 安装 debian 软件包后,我想在/usr/sbin/中添加一个新命令,例如 my_service

2- 额外内容必须位于/usr/lib/my_service/extracontent

3- 安装包时必须运行服务

我试过了

python stdeb

它创建了一个用于打包的 debian 结构,但是,我想添加脚本来做:创建命令、复制内容、安装服务。

提前致谢。

最佳答案

在您的debian/ 文件夹中,您需要以下文件来解决您的问题:

init 使用您的初始化脚本。此文件将安装到 /etc/init.d/myservice 并将在启动时自动启动。您可以(并且应该)使用 /etc/init.d/skeleton 作为您的初始化脚本的模板。

install 包含要安装的文件列表以及目标目录。例如

DataExtra/* usr/lib/my_service/extracontent

可能适合您的项目。查看 dh_install 的手册页。

您需要的其他文件是 debian/rulesdebian/controldebian/changelog(您需要更改 control changelog 根据您的项目)。

查看 Debian 新维护者指南 以获得更详细的说明。

关于python - 将 Python 应用程序作为 debian 包分发,但作为服务分发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22918246/

相关文章:

python - Excel 文件和 DataFrame 没有数字数据可绘制错误

python - 使用 python 抓取 html 表

linux - 当 tid 是内核线程时,sched_setaffinity () 调用出错

java - Raspberry Pi 2 - 在纵向模式下移动物体时出现失真

python - 在 python 中反转字符串的最快方法

python - 如何合并不是 tensorflow 中的所有摘要?

MySQL 5.5 升级到 5.6 创建问题

linux - OpenOffice.org 模板在 Linux 中的位置是什么?

linux - 如何检测perl脚本中的 "network idle"情况?

c# - 让 G-WAN 与 Mono 配合使用