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

一、使用场景

很多时候下载的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文件路径,至此,操作全部完成

时间: 2024-08-01 22:47:28

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

数据库学习之--Linux下Mysql源码包安装

数据库学习之--Linux下Mysql源码包安装 系统环境: 操作系统:RedHat EL6 DB Soft:  Mysql 5.6.4-m7     Mysql 在linux下的安装方式有两种版本,一种为Binary(二进制),另外一种为Source(源码包),本文为Source Install方式. 1.安装前的准备 解压安装包 [[email protected] ~]$ ls mysql-5.6.4-m7  mysql-5.6.4-m7.tar.gz  mysql-5.6.4-m7.ta

linux卸载一个源码包安装的软件的流程

完全卸载memcached的方法(CentOS) 我的大内存vps(centos系统)曾经安装过memcached,想给论坛提速,实际上不但没有明显效果,反倒耗费内存,看着碍眼,于是想卸载,于是网上各种搜索+自己实践,搞出一个傻瓜方案来: 1.结束memcached进程# killall memcached 2.删除memcached目录及文件# rm -rf /usr/local/memcached# rm -f /etc/rc.d/init.d/memcached 3.关闭memcached

Linux学习之源码包安装与脚本安装(十八)

Linux学习之源码包安装与脚本安装 目录 源码包与RPM包的区别 源码包安装 脚本安装 源码包与RPM包的区别 1.区别 安装之前的区别:概念上的区别 安装之后的区别:安装位置不同 源码包: 开源的 安装更慢,更容易报错 安装更自由 安装完后效率更高 RPM包: 经过编译,能看到源代码 安装更快,报错容易解决 2.RPM包安装位置与源码包安装位置 RPM包安装位置: 源码包安装位置: 安装在指定位置当中,一般是/usr/local/软件名/  3.安装位置不同带来的影响 RPM包安装的服务可以

hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclipse-plugin-2.5.0插件下载hadoop2.5.1汇总:最新编译 32位.64位安装.源码包.API下载及新特性等 新手指导:hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍 从零教你在Linux环境下(ubuntu 12.04)如何编译hadoo

hadoop2.5发布:最新编译 32位、64位安装、源码包、API以及新特性

hadoop2.5发布:最新编译 32位.64位安装.源码包.API以及新特性 http://www.aboutyun.com/thread-8751-1-1.html (出处: about云开发) 问题导读:1.如何获取Hadoop安装包?2.编译Hadoop过程中,需要注意哪些问题?3.如何寻找API?4.如何获取Hadoop源码? 上述问题有的在本文,有的则在本文链接,感兴趣,可以找找答案 2014年08月06日 Hadoop2.5发布 官网下载地址 对Hadoop2.5进行了编译,编译的

安装apached源码包以及编写shell脚本使其启动更加方便,并且和启动系统服务相同

实验目的:安装apached源码包,编写apached启动脚本,使其像启动系统服务一样 实验要求:用shell编写启动脚本 实验环境:Linux系统以及apached源码包       httpd-2.2.25.tar.gz 源码包需要编译安装所以在安装源码包时,查看系统中是否已安装编译工具 make gcc gcc-c++  "开发工具" 等软件包. 解压软件包,解压在当前目录下. 编译源码包并且指定安装目录为/usr/local/apached目录下. 3.安装源码包. 4.查看端

Linux软件包管理{rpm|yum|源码包}2015082901

CentOS软件包管理 Linux程序安装有三种方式: 1.  二进制包安装 a.RPM b.YUM 2.  源码包安装 (1)二进制包管理: RPM CentOS上的二进制包为rpm格式,并且rpm软件包管理程序也叫做rpm(RPM is Package Manager) RPM包管理方式的优点是:安装简单方便,因为软件已经编译完成打包完毕,安装只是个验证环境和解压的过程.此外通过RPM方式安装的软件,RPM工具都会记录软件的安装信息至数据库中(/var/lib/rpm),这样方便了软件日后的

二十二、yum更换国内源、yum下载rpm包、yum源码包安装

一.yum更换国内源(更换yum仓库源) 1. # cd /etc/yum.repos.d/          进入到这个目录里边 2. # rm -f dvd.repo                    删除之前创建的这个文件 # cp ../yum.repos.d.bak/* .       复制之前备份的文件回来 # rm -f CentOS-Base.repo        将最核心的这个文件删除,可以ls查看到 3.# wget http://mirrors.163.com/.he

Linux下载安装一个源码包

下载一个安装包除了yum和rpm之外我们还可以下载源码包 编译并安装 首先下载所有的源码包一定要去官网,为了就是防止源码包被第三方编译 例如我们今天安装一个httpd的源码包,也就是经常说的apache 首先进入官网 apache.org 进入download,并选择一个下载源 找到httpd 点击下载任意一个(右击复制链接地址即可) 如果使用wget下载的时候发现如下情况,代表没有安装wget服务,安装一下即可! 再次下载 下载完成 然后为了统一管理和使用,建议大家养成一个好的习惯把下载的源码