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

简介:

一、使用场景

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

spacer.gifwKioL1dWlKCQbb4CAABrRyYMANE459.png-wh_50

二、相关知识详解

1.make工具

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

2.Makefile文件的产生过程

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

spacer.gifwKioL1dWlKDzcm6fAAD6cowDKjo179.png-wh_50

(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 解压

spacer.gifwKiom1dWk5mBGoOvAABoVJOpjxs356.png-wh_50

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

spacer.gifwKioL1dWlKGhkVKeAADFgmrU3FQ662.png-wh_50

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

spacer.gifwKiom1dWk5ryVMUHAACs5zm3Hds276.png-wh_50

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

spacer.gifwKiom1dWk5ri0MPDAABPiEKXWkQ506.png-wh_50

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

spacer.gifwKioL1dWlKLQqOsVAAC6xT8Cxi8401.png-wh_50

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

spacer.gifwKiom1dWk5vR2X6eAACxuMBzBPk161.png-wh_50

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

spacer.gifwKioL1dWlKPj1I3nAAA1wfdb04U593.png-wh_50

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

spacer.gifwKiom1dWk5vDkJhlAAAbmOS4fYk646.png-wh_50

四、后续步骤

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

1.二进制程序

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

spacer.gifwKioL1dWlKPySn4wAAAOWekAmWI023.png-wh_50

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

spacer.gifwKioL1dWlKPgZ7_hAAAw6XFklzs187.png-wh_50

2.头文件输出

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

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

spacer.gifwKiom1dWk5ygFInUAABMsp-fuAc631.png-wh_50

3.库文件数出

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

spacer.gifwKioL1dWlKTiy6g3AAATAPxLP2I024.png-wh_50

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

spacer.gifwKiom1dWk52QOqFqAAAcHw-5PLc350.png-wh_50

4.man文档输出

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

spacer.gifwKioL1dWlKSgEW2XAABd6xNcJYo538.png-wh_50




本文转自 qiao645 51CTO博客,原文链接:http://blog.51cto.com/arkling/1787062

目录
打赏
0
0
0
0
344
分享
相关文章
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
75 17
Linux数据库安装
本文介绍了在CentOS 8.0和Ubuntu 22.04系统上安装、配置和启动MariaDB数据库服务器的详细步骤。包括通过`yum`和`apt`包管理器安装MariaDB服务,启动并检查服务运行状态,设置root用户密码以及连接数据库的基本操作。此外,还展示了如何在Ubuntu上更新软件包列表、安装依赖项,并验证MariaDB的版本和运行状态。通过这些步骤,用户可以成功部署并初始化MariaDB环境,为后续数据库管理与应用开发奠定基础。
20 4
Oracle linux 8 二进制安装 MySQL 8.4企业版
Oracle linux 8 二进制安装 MySQL 8.4企业版
30 1
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
56 10
|
21天前
|
Linux安装Elasticsearch详细教程
Linux安装Elasticsearch详细教程
59 1
|
28天前
|
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
78 6
YashanDB Linux客户端安装
本文详细介绍了YashanDB客户端在Linux系统中的安装、使用与卸载步骤。安装方法包括适用于所有Linux平台的脚本安装和专用于CentOS的rpm安装。脚本安装需解压软件包并配置环境变量,而rpm安装则需以root用户执行相关命令。此外,文章还说明了如何通过yasql连接YashanDB并进行数据库操作,以及两种安装方式对应的卸载方法,帮助用户顺利完成客户端的管理与维护。
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
284 25
|
3月前
|
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
88 13
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
518 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等