WDlinux官方论坛's Archiver

苦丁茶 发表于 2012-8-17 13:22

Linux 的源码安装工具 CheckInstall

[p=30, 2, left]一.关于 CheckInstall的背景知识:[/p][p=30, 2, left][/p][p=30, 2, left]前面我们介绍了怎么在wdOS系统中使用源码编译安装的方式来安装LAMP,LNMP,LNAMP环境以及基于它们的应用如安装Discuz论坛,Wordpress博客和PhpMyAdmin数据库的管理套件等等。不知道各位会不会像我那样在安装过程中遇到需要卸载然后重新编译安装的问题只,make  file 只有少数的卸载例子,所以使用make uninstall时很多时候都不能帮我们清理已经安装的内容。而如果你的程序是需要经常重复编译,你就得每次都到这些目录下删除原本安装过得内容,这个过程十分的麻烦。[/p][p=30, 2, left][/p][p=30, 2, left]CheckInstall 是一款优秀的源码安装软件,它使得 Linux 软件管理更加方便。Checkinstall 是一个能从 tar.gz 类的源代码自动生成 RPM/Debian 或Slackware 安装包的程序。通过 CheckInstall,你就能用几乎所有的 tar.gz 类的源代码来生成“干净”的安装或者卸载包。 特别是在源码需要经常重复编译的情况下,CheckInstall 可以让你丝毫不破坏系统一致性的前提下完全的卸载程序。而且,你还可以使用这些编译好的安装包直接在其他的机器上安装无须再重新编译 。[/p][p=30, 2, left][/p][p=30, 2, left]二.安装过程:[/p][p=30, 2, left][/p][p=30, 2, left]下载checkinstall源码到/usr/local/src这个目录下:[/p][p=30, 2, left][/p][p=30, 2, left][attach]1778[/attach]
[/p][p=30, 2, left]解压缩源码包: tar xf checkinstall-1.6.2.tar.gz.1[/p][p=30, 2, left][attach]1779[/attach]
[/p][p=30, 2, left]进入checkinstall-1.6.2这个目录下,进行编译:[font=Times New Roman]make[/font][/p][p=30, 2, left][attach]1780[/attach]
[/p][p=30, 2, left]完成后进行安装初始化:make install[/p][p=30, 2, left][attach]1781[/attach]
[/p][p=30, 2, left]安装完后使用[font=Times New Roman]checkinstall[/font][font=宋体]命令将[/font]checkinstall本身打成[font=Times New Roman]rpm[/font][font=宋体]包[/font]
:[/p][p=30, 2, left][attach]1782[/attach]
[/p][p=30, 2, left]这一步选择[font=Times New Roman]y[/font][font=宋体]:创建一系列默认的封装文档[/font][/p][p=30, 2, left][attach]1783[/attach]
[/p][p=30, 2, left]打包方式选择RPM[font=宋体]:[/font][/p][p=30, 2, left][attach]1784[/attach]
[/p][p=30, 2, left]下一步如果你不需要修改这些默认值的话,可以enter[font=宋体]一下进行下一步[/font][/p][p=30, 2, left][font=宋体][attach]1785[/attach][/font][/p][p=30, 2, left]提示checkinstall-1.6.2-1.i386.rpm[font=宋体]已经封装在[/font][font=Times New Roman]/usr/src/redhat/RPMS/i386/[/font][font=宋体]这个目录下:[/font][/p][p=30, 2, left][attach]1786[/attach]
[/p][p=30, 2, left] 根据上面提示进入到[font=Times New Roman]/usr/src/redhat/RPMS/i386/[/font][font=宋体]这个目录下,[/font]ls[font=宋体]一下就会看到已经封装好的[/font][font=Times New Roman]checkinstall[/font][font=宋体]封装包:[/font][/p][p=30, 2, left][attach]1787[/attach]
[/p][p=30, 2, left]使用 [font=Times New Roman]rpm -i checkinstall-1.6.2-1.i386.rpm[/font][font=宋体]来安装 [/font][/p][p=30, 2, left][attach]1788[/attach]
[/p][p=30, 2, left]安装完毕后可以使用rpm查询语句rpm -qa | grep checkinstall ,查看是否安装成功:[/p][p=30, 2, left][attach]1789[/attach]
[/p][p=30, 2, left]或者使用包管理程序的查询语句rpm -qi checkinstall 检查安装包中文件是否完全在程序库中记录了以及安装包头部的一些额外信息。 [/p][p=30, 2, left][attach]1790[/attach]
[/p][p=30, 2, left][/p][p=30, 2, left]下面就来讲讲[font=Times New Roman]checkinstall[/font][font=宋体]的配置文件:[/font][/p][p=30, 2, left][/p][p=30, 2, left]我们可以通过修改配置文件 [font=Times New Roman]/usr/local/lib/checkinstall/checkinstallrc [/font][font=宋体]来改变 [/font][font=Times New Roman]CheckInstall [/font][font=宋体]的默认配置。 [/font][/p][p=30, 2, left]在这个配置文件中,值得注意的有以下三个变量:[/p][p=30, 2, left]INSTYPE [font=宋体]:这里设置默认的封装类型  有[/font][font=Times New Roman]slackware  rpm  debian[/font][font=宋体]三个选项[/font][/p][p=30, 2, left]如果你不确定接下来使用什么封装类型,你可以选择空着,下次封装时系统会提示选择要封装的类型[/p][p=30, 2, left][attach]1791[/attach]
[/p][p=30, 2, left]PAK_DIR[font=宋体]: 决定安装包的存储目录 [/font]
同样的,你可以先空着[/p][p=30, 2, left][attach]1792[/attach]
[/p][p=30, 2, left]INSTALL [font=宋体]:决定是只生成安装包还是生成包后马上安装 [/font][/p][p=30, 2, left]0[font=宋体]-只生成安装包[/font][/p][p=30, 2, left]1[font=宋体]-不仅生成安装包,还将包立即安装[/font][/p][p=30, 2, left][attach]1793[/attach]
[/p][p=30, 2, left]三.基于checkinstall这个工具的应用实例:[/p][p=30, 2, left][/p][p=30, 2, left]说明:我这里以[font=Times New Roman]nginx-1.0.4.tar.gz[/font][font=宋体]为例进行说明。其实前面几步都与我们之前做过的[/font][font=Times New Roman]nginx[/font][font=宋体]源码安装一样,不一样的只是[/font][font=Times New Roman]make install[/font][font=宋体]这一步用[/font][font=Times New Roman]checkinstall [/font][font=宋体]来代替,然后根据提示安装即可。[/font][/p][p=30, 2, left]进入到[font=Times New Roman]/usr/local/src[/font][font=宋体]这个目录先下载[/font][font=Times New Roman]nginx[/font][font=宋体]的源码包[/font][/p][p=30, 2, left][attach]1794[/attach]
[/p][p=30, 2, left]解压缩: [font=Times New Roman]tar -zxvf [/font]nginx-1.0.4.tar.gz [/p][p=30, 2, left][attach]1795[/attach]
[/p][p=30, 2, left]由当前目录[font=Times New Roman]cd [/font][font=宋体]进入[/font][font=Times New Roman]nginx-1.0.4 [/font][font=宋体]这个目录下,设置编译需要用到的参数:[/font][/p][p=30, 2, left]./configure \[/p][p=30, 2, left]    --user=nginx \[/p][p=30, 2, left]    --group=nginx \[/p][p=30, 2, left]    --prefix=/usr/share \[/p][p=30, 2, left]    --sbin-path=/usr/sbin/nginx \[/p][p=30, 2, left]    --conf-path=/etc/nginx/nginx.conf \[/p][p=30, 2, left]    --error-log-path=/var/log/nginx/error.log \[/p][p=30, 2, left]    --http-log-path=/var/log/nginx/access.log \[/p][p=30, 2, left]    --pid-path=/var/log/run/nginx.pid \[/p][p=30, 2, left]    --lock-path=/var/log/lock/subsys/nginx \[/p][p=30, 2, left][/p][p=30, 2, left][attach]1796[/attach]
[/p][p=30, 2, left]下一步就是进行编译:make[/p][p=30, 2, left][attach]1797[/attach]
[/p][p=30, 2, left]我们要用到[font=Times New Roman]checkinstall[/font][font=宋体]工具,所以下一步用[/font][font=Times New Roman]checkinstall[/font][font=宋体]代替[/font][font=Times New Roman]makeinstall[/font][font=宋体],然后根据提示一步步来:[/font][/p][p=30, 2, left][attach]1798[/attach]
[/p][p=30, 2, left]打包方式选择rpm[font=宋体]:[/font][/p][p=30, 2, left][/p][p=30, 2, left][attach]1799[/attach]
[/p][p=30, 2, left]rpm[font=宋体]包的建立会用到的值,如果没有要修改的,[/font][font=Times New Roman]enter[/font][font=宋体]开始下一步:[/font][/p][p=30, 2, left][attach]1800[/attach]
[/p][p=30, 2, left]封装成功:[/p][p=30, 2, left][attach]1801[/attach]
[/p][p=30, 2, left]根据提示cd 进入到/usr/src/redhat/RPMS/i386/ 这个目录下[/p][p=30, 2, left][attach]1802[/attach]
[/p][p=30, 2, left]使用rpm -ivh  nginx-1.0.4-1.i386.rpm来进行安装[/p][p=30, 2, left][attach]1803[/attach]
[/p][p=30, 2, left]安装完之后可以检查是否存在:[/p][p=30, 2, left][attach]1804[/attach]
[/p][p=30, 2, left]查看更详细的信息:[/p][p=30, 2, left][attach]1805[/attach]
[/p][p=30, 2, left]如果需要重新安装这个rpm[font=宋体]包,可以使用[/font][font=Times New Roman]rpm  -e  nginx [/font][font=宋体]来删除再重新初始化安装即可。[/font][/p]
[p=30, 2, left][/p]

sslin 发表于 2012-9-19 13:41

好用的工具讓系統更好管理

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.