直接上例子,安装一个golang项目,用supervisor来维持,用deb来安装过程
有一个 stb目录,下面有三个子文件夹,一个etc存放supervisor的配置,一个opt存放编译好的可执行文件,
stb
----Debian
--------control
--------preinst
--------postinst
----etc
--------supervisor
------------conf.d
---------------opera.conf(supervisor配置文件)
----opt
--------opera(可执行文件)
1.Debian 软件包内容解释
Debian 软件包中,DEBIAN 目录包含了软件包的控制信息和安装/卸载脚本等元数据文件。这些文件对于管理软件包的安装、配置和卸载非常重要。以下是一些常见的 DEBIAN 目录中的文件和它们的作用及用法:
control
文件:
作用:包含软件包的元数据信息,如软件包名称、版本、依赖关系、描述等。
用法:这个文件由软件包维护者编辑,以描述软件包的特性和依赖关系。它遵循特定的格式,以便 dpkg 工具能够正确解析和处理这些信息。
preinst
、postinst
、prerm
、postrm
脚本文件:
作用:这些文件包含了软件包在安装前、安装后、卸载前和卸载后执行的脚本命令。它们用于执行特定的操作,如配置文件、创建用户、启动服务等。
用法:软件包维护者可以使用这些脚本文件来自定义软件包的安装和卸载过程。这些脚本会在相关操作时由 dpkg 工具自动执行。
conffiles
文件:
作用:列出了软件包安装后的配置文件列表。这有助于 dpkg 工具识别哪些文件是配置文件,以便在升级软件包时保留用户定制的配置。
用法:这个文件是由 dpkg-deb 自动生成的,通常不需要手动编辑。它用于确保在软件包更新时不会覆盖用户自定义的配置文件。
templates
文件:
作用:用于包含 debconf 模板,允许软件包与用户进行交互以获取配置信息。
用法:软件包维护者可以使用 debconf 模板在安装软件包时向用户提出问题,以定制软件包的配置。这些模板通常在 postinst 脚本中使用。
md5sums
文件:
作用:包含了软件包中文件的 MD5 校验和,用于验证软件包文件的完整性。
用法:这个文件是由 dpkg-deb 自动生成的,通常不需要手动编辑。它用于确保软件包在传输或存储过程中没有损坏或被篡改。
2.其他文件作用(etc,opt)
这些不是必须的,看自己按需加其他的目录,
比如我这里,这两个文件会在安装时,自动对应到linux 的 etc 和 opt,如果有其他的目录,也是同样道理,执行 dpkg -i 生成的deb安装包,会在我的linux 的 /etc 目录下生成 supervisor/conf.d/opera.conf,同时自动会把 opt内的文件资源,对应到linux 的 /opt 目录下