在Linux分发软件有两种形式,一种是源码,一种是安装包。当目标机器不带有编译环境,且不能联网时,安装包就是唯一的方案了。
Linux 下的安装包有多种格式,不同Linux使用的格式并不完全相同。市场上主流的安装包格式是*.deb
*.rpm
其中deb
是debian系列的安装包,rpm
是CentOS系列的安装包。
本文主要介绍的是一种简单的deb
安装包的制作方法,使用范围有限。如需了解更多可以阅读Debian 新维护人员手册
所需工具
如果没有安装dpkg
工具包的话,就先安装(一般是默认安装的)
sudo apt-get install dpkg
文件结构
example-package ├── DEBIAN (必须) │ ├── control (必须) │ └── md5sums └── usr ├── local │ ├── bin (可执行文件安装位置) │ └── lib (使用到的相关库,目标机器没有安装) └── share (非必须) └── doc └── example-package
准备相关文件
程序编译完成后,将编译后的文件放到 example-package/usr/local/bin
下
根据需要按上方的文件结构添加内容
编写control 文件
Package: example-package Version: 1.0-1 Architecture: amd64 # 运行的CPU架构 Maintainer: UserName <邮箱> Installed-Size: 10 Section: unknown # 应用类型 不知道就用 unknown Priority: optional # 优先集 一般就用 optional Description: this is a test package # 简介 不超过60个字符 this is a test # 详细介绍
制作deb包
- 计算MD5
find ./usr -type f | xargs -I{} md5sum {} > DEBIAN/md5sums
- 打包
dpkg-deb -b example-package
命令执行完成之后会在当前目录生成
example-package.deb
文件,一个deb安装包就OK了。
小结
此方法可以方便的制作安装包,可以方便的分发自己的软件。但是亦有其缺陷,没有相应的更改记录。这种打包方法生成的包不能发布到软件源,但一般软件分发没有问题,如需更详细的打包方法参考
原文发布时间:2016-02-03