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