首页 电脑 电脑学堂 查看内容

linux下源码软件包的安装

2013-7-31 14:32 669 0

摘要: 我们在使用linux做服务器的时候,因为linux自带的软件包都有些老,不是最新的,但是有时候我们为了使用最新的软件,会使用最新的软件的源码来进行安装。所以我们需要用心去做了...在我们拿到一个软件的...
关键词: nbsp 源码 文件 apache apr 拆解 echo 但是 basename program

我们在使用linux做服务器的时候,因为linux自带的软件包都有些老,不是最新的,但是有时候我们为了使用最新的软件,会使用最新的软件的源码来进行安装。所以我们需要用心去做了...在我们拿到一个软件的源码时,源码一般都是使用tar.gz或tar.bz2结尾。源码--》配置文件(./configure)--》编译(makefile)--》(可执行 头文件 库文件 手册)--》安装对于源码的安装,我们说西安要确定机器安装了编译环境使用yum  grouplist |less 查看是否安装了Develoment Libraries 和Develoment Tools开发环境,如果没有,请先安装,否则没法源码安装那我们首先要对源码进行包的拆解tar -zxvf 源码 -C /usr/local/src/(对源码包解压到一个路径,/usr/local/src/是系统给我们用来存放源码拆解后的文件路径)源码解压后我们就可以对源码安装了。源码文件解压后进入拆解后的文件,一般会看到很多个文件夹或文件,其中有一个INSTALL文件或README文件,以及配置文件这是我们安装前必看的说明书我们一安装apache服务为例做个实验。安装前先把源码下载到机器里,进入所在目录 进入apsche拆解后的目录我们看到一个INSTALL文件,查看一下 我们要查看一下configure的使用说明 接下来开始配置安装apache报错了,我们来看啊可能否安装了apr我们装了apr,但是有的调用的文件并不都在apr里,有的在apr-devel里,我们去在安装看下,然后我们再次执行apache的安装这次有报错了,但是说的明确了,说我们的apr的版本太低了,那我们重新安装我们把apr新版的拆解到/usr/local 下我们安装apr包和apr-util包我们会看到生成了很多的makefile文件,那我们直接make安装后我们进入apr文件内,因为apache要调用他的库,可是apr是我们自己安装的,不是默认的路径,所以我们要对apr库进行连接处理,使apache可以调用那么我没呢可以简单些直接建立一个系统可是识别的文件,这样可以避免对所有的库文件做链接建立apr.conf文件,把apr的库路径加入进去就ok!然后我们要更新缓存,在查看是否成功接着安装apr-util然后make和make install现在apr的问题已经解决了,那我们重新安装apache但是还是报错 ,说我们缺少apr-1-config ,那我们在说明一次,添加他的路径为了避免麻烦,我们再次查询一下所有与apr相关的配置 ,全部带上找到后,我们再次重新安装但是又报错了。说我们的pcre没有找到我们来解决他,安装prec我们再来安装apache的源码没有报错,安装成功,生成了很多的makefile文件那我们就安装apache  make && make install到此,我们的apache就是安装完成了我们看到了,源码的安装很复杂,而且很容易出错,我们需要做很多的调试在我们安装完成后,但是不完美,没法开机自动启动没关系,我们来帮他,手动启动或自动启动进入/usr/local/apache/bin 目录下我们只需要在命令行下输入 ./httpd -f /usr/local/apache/http.conf 就可以启动,但是不是很完美,我们可以给他写一个启动脚本一般的服务的脚本放在rtc/init.d/目录下,我们就去这里写apache服务脚本脚本如下:(个人写的,有些简陋,请见谅) #!/bin/bashprog=/usr/local/apache/bin/httpdconfigfile=/etc/apache/httpd.conflockfile=/var/lock/subsys/httpd. /etc/init.d/functionsstart() {  if [ -e $lockfile ];then     echo "The program `basename $prog` is started!"  else     echo "The program `basename $prog` is starting......"     sleep 2     $prog && echo -e "[ok]" && touch $lockfile || echo -e  "[fail]"  fi}stop() {  if [ -e $lockfile ];then     echo "The program `basename $prog` is stoping......"     sleep 2     killproc httpd && echo "[ok]" && rm -rf $lockfile || echo "[fail]"  else     echo "The program `basename $prog` is stoped!"  fi}status() {  if [ -e $lockfile ];then     echo "The program `basename $prog` is running......"  else     echo "The program `basename $prog` is stop......"fi}case "$1" instart)     start     ;;stop)     stop     ;;status)     status     ;;restart)     stop     start     ;;*)     echo "usage: start|stop|status|restart"esac我们对写下的脚本测试一下上面的是我们手动的启动我们的服务,我们可以让它开机启动,使用chkconfig命令来实现,我们要在/etc/init.d/httpd 内增加chkconfig把httpd的启动缓存加入chkconfig这样子httpd服务开机启动的目地就达到了!
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部