红联Linux门户
Linux帮助

ubuntu中用checkinstall安装软件

发布时间:2016-04-05 10:55:18来源:linux网站作者:beyondkmp

Checkinstall 是一个能从 tar.gz 类的源代码自动生成 RPM/Debian 或Slackware 安装包的程序。通过 CheckInstall,你就能用几乎所有的 tar.gz 类的源代码来生成“干净”的安装或者卸载包。

我们在ubuntu下安装软件可以用apt-get来安装或者下载.deb包安装。这两种方法都是比较方便的。有时我们想安装新版本的软件时,可是apt-get安装的软件都比较老,还有的就是不更新了。而且网上好多不推出.deb包的。这样我们就必须去下载源代码来,自己编译安装。最常用的编译安装方法就是:


用 GNU Autoconf 安装程序 
一般说来,我们编译安装一个由 GNU Autoconf 配置的程序是采用如下的步骤: 
./configure && make && make install 
这个 configure 脚本文件是用来“猜”出一系列系统相关的变量,这些变量是在后面的编译过程要用到的。它将检查系统变量值是否满足编译要求,然后使用这些变量在程序包内每个文件夹下生成 Makefile。此外,configure 脚本还会生成其它文件: 
每个文件夹/子文件夹下的一个或多个 Makefile(s) 
一个名叫 config.status 的脚本 
一个文本文件 config.log 
Configure 脚本文件成功运行之后, 你会输入 make 来编译程序,得到你需要的可执行文件。如果 make 成功的完成,你可以使用 make install 来安装这个程序。 


这样安装看起来也是比较简单的,最多也就是在./configure时可能会遇到一些包依赖不足的问题,什么包不足就装上什么一般都可以解决的,不过也有那种特变态的就是包冲突了,这种就要具体问题具体分析了。看起来这样安装也比较完善啊,简单而且还可以用上新版本的软件。

可当你要来卸装这个软件时就不是那么容易了。如果当时的编译文件还保留了问题就比较容易解决了,直接cd到安装文件下,用命令make uninstall 就可以卸装原来的软件了。可是经常编译安装软件,那么多安装文件不一定都会保留的。如果找不到原来的安装文件要卸装这个软件就很难了,你要一个个文件找并删除,由于删除不干净就会留下很多零碎的垃圾文件,日积月累你的系统中就会被垃圾文件占满。还有一个问题就是如果删除不了原来的软件,要再编译安装这个软件的新版本就会出现各种冲突问题。

不过,也不要觉的这个问题太难解决了,其实早已经有人想过这个问题,并比较完善的解决了。那就是用checkinstall来解决。

用 CheckInstall 安装程序 
上节我们采用 GNU Autoconf 来编译程序,现在该是换一种方式的时候了。你可以使用CheckInstall 工具。它采用自己的指令 checkinstall 来代替 make install。其他两个指令保留下来跟以前一样,因此,现在这个指令序列使用 CheckInstall 变成: 
./configure && make && checkinstall 
指令 checkinstall 不仅默认运行了 make install,而且还监测所有安装过程中的写操作。为此,CheckInstall 使用了 Pancrazio de Mauro 所写的程序 Installwatch。在 make install 成功完成之后,CheckInstall 会产生一个 Slackware-,Debian- 或RPM- 安装包,然后按照软件包的默认配置来安装程序,并在当前目录(或标准安装包存储目录)留下一个生成的安装包。你可以通过修改变量 PAK_DIR 来修改这个保存目录。 
CheckInstall 并不只是使用 make install,它还可以与其他安装指令相协调。例如,如果安装指令为 setup.sh,那么安装指令序列变成: 
./configure && make && checkinstall setup.sh 
我们还可以让 CheckInstall 带着很多参数运行。 

如果要获得更多的参数设置可以用命令man checkinstall来查看详细信息!


本文永久更新地址:http://www.linuxdiyf.com/linux/19519.html