经常需要在系统中安装一些软件包,如果没有现成的 deb 包,那只能自己做了。除了用正规的 dh_make 命令来做之外,还可以用 dpkg-deb 或 checkinstall 命令来制作。
dpkg-deb 适合把不需要通过源码编译,即已经有现成安装文件的文件集作成 deb 包。具体方法如下:
1. 新建一个空的目录,名字可以任意。
2. 把需要安装的文件复制到新目录中,并按照安装后的绝对路径存放。
3. 新建 DEBIAN 子目录,并编写一个 control 文件存放在其中。
最简单的 control 文件可参照如下范本:
Package: ctemplate
Version: 0.95
Section: Internet
Priority: optional
Maintainer: root@myhost.net
Architecture: i386
Description: A html template engine for C++
4. 用 dpkg-deb -b 命令来打包。
假设我们第1步中新建的目录名为 package。那我们 cd 到 package 目录的上一层,然后运行命令 "dpkg-deb -b package package"。这样就会在 package 目录中生成一个 ctemplate_0.95_i386.deb 包。关于这个命令的具体参数解释,可参考 man dpkg-deb。
checkinstall 是一个能跟踪由“make install”或类似命令安装的所有文件,并为这些文件创建Slackware、RPM或者Debian安装包,然后自动安装的工具程序。 它的使用非常傻瓜式,在运行完 "./configure; make " 之后,直接运行 checkinstall,回答完几个问题后即可完成安装和制作包的过程。