当前位置:首页 > 服务器类 > Linux服务器 > > CheckInstall-便民的源码安装工具

CheckInstall-便民的源码安装工具

点击次数:22 次 发布日期:2008-11-29 15:04:14 作者:源代码网
源代码网推荐
源代码网推荐
源代码网推荐  Checkinstall 是一个能从 tar.gz类的源代码自动生成RPM/Debian或Slackware安装包的程序。这样使你能用几乎所有的 tar.gz 类的源代码生成“干净”的安装或者卸载包。
源代码网推荐  
源代码网推荐  简介
源代码网推荐  
源代码网推荐  经常出现这样的问题:你很想试用的程序只有 tar.gz的源代码可用(没人提供 rpm 或者 Debian包)。这样,你只好下载回源代码,解压,然后手动编译。到目前为止,一切正常。然而,当你想删掉它的时候呢?
源代码网推荐  
源代码网推荐  Makefile文件只包括了很少情况下的卸载例程。当然,你可以把程序安装到临时文件夹,然后记下所有由程序生成或修改的文件,最后删除他们。但是如果这个程序要经常重新编译,那样做是非常痛苦的,工作量也是相当大的。 Felipe Eduardo所写的 CheckInstall [1] Sánchez Díaz Durán 就是用来解决这个问题的。
源代码网推荐  
源代码网推荐  一般说来,我们编译安 装一个由GNU Autoconf配置的程序是采用如下的步骤:
源代码网推荐  
源代码网推荐  ./configure && make && make install.
源代码网推荐  
源代码网推荐  这个 configure 脚本文件是用来“猜”出一系列系统相关的变量,这些变量是在后面的编译过程要用到的。它将检查系统变量值是否满足编译要求,然后使用这些变量在程序包内每个文件夹下生成 Makefile 。此外,configure 脚本还会生成其他文件,他们是:
源代码网推荐  
源代码网推荐  ?每个文件夹/子文件夹下的一个或多个Makefile(s)
源代码网推荐  ?一个名叫config.status的脚本
源代码网推荐  ?一个文本文件config.log
源代码网推荐  ?另一个名叫config.cache的脚本(可选的)
源代码网推荐  ?带有系统特殊定义的C头文件(*.h)(可选项)
源代码网推荐  
源代码网推荐  configure脚本文件成功运行之后, 你会输入make来编译程序,得到你需要的可执行文件。你也可能在make之后马上使用make check来运行测试。但是这只是可选的步骤,因为这需要这个程序包的支持。如果 make成功的完成了,你可以使用make install来安装这个程序了――很明显,完成这步你需要一些相关权限。程序安装好了,你可以在源代码的文件夹下输入make clean来清除这些生成的可执行文件和目标文件。如果你还想删除由configure生成的文件,那么输入 then typemake distclean。后两步同make check一样(是可选的),它们通常是开发者在开发和测试阶段所使用,也可以被一般使用者用来节省硬盘空间或者保持文件夹的结构简洁明快。另外make distclean使得我们在不同类型的电脑上编译程序成为可能。
源代码网推荐  
源代码网推荐  关于GNU Autoconf的详细资料可以在在线文档[2]上找到。在基本介绍之外,你可以通过写你自己的configure脚本、用M4编程和创建自己的宏等方式来学习更多有关GNU Build System的知识。
源代码网推荐  
源代码网推荐  CheckInstall
源代码网推荐  
源代码网推荐  前面提到,我们采用GNU Autoconf通过一系列如下指令来编译程序:
源代码网推荐  ./configure && make && make install
源代码网推荐  
源代码网推荐  现在该是换一种方式的时候了,你可以使用CheckInstall。它采用自己的指令checkinstall来代替make install。其他两个指令保留下来跟以前一样,因此,现在这个指令序列使用 CheckInstall变成了:
源代码网推荐  ./configure && make && checkinstall
源代码网推荐  
源代码网推荐  指令checkinstall不仅默认运行了make install,而且还监测所有安装过程中的写操作。为此,CheckInstall使用了Pancrazio de Mauro 所写的程序Installwatch [3]。在make install成功完成之后,CheckInstall会产生一个Slackware-, Debian- 或RPM- 安装包,然后按照软件包的默认配置安装程序,并在当前目录(或标准安装包存储目录)留下一个生成的安装包。而外,你可以通过修改变量PAK_DIR来修改保存这个目录。这样生成的安装包安装到其他机器上而无须重新编译――当然,还得考虑软件包的相互依赖性。
源代码网推荐  
源代码网推荐  heckInstall并不只是使用make install,它还可以与其他安装指令相协调。例如,如果安装指令为setup.sh,那么安装指令序列变成:
源代码网推荐  ./configure && make && checkinstall setup.sh
源代码网推荐  
源代码网推荐  我们还可以让CheckInstall带着很多参数运行。如下命令会显示所有可用的子参数,这些子参数大致分为:安装选项(Install options), 脚本处理选项(Scripting options), 信息显示选项(Info display options),安装包选项(Package tuning options),清除选项(Cleanup options)和关于CheckInstall(About CheckInstall)等。
源代码网推荐  # checkinstall -h
源代码网推荐  
源代码网推荐  如果CheckInstall带着这些参数运行,他会使用这些参数值来代替配置文件checkinstallrc中相应的值。
源代码网推荐  
源代码网推荐  CheckInstall也有自己的局限之处。它不能处理静态连接的程序,因为这样Installwatch就不能监测到安装过程中修改过文件了。总体说来,有两类连接库:动态的和静态的。这些连接库通过include-指令整合到程序中。静态连接过的程序已经包含了所有需要的库文件,运行时也就不需要再将这些库载入内存中。这种程序与安装在系统中的连接库无关,因为所谓的连接器(Linker)已经在编译时把这些库内置到可执行程序里了。
源代码网推荐  
源代码网推荐  安装
源代码网推荐  
源代码网推荐  CheckInstall已经在大一些的发行版的“程序池”(software pools)中存在很长的时间了,可以通过发行版各自提供的安装方式安装。你也可以在主页[4]上下载各种预编译好的安装包或者合适的源码包。
源代码网推荐  CheckInstall的安装非常简单,只需要很少的步骤――但要成功的安装CheckInstall你似乎需要 CheckInstall。在必要的make install之后,你输入checkinstall,就会从编译好的程序生成合适的二进制安装包。现在,你可以使用你的安装包管理程序来“干净的”安装或者卸载了。在CheckInstall创建安装包之前,你还得必须回答一个关于程序安装包管理器的问题,并且还要检查相关信息的正确性。这些信息将会出现在稍后生成的安装包的头部。
源代码网推荐  下面将展示安装checkinstall-1.6.0beta4.tgz的全过程。这会安装上CheckInstall、Installwatch和makepak,其中makepak是makepkg的修改版。如果你对新版本的改进感兴趣,请参看Release Notes [5] 和/或 Changelog [6].
源代码网推荐  ?$ tar xzf checkinstall-1.6.0beta4.tgz
源代码网推荐  ?$ cd checkinstall-1.6.0beta4
源代码网推荐  checkinstall-1.6.0beta4 ?$ make
源代码网推荐  [...]
源代码网推荐  checkinstall-1.6.0beta4 ?$ su
源代码网推荐  Password:
源代码网推荐  checkinstall-1.6.0beta4 # make install
源代码网推荐  [...]
源代码网推荐  checkinstall-1.6.0beta4 # checkinstall
源代码网推荐  checkinstall 1.6.0beta4, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
源代码网推荐  This software is released under the GNU GPL.
源代码网推荐  Please choose the packaging method you want to use.
源代码网推荐  Slackware [S], RPM [R] or Debian [D]? R
源代码网推荐  *************************************
源代码网推荐  *** RPM package creation selected ***
源代码网推荐  *************************************
源代码网推荐  This package will be built according to these values:
源代码网推荐  1 - Summary: [ CheckInstall installations tracker, version 1.6.0beta4 ]
源代码网推荐  2 - Name:   [ checkinstall ]
源代码网推荐  3 - Version: [ 1.6.0beta4 ]
源代码网推荐  4 - Release: [ 1 ]
源代码网推荐  5 - License: [ GPL ]
源代码网推荐  6 - Group:  [ Applications/System ]
源代码网推荐  7 - Architecture: [ i386 ]
源代码网推荐  8 - Source location: [ checkinstall-1.6.0beta4 ]
源代码网推荐  9 - Alternate source location: [ ]
源代码网推荐  10 - Provides: [ checkinstall ]
源代码网推荐  11 - Requires: [ ]
源代码网推荐  Enter a number to change any of them or press ENTER to continue:
源代码网推荐  Installing with make install...
源代码网推荐  ========================= Installation results =========================
源代码网推荐  [...]
源代码网推荐  ========================= Installation successful ======================
源代码网推荐  Copying documentation directory...
源代码网推荐  ./
源代码网推荐  ./NLS_SUPPORT
源代码网推荐  ./README
源代码网推荐  ./FAQ
源代码网推荐  ./TODO
源代码网推荐  ./CREDITS
源代码网推荐  ./INSTALL
源代码网推荐  ./Changelog
源代码网推荐  ./BUGS
源代码网推荐  ./installwatch-0.7.0beta4/
源代码网推荐  ./installwatch-0.7.0beta4/README
源代码网推荐  ./installwatch-0.7.0beta4/TODO/usr/src/redhat/RPMS/i386/checkinstall-1.6.0beta4-1.i386.rpm
源代码网推荐  ./installwatch-0.7.0beta4/VERSION
源代码网推荐  ./installwatch-0.7.0beta4/INSTALL
源代码网推荐  ./installwatch-0.7.0beta4/CHANGELOG
源代码网推荐  ./installwatch-0.7.0beta4/BUGS
源代码网推荐  ./installwatch-0.7.0beta4/COPYING
源代码网推荐  ./RELNOTES
源代码网推荐  ./COPYING
源代码网推荐  Copying files to the temporary directory...OK
源代码网推荐  Striping ELF binaries and libraries...OK
源代码网推荐  Compressing man pages...OK
源代码网推荐  Building file list...OK
源代码网推荐  Building RPM package...OK
源代码网推荐  NOTE: The package will not be installed
源代码网推荐  Erasing temporary files...OK
源代码网推荐  Writing backup package...OK
源代码网推荐  Deleting temp dir...OK
源代码网推荐  ****************************************************************
源代码网推荐  完成。
源代码网推荐  
源代码网推荐  新的安装包保存在 /usr/src/redhat/RPMS/i386/checkinstall-1.6.0beta4-1.i386.rpm
源代码网推荐  
源代码网推荐  你可以在系统中随时安装它:
源代码网推荐  rpm -i checkinstall-1.6.0beta4-1.i386.rpm
源代码网推荐  ****************************************************************
源代码网推荐  checkinstall-1.6.0beta4 # cd /usr/src/redhat/RPMS/i386/
源代码网推荐  i386 # rpm -i checkinstall-1.6.0beta4-1.i386.rpm
源代码网推荐  i386 #
源代码网推荐  
源代码网推荐  Debian 的用户可以使用dpkg -i来安装。 Slackware用户用 installpkg可以达到同样目的。
源代码网推荐  
源代码网推荐  使用包管理程序的查询语句,你可以检查安装包中文件是否完全在程序库中记录了,还可以查看安装包头部的一些额外信息。在此
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐
源代码网供稿.
网友评论 (0)
会员中心
服务器类
本站推荐
服务器类之精华