使用CheckInstall生成deb安装包
对于以源代码方式进行发布的软件包,我们进行安装的时候一般会执行

./configure
make
make install

make uninstall
- 需要保存编译过的源码包以便卸载时使用
- 保存的源码包不能再进行configure(改变安装目录等操作),因为这样会导致卸载时的脚本与安装时不同
- 有些作者不提供make的uninstall目标
- 有时会忘记哪个包有没有安装过
有一款软件 CheckInstall 为我们避免了上面的麻烦,她可以源代码自动生成 RPM/Debian 或Slackware 安装包的程序。这个软件包可以在ubuntu的源上找到。CheckInstall的使用非常方便,只要将上面的 make install 命令变为 checkinstall 就行了。安装过程就变为

./configure
make
checkinstall
指令 checkinstall 不仅默认运行了 make install,而且还监测所有安装过程中的写操作。为此,CheckInstall 使用了 Pancrazio de Mauro 所写的程序 Installwatch。在 make install 成功完成之后,CheckInstall 会产生一个 Slackware-,Debian- 或RPM- 安装包,然后按照软件包的默认配置来安装程序,并在当前目录(或标准安装包存储目录)留下一个生成的安装包。我的系统是ubuntu,执行checkinstall后默认产生了deb包。需要注意的是:
- 由于需要执行安装过程,所以 checkinstall 得拥有 make install 需要的权限。
- 执行 checkinstall 后需要进行一些配置,其中版本号是必须填写的。
下面是运行checkinstall以后的部分输出:

checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
本软件以 GNU GPL 版权协议颁布
*****************************************
**** Debian package creation selected ***
*****************************************
*** Warning: The package version "0.8_beta1" is not a
*** Warning: debian policy compliant one. Please specify an alternate one
软件包将用下面的值来创建:
0 - Maintainer: [ root@tiger-laptop ]
1 - Summary: [ ghmm ]
2 - Name: [ ghmm ]
3 - Version: [ ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ i386 ]
8 - Source location: [ ghmm-0.8_beta1 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
输入一个数字来改变它们,或按回车键继续:3
输入新的版本号
>> 0.8
软件包将用下面的值来创建:
0 - Maintainer: [ root@tiger-laptop ]
1 - Summary: [ ghmm ]
2 - Name: [ ghmm ]
3 - Version: [ 0.8 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ i386 ]
8 - Source location: [ ghmm-0.8_beta1 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
输入一个数字来改变它们,或按回车键继续:
Installing with make install

(略去安装的信息)
压缩 man 手册页……OK
创建文件列表……OK
创建 Debian 包……OK
安装 Debian 包……OK
删除临时文件……OK
生成备份包……OK
删除临时目录……OK
**********************************************************************
Done. The new package has been installed and saved to
/home/tiger/Download/ghmm-0.8_beta1/ghmm_0.8-1_i386.deb
You can remove it from your system anytime using:
dpkg -r ghmm
**********************************************************************