yum仓库配置源代码编译安装初步总结
2013-07-28 14:22
351 查看
Yum编译安装web源程序并启动服务器软件一、编译安装1.1 Rpm与yum的小小区别在没有配置yum 源的时候,他俩没太大的差别,除了选项的不同。而在给yum配置了yum源之后,他们就有了很大的不同。首先yum仓库就好比一个大卖场,而且是一个专为yum提供的一个免费的卖场,里面的rpm包随便 yum使用,而且它还能解决包与包的依赖关系,将有所依赖的包全部安装,rpm则不能。1.2 搭建yum仓库。创建yum仓库有另种方法,一种是修改/etc/yum.conf文件,另一种是在/etc/yum.repos.d/下创建以.repo结尾的文件。修改/etc/yum.conf[main]cachedir=/var/cache/yum/$basearch/$releaseverkeepcache=0debuglevel=2logfile=/var/log/yum.logexactarch=1obsoletes=1gpgcheck=1plugins=1installonly_limit=3[centos]name=centos 1.0baseurl=http://172.16.0.1/cobbler/ks_mirror/centos-6.4-x86_64/
[main]乃是全局性配置,默认一般不必改动。[centos]就是repolist--yum仓库资源了。可以列出任意多个,多多益善。也可以不必修改yum.conf,另外编译一个yum仓库必须在/etc/yum.repos.d/下创建以.repo结尾的文件才行,这里以yum.repo文件为例[dragon]name=super star 0.1baseurl=http://172.16.0.1/cobbler/ks_mirror/centos-6.4-x86_64/gpgcheck=0enabled=1同样可以实现yum仓库的创建。Rpm包安装一般都不需要编译的,而有些却需要编译,如源代码包。下面通过实例来解决源代码包的安装过程。Apache全球第一的web服务器软件网站,上面提供了大量的源程序包。到Apache网站下载源程序包www.apache.org---->http://apache.fayea.com/apache-mirror/大量的程序包尽情下载。我们下载一个httpd-2.2.25.tar.bz2然后解压,cd到解压后的文件中。
.c文件都是源程序文件,要使服务器软件能用,用gcc编译.c文件。但由于.c文件过多,而编译有必须安装特定的顺序进行,所以gcc显然实现不了。Make工具,管理一组的程序,实现将应用程序的源程序的多个源程序文件按照工程的方法来管理,能够根据一个简单的指令文件自动的实现按次序编译源程序。它大大简化降低了gcc的工作,但它仍然延续了gcc了功能,需要一个配置文件才能进行编译,这个文件是makefile。Makefile文件中指出了我们使用gcc先编译哪个文件,先编译其中的哪个片段,这样的步骤来编译。它是由脚本文件自动生成的,脚本文件是configure.它又是由软件包的作者制作的autoconf工具自动生成的,automake又能自动生成makefile.in.所以简单的步骤就是,configure脚本结合automake生成的makefile.in生了makefile文件,这时就可以用make命令编译了,编译完了使用make install安装就行了。要想编译就得安装三个软件包,gcc是基于这三个软件包的,这三个软件包安装了才有gcc工具。Desktop Platform DevelopmentServer Platform DevelopmentDevelopment tools#yum groupinstall Desktop Platform Development#yum groupinstall Desktop Server Platform Development#yum groupinstall Desktop Development tools三个包租安装完了就可以编译了。注意:有时候可能因为某种原因,三个包组装完后,检测编译环境仍会提示没有C编译器configure: error: no acceptable C compiler found in $PATH这时就需要我们多加一步,手动安装gcc了。#yum install gcc1.3 源代码编译安装三部曲:执行源代码目录中的configure脚本,即:[root@station125 httpd-2.2.25]#./configure --prefix=/usr/local/apache --enable-so --enable-rewrote 检测编译环境,让用户定义编译配置 --prefix=/urs/local/apache 当卸载的软件的时候,这个目录删除,一切搞定。 --sysconfdir=指定配置文件的存放位置[root@station125 httpd-2.2.25]#make---------------------编译[root@station125 httpd-2.2.25]#make install-------------安装原理再重复一遍./configure+makefile.in(automake自动生成的)------>makefile(可以先看一下源代码目录下本来没有makefile文件的)-------->make利用gcc的功能编译二进制代码-------->make install编译完成进行安装。执行第二步# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrote后,我们会发现,源代码目录下生成了makefile文件。1.4 启动服务器安装完成后,来到指定的安装目录/usr/local/apache下看看里头都有啥。[root@station125 httpd-2.2.25]# cd /usr/local/apache[root@station125 apache]# lsbin build cgi-bin conf error htdocs icons include lib logs man manual modules现在可以启动我们的web服务器了[root@station125 apache]#/usr/local/apache/bin/apachectl start然后查看80端口是否启用[root@station125 apache]#netstat -tnlp
或者使用[root@station125 apache]#lsof -i:80
二、服务器配置编译完成之后,要想更好的管理服务器,就需要对一些文件进行设置,让服务器更好的运行。2.1 对PATH环境变量的设置在/etc/profile.d/目录下新建一个文件可执行文件apache.sh#vim /etc/profile.d/apache.sh#cat /etc/profile.d/apache.shexport PATH=/usr/local/apache/bin:$PATH PATH=/usr/local/apache/sbin:$PATH# . /etc/profile.d/apache.sh 执行apache.sh使PATH路径多出Apache服务器的二进制可执行程序,使这些命令也可以直接使用,不用再加上路径。#echo $PATH/usr/local/apache/sbin:/usr/local/apache/bin:/usr/lib64/qt-3.3/bin:/usr/local/apache/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache/bin2.2 配置库文件# ldconfig -v: 重新搜索当前系统上所有库文件搜索路径下的库文件,并生成缓存/etc/ld.so.cache;如果不对apache配置,库文件搜索路径将不包括apache的库。配置如下:# ldconfig -v 搜索结果不包括apache的库文件路径#vim /etc/ld.so.conf.d/apache.conf#cat /etc/ld.so.conf.d/apache.conf /usr/local/apache/lib 在文件中写上编译安装的源程序的lib文件路径 # ldconfig -v 刷新缓存库文件 # ldconfig -v | grep /usr/local/apache/lib : 搜索结果显示Apache的库文件路径。ldconfig -v 刷新当前库文件信息,-v表示显示出结果,不写,就没有结果。源代码编译完成后,都要刷新库文件。ldd /bin/ls 显示ls命令所依赖的库文件。2.3 /usr/local/apache/conf 配置文件不需要导出。2.4 /etc/man.config, 配置man文件帮助手册# vim /etc/man.config在其中加入:MANPATH /usr/local/apache/man若不进行配置,则需要这样写 #man -M /usr/local/apache/man httpd -----M 指明路径才能显示httpd可执行程序的man手册。但这种方式每次用的时候,都需要写出apache的man路径。2.5 对头文件链接:# mkdir /usr/include/httpd# ln -sv /usr/local/apache/include /usr/include/httpd如果服务没有启动,这些数据是显示不出来的。如果服务启动,在网页的地址栏输入自己的ip地址,就可以显示出网站的运行情况了。当然,到此为止,我们只给出了正常操作的一些步骤,在编译的过程中还会出现一些意外情况,下面是我在编译过程中遇到的困难,希望能够解决读者的疑惑。我们编译安装完了之后,服务器软件的后台就在/usr/local/apache目录下,如果我们将之删除,再装第二次,那么到了检测编译环境的时候可能会报错,说少了,apr和apr-util两个包。原因在于,编译源程序使用的是源程序原件自己的apr和apr-util包,虽然rpm -q apr和apr-util都已经安装,但却不能在为这个编译程序使用。这时就需要到www.apache.org官网上下载apr和apr-util的源代码包了。编译安装步骤与web服务器的编译安装类似,不同的是,我们要首先编译安装apr,然后编译安装apr-util,而且在检测编译环境的时候./configure 要加上一个选项。编译apr的时候,./configure --prefix=/usr/local/apr编译apr-util的时候,./configure --prefix=/usr/local/apr --with-apr=/usr/local/apr编译web的时候,./configure --prefix=/usr/local/apr --with-apr=/usr/local/apr --with-apr-util=/usr/local/arp-util其余步骤都一样的。本文出自 “秋风颂” 博客,请务必保留此出处http://qiufengsong.blog.51cto.com/7520243/1259227
[main]乃是全局性配置,默认一般不必改动。[centos]就是repolist--yum仓库资源了。可以列出任意多个,多多益善。也可以不必修改yum.conf,另外编译一个yum仓库必须在/etc/yum.repos.d/下创建以.repo结尾的文件才行,这里以yum.repo文件为例[dragon]name=super star 0.1baseurl=http://172.16.0.1/cobbler/ks_mirror/centos-6.4-x86_64/gpgcheck=0enabled=1同样可以实现yum仓库的创建。Rpm包安装一般都不需要编译的,而有些却需要编译,如源代码包。下面通过实例来解决源代码包的安装过程。Apache全球第一的web服务器软件网站,上面提供了大量的源程序包。到Apache网站下载源程序包www.apache.org---->http://apache.fayea.com/apache-mirror/大量的程序包尽情下载。我们下载一个httpd-2.2.25.tar.bz2然后解压,cd到解压后的文件中。
.c文件都是源程序文件,要使服务器软件能用,用gcc编译.c文件。但由于.c文件过多,而编译有必须安装特定的顺序进行,所以gcc显然实现不了。Make工具,管理一组的程序,实现将应用程序的源程序的多个源程序文件按照工程的方法来管理,能够根据一个简单的指令文件自动的实现按次序编译源程序。它大大简化降低了gcc的工作,但它仍然延续了gcc了功能,需要一个配置文件才能进行编译,这个文件是makefile。Makefile文件中指出了我们使用gcc先编译哪个文件,先编译其中的哪个片段,这样的步骤来编译。它是由脚本文件自动生成的,脚本文件是configure.它又是由软件包的作者制作的autoconf工具自动生成的,automake又能自动生成makefile.in.所以简单的步骤就是,configure脚本结合automake生成的makefile.in生了makefile文件,这时就可以用make命令编译了,编译完了使用make install安装就行了。要想编译就得安装三个软件包,gcc是基于这三个软件包的,这三个软件包安装了才有gcc工具。Desktop Platform DevelopmentServer Platform DevelopmentDevelopment tools#yum groupinstall Desktop Platform Development#yum groupinstall Desktop Server Platform Development#yum groupinstall Desktop Development tools三个包租安装完了就可以编译了。注意:有时候可能因为某种原因,三个包组装完后,检测编译环境仍会提示没有C编译器configure: error: no acceptable C compiler found in $PATH这时就需要我们多加一步,手动安装gcc了。#yum install gcc1.3 源代码编译安装三部曲:执行源代码目录中的configure脚本,即:[root@station125 httpd-2.2.25]#./configure --prefix=/usr/local/apache --enable-so --enable-rewrote 检测编译环境,让用户定义编译配置 --prefix=/urs/local/apache 当卸载的软件的时候,这个目录删除,一切搞定。 --sysconfdir=指定配置文件的存放位置[root@station125 httpd-2.2.25]#make---------------------编译[root@station125 httpd-2.2.25]#make install-------------安装原理再重复一遍./configure+makefile.in(automake自动生成的)------>makefile(可以先看一下源代码目录下本来没有makefile文件的)-------->make利用gcc的功能编译二进制代码-------->make install编译完成进行安装。执行第二步# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrote后,我们会发现,源代码目录下生成了makefile文件。1.4 启动服务器安装完成后,来到指定的安装目录/usr/local/apache下看看里头都有啥。[root@station125 httpd-2.2.25]# cd /usr/local/apache[root@station125 apache]# lsbin build cgi-bin conf error htdocs icons include lib logs man manual modules现在可以启动我们的web服务器了[root@station125 apache]#/usr/local/apache/bin/apachectl start然后查看80端口是否启用[root@station125 apache]#netstat -tnlp
或者使用[root@station125 apache]#lsof -i:80
二、服务器配置编译完成之后,要想更好的管理服务器,就需要对一些文件进行设置,让服务器更好的运行。2.1 对PATH环境变量的设置在/etc/profile.d/目录下新建一个文件可执行文件apache.sh#vim /etc/profile.d/apache.sh#cat /etc/profile.d/apache.shexport PATH=/usr/local/apache/bin:$PATH PATH=/usr/local/apache/sbin:$PATH# . /etc/profile.d/apache.sh 执行apache.sh使PATH路径多出Apache服务器的二进制可执行程序,使这些命令也可以直接使用,不用再加上路径。#echo $PATH/usr/local/apache/sbin:/usr/local/apache/bin:/usr/lib64/qt-3.3/bin:/usr/local/apache/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache/bin2.2 配置库文件# ldconfig -v: 重新搜索当前系统上所有库文件搜索路径下的库文件,并生成缓存/etc/ld.so.cache;如果不对apache配置,库文件搜索路径将不包括apache的库。配置如下:# ldconfig -v 搜索结果不包括apache的库文件路径#vim /etc/ld.so.conf.d/apache.conf#cat /etc/ld.so.conf.d/apache.conf /usr/local/apache/lib 在文件中写上编译安装的源程序的lib文件路径 # ldconfig -v 刷新缓存库文件 # ldconfig -v | grep /usr/local/apache/lib : 搜索结果显示Apache的库文件路径。ldconfig -v 刷新当前库文件信息,-v表示显示出结果,不写,就没有结果。源代码编译完成后,都要刷新库文件。ldd /bin/ls 显示ls命令所依赖的库文件。2.3 /usr/local/apache/conf 配置文件不需要导出。2.4 /etc/man.config, 配置man文件帮助手册# vim /etc/man.config在其中加入:MANPATH /usr/local/apache/man若不进行配置,则需要这样写 #man -M /usr/local/apache/man httpd -----M 指明路径才能显示httpd可执行程序的man手册。但这种方式每次用的时候,都需要写出apache的man路径。2.5 对头文件链接:# mkdir /usr/include/httpd# ln -sv /usr/local/apache/include /usr/include/httpd如果服务没有启动,这些数据是显示不出来的。如果服务启动,在网页的地址栏输入自己的ip地址,就可以显示出网站的运行情况了。当然,到此为止,我们只给出了正常操作的一些步骤,在编译的过程中还会出现一些意外情况,下面是我在编译过程中遇到的困难,希望能够解决读者的疑惑。我们编译安装完了之后,服务器软件的后台就在/usr/local/apache目录下,如果我们将之删除,再装第二次,那么到了检测编译环境的时候可能会报错,说少了,apr和apr-util两个包。原因在于,编译源程序使用的是源程序原件自己的apr和apr-util包,虽然rpm -q apr和apr-util都已经安装,但却不能在为这个编译程序使用。这时就需要到www.apache.org官网上下载apr和apr-util的源代码包了。编译安装步骤与web服务器的编译安装类似,不同的是,我们要首先编译安装apr,然后编译安装apr-util,而且在检测编译环境的时候./configure 要加上一个选项。编译apr的时候,./configure --prefix=/usr/local/apr编译apr-util的时候,./configure --prefix=/usr/local/apr --with-apr=/usr/local/apr编译web的时候,./configure --prefix=/usr/local/apr --with-apr=/usr/local/apr --with-apr-util=/usr/local/arp-util其余步骤都一样的。本文出自 “秋风颂” 博客,请务必保留此出处http://qiufengsong.blog.51cto.com/7520243/1259227
相关文章推荐
- 从源代码编译安装Apache-httpd-2.4.23及虚拟主机和反向代理的配置
- 【Linux相识相知】yum的配置使用和程序包的编译安装
- Red Hat 7 linux 配置yum仓库 并用yum 安装软件
- 本地yum仓库以及网络版yum的私有仓库详细的安装配置
- 本地yum仓库的安装配置 两种方式
- yum仓库搭建和apache编译安装
- yum仓库的安装配置
- Linux学习笔记-----day4(3.15)------软件包/仓库管理与配置(rpm,yum,和源码安装)
- Ionic 介绍、安装、配置、项目不同平台编译、DeBug调试经验总结
- CentOS 6编译安装yum和配置常用的yum源
- OpenCV编译安装配置总结
- Red Hat 7 linux 配置yum仓库 并用yum 安装软件
- 关于yum网络版仓库(本地yum仓库的安装配置,如果没网了,做一个局域网内的yum仓库)
- linux下yum方式配置本地源仓库并安装软件
- Net-snmp总结(二)-net-snmp配置编译安装
- 软件安装与配置yum仓库
- linux之yum--yum的总览,安装,使用以及yum仓库repo的配置
- Linux程序包管理之yum仓库、源码编译安装
- 配置yum仓库安装服务并确保开机启动
- 软件安装与配置yum 仓库