码迷,mamicode.com
首页 > 系统相关 > 详细

Linux安装yum源码包及相关操作

时间:2016-06-07 22:35:46      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:

一、使用场景

很多时候下载的rpm包所提供的功能并不符合我们的需要,或者只需要使用其中一部分功能的时候,就需要进行源码安装。源码安装前,首先使用 yum grouplist 确认 Development tools 和 Server Platform Development这两个组已经被安装。

技术分享技术分享

二、相关知识详解

1.make工具

所有的程序都需要gcc编译后才能执行,项目的开发者为了简化使用者的编译步骤,当时用make工具后,make会调用gcc对程序进行编译,所以说make是一种项目编译工具,而编译本身需要开发环境,所以就能解释为什么必须存在Development tools 和 Server Platform Development这两个组,同时编译过程还需要能够调用相关程序的头文件和库文件,库文件的表现形式为xxxx-devl.rpm。

2.Makefile文件的产生过程

打开源码包我们会看到一个可执行文件configure,同时包内还有Makefile.in文件,通过他们可以产生Makefile文件,下面就这个过程做详细描述。

技术分享技术分享

(1)生成configure脚本

项目的制作者会使用一个autoconf的开发工具,使用这个开发工具对项目中的每一个原代码执行后会生成一个configure脚本,使用该脚本来检查编译环境是否满足需求、定义编译时启用哪些功能和安装路径等。

(2)生成Makefile.in文件

Makefile.in文件则是通过automake工具生成的,结合configure脚本生成Makefile文件。

(3)生成Makefile文件

当执行configure脚本后,configure脚本会根据Makefile.in文件产生Makefile文件,而定义编译时启用哪些功能和安装路径等也会保存在该文件中,该文件也是使用make命令时的配置文件。

三、安装步骤

我们以安装httpd-2.2.31为例,进行说明。详细的步骤为:

1.下载源码包后使用 tar -xf httpd-2.2.31.tar.gz 解压

技术分享技术分享

2.使用less INSTALL 查看安装步骤(每个程序的说明文件不一样,有的是READ,有的是INSTALL)

技术分享技术分享

3.使用 ./configure --help 查看configure脚本使用帮助,根据情况删减功能,此处以自定义安装和配置文件位置为例,使用./configure --prefix=/usr/local/apache --sysconfdir=/etc/apache 检查环境并生成Makefile文件

技术分享技术分享

4.待检查完确认没有报错后,输入make安装,此时的make会调用gcc进行编译

技术分享技术分享

5.然后使用 make install 命令安装,等待安装结束

技术分享技术分享

6.在/usr/local/apache/bin路径下,使用 apachectl start 启动服务

技术分享技术分享

7.使用 netstat -nlt 查看80端口是否已侦听

技术分享技术分享

8.打开浏览器,输入服务器地址看到显示It works!配置完成

技术分享技术分享

四、后续步骤

安装完源码包服务正常启动后工作并没有结束,我们知道一个程序大体上可以分为:二进制程序、头文件、库文件、man帮助手册四部分组成,而我们在安装时自定义的路径系统未必能自动识别,所以就需要做输出重定向。

1.二进制程序

使用 vim /etc/profile.d/apache.sh 将/usr/local/apache/bin,/usr/local/apache/sbin,添加进默认路径并对子进程生效

技术分享技术分享

然后重启服务器或者使用 source /etc/profile.d/apache.sh 重读配置文件,确认/usr/local/apache/bin,/usr/local/apache/sbin已经成功添加到PATH变量中

技术分享技术分享

2.头文件输出

至于为什么要输出头文件,因为在对该程序做二次开发时,需要进行调用,此时的调用不同于运行时调用程序的二进制代码(ABI),开发时的调用则是调用该程序头文件的包含,而头文件中包括了函数的入口及指针的类型等信息(API)。

使用 ln -sv /usr/local/apache/include /usr/include/apache 创建一个软连接将apache的头文件跳转至/usr/local/apache/include

技术分享技术分享

3.库文件数出

vim /etc/ld.so.conf.d/apache.conf,创建一个apache.comf文件 ,/usr/local/apache/lib 把库文件路径写进去,如果有多个库,一行一个

技术分享技术分享

而后使用 ldconfig -v 查看库文件路径是否正确识别

技术分享技术分享

4.man文档输出

使用 vim /etc/man.config 在MANPATH路径下添加apache的man文件路径,至此,操作全部完成

技术分享技术分享



本文出自 “兔样兔森破” 博客,请务必保留此出处http://arkling.blog.51cto.com/2844506/1787062

Linux安装yum源码包及相关操作

标签:

原文地址:http://arkling.blog.51cto.com/2844506/1787062

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!