目录

DEB包的制作方法

目录

想要制作deb包,有多种方法,这里只说我认为最简单的方法dpkg-deb -b来生成deb

原理是将要打包进deb包中的所有文件复制到一个根目录中,然后在编写控制脚本,最后一起打包生成

注意
我们把这个根目录路径保存到一个变量中,这里假设为${buildroot}它的值是~/buildroot
然后,要打包的文件以这个根目录为开始,保持和系统一致的路径,例如,你这个deb包安装后要释放一个启动脚本到系统的/etc/init.d/目录下, 那么你需要在这个根目录中创建相应的目录层级,然后将文件复制到这个目录下。例如:~/buildroot/etc/init.d
  1. 然后我们还需要编写~/buildroot/DEBIAN/contorl文件,这是最重要的文件,它描述了这个包的信息
1
2
3
4
5
6
7
8
9
Package: helloworld        # 软件包名字
Version: 1.0.0             # 软件包版本
Section: unkown            # 软件包的分类 https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections
Priority: optional         # 软件包的优先级,这里一般都是 optional 表示软件包是可选的
Architecture: amd64        # 软件包的架构
Depends: zlib1g-dev        # 软件包依赖哪个软件包,多个用","号分隔,多行用"\"号分隔
Maintainer: Jerry Wang[1976883731@qq.com] # 软件包维护者
Description: nginx build by hws # 软件包描述
Homepage: https://www.hws.com   # 软件包主页
  1. 下面四个操作是可选的

    • 编写(安装前执行的脚本)DEBIAN/preinst
    • 编写(安装后执行的脚本)DEBIAN/postinst
    • 编写(卸载前执行的脚本)DEBIAN/prerm
    • 编写(卸载后执行的脚本)DEBIAN/postrm
  2. 最后执行 dpkg-deb -b 打包文件

1
dpkg-deb -b ${buildroot} helloworld-1.0.0-linux-amd64.deb

主机大师deb包参考脚本

相关内容