使用,会经常遇到需要自己从源代码编译软件的情况,对这些软件的则有点麻烦,尤其当make脚本里面没有提供uninstall选项的时候。
在12.0之前,我一直用checkinstall来对付自己编译软件的问题,但是由于checkinstall,Pat从12.0中去掉了checkinstall。自此,我一直在寻找一个能够取代它的方便、好用的工具。前两天,.com的一篇推荐了,说是比checkinstall更好的东西。
使用checkinstall,需要先下载软件的源码,解压缩,然后运行configure, make,最后才用checkinstall替代 make install。而用src2pkg,可以直接输入 src2pkg source.tar.gz ,src2pkg会自动解压,运行configure,make,并在/tmp目录中生成最终的tgz包。甚至还可以更偷懒一点,用 src2pkg 这样的命令,连手动下载源码包的过程都免掉了。src2pkg的特别之处在于需要以root身份运行,它自己也是装在/usr/sbin/的目录中的,这个特性与运行slackbuild脚本生成tgz包类似。
src2pkg有一些命令行参数(详见man),其中 -e参数可用于向configure提供配置选项,应该会经常用到。这就带来一个问题。要知道configure接受哪些参数,常常要运行 configure --help,这样还是要先下载、解压缩源码包,前面提到的两种自动方式就不适用了,但这点小麻烦与src2pkg带来的便利相比,可以忽略不计。
这两天我试着用src2pkg编译安装了几个软件,安装、使用的过程都很正常。今后替代checkinstall的就是它了。