在Linux分发软件有两种形式,一种是源码,一种是安装包。当目标机器不带有编译环境,且不能联网时,安装包就是惟一可选的方案了。html
Linux 下的安装包有多种格式,不一样Linux使用的格式并不彻底相同。市场上主流的安装包格式是*.deb
*.rpm
其中deb
是debian系列的安装包,rpm
是CentOS系列的安装包。架构
本文主要介绍的是一种简单的deb
安装包的制做方法,使用范围有限。如需了解更多能够阅读Debian 新维护人员手册ide
若是没有安装dpkg
工具包的话,就先安装(通常是默认安装的)工具
sudo apt-get install dpkg
example-package ├── DEBIAN (必须) │ ├── control (必须) │ └── md5sums └── usr ├── local │ ├── bin (可执行文件安装位置) │ └── lib (使用到的相关库,目标机器没有安装) └── share (非必须) └── doc └── example-package
程序编译完成后,将编译后的文件放到 example-package/usr/local/bin
下
根据须要按上方的文件结构添加内容ui
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 # 详细介绍
find ./usr -type f | xargs -I{} md5sum {} > DEBIAN/md5sums
dpkg-deb -b example-package
命令执行完成以后会在当前目录生成 example-package.deb
文件,一个deb安装包就OK了。this
此方法能够方便的制做安装包,能够方便的分发本身的软件。可是亦有其缺陷,没有相应的更改记录。这种打包方法生成的包不能发布到软件源,但通常软件分发没有问题,如需更详细的打包方法参考code
参考: Debian 新维护人员手册htm