Ubuntu系统打deb包
新建一个文件夹
mkdir test
测试的test目录结构如下图的
test目录下所有的文件(除了DEBIAN目录)都会解压缩到根目录下(/)。
- DEBIAN 目录下存放的deb安装卸载需要使用的脚本文件
- /etc/udev/rules.d 放置了Android设备的规则文件
- lib/systemd/system/ 目录下当值测试软件的服务描述文件 ,使用systemctl 管理服务程序
- /opt/test test测试软件安装在/opt/目录下
- /usr/share/applications 下放置test软件的快捷启动项
deb包的安装脚本编写
DEBIAN目录可以编写的脚本很多,主要使用control,preinst,postinst,prerm,postrm这5个脚本
- control 主要描述软件的一些信息,依赖软件,库
- preinst 是解压安装软件到目录前执行的脚本程序,通常在安装或升级软件前,需要关闭已经运行的一些软件
- postinst 是解压安装软件到后执行的脚本,通常会对程序做一些配置,启动服务程序,软件
- prerm 是卸载删除软件前执行的脚本程序,通常会杀死已经运行起来的程序,清除一些配置
- postrm 是删除软件文件后执行的脚本, 通常继续做一些清理工作
control脚本的大致内容如下:
大致信息看名字就知道怎么配置,主要是Depends,Pre-Depends描述软件包的依赖软件或者动态库,Conflicts描述冲突软件包的版本信息。
打包成deb包
使用dpkg-deb -b命令打包, module_name 就是我们创建的test目录, out_deb 就是输出的deb安装包名。
dpkg-deb -b ${module_name} ${out_deb}