【AWSL】之Linux源代码编译及配置yum源(tar 解包、./configure配置软件模块、make)

序言

前面一篇关于程序包管理器的文章谈到,无论是使用rpm命令还是yum命令安装的都是已编译好的程序包,在整个安装过程中用户只需执行一条命令即可完成安装。这样带来的好处是方便,但因为是安装的是已编译好的包,所以用户的系统平台环境必须与rpm包制作者的系统平台环境相同。此外,如果用户要安装使用某程序上的某个功能,而rpm包制作者在编译过程中默认没有指定该功能的实现,这时候该怎么办呢?更何况如果某程序只是提供源码而没有现成的rpm包。这时就需要用户手动编译安装了,而编译安装就是将程序源代码编译成完全适合自己平台类型的程序包。

一.源代码概述

1.使用源代码安装软件的优点

①获得最新的软件版本,及时修复bug
②根据用户需要,灵活定制软件功能

2.应用场合举例

①安装较新版本的应用程序时
②当前安装的程序无法满足需要时
③需要为应用程序添加新的功能时

3.安装源代码软件为什么使用编译安装

①安装源代码软件包需要编译安装,需要安装支持c和c++程序语言的编译器,如gcc、gcc-c++、make。
如果使用rpm方式安装,则需要先安装多个依赖包,这样会很繁琐。这里可以使用 yum方式进行一键安装。

二.编译安装的基本思路

systemctl stop firewalld 关闭防火墙

vim /etc/ifconfig/selinux 关闭安全增强型

cd /home/ 进入home目录下   上传源代码httpd安装包

ls /usr/local/ 进入到local目录下

systemctl status httpd 查看有无httpd服务

如果有httpd服务,卸载httpd服务 yum remove httpd -y

ls
cd /usr/local/ 查看并由home切换到local目录下
cd httpd-2.4.25/ 进入到httpd-2.4.25目录下

tar zxvf httpd-2.4.25.tar.gz -C /usr/local/ 解压并释放源代码httpd包到指定的目录下

yum install gcc* make apr-devel* pkgconfig* libapr* apr-util* pcre* -y 安装依赖包

./configure --prefix=/usr/local/apach 设置apach安装目录、安装模块等选项

make && make install 生成可执行的二进制文件、复制二进制文件到系统,配置应用环境

/usr/local/apache/bin/apachectl start 启动脚本

打开网页(输入虚拟机的IP地址)

三.配置本地yum源仓库

先配置本地yum源仓库
mount /dev/cdrom /mnt/	或mount /dev/sr0 /mnt/		#把光盘挂载到/mnt目录下
cd /etc/yum.repos.d/
mkdir repos.bak
mv *.repo repos.bak

cd /etc/yum.repos.d/
vim local.repo
[local]							#仓库类别
name=local						#仓库名称
baseurl=file:///mnt		        #指定URL 访问路径为光盘挂载目录
enabled=1						#开启此yum源,此为默认项,可省略
gpgcheck=0						#不验证软件包的签名

yum clean all && yum makecache		#删除yum缓存并更新

四.yum常用命令

yum -y install 软件名				#安装、升级软件包,“-y”选项表示自动确认
yum -y remove 软件名				#卸载软件包,可自动解决其依赖关系
yum -y update 软件名				#升级软件包

yum list							#查询软件包列表
yum list installed					#查询系统中已安装的软件包
yum list available					#查询仓库中尚未安装的软件包
yum list updates					#查询可以升级版本的软件包

yum info 软件名						#查询软件包的描述信息
yum info httpd

yum search [all] 关键词				#根据某个关键词来查找相关的软件包
yum search all httpd

yum whatprovides 命令				#查询命令属于哪个软件包
yum whatprovides netstat

在线源(网络源)操作如下命令(收集所有安装包,包括依赖包保存在指定目录中)
yum install 包名 -y --downloadonly --downloaddir=/tmp/   #下载RPM包到指定目录

五.生产环境中安装服务没有本地源也没有在线源你怎么去安装带有依赖包的服务???

使用yum方式进行安装
安装包说明:apache配置apr、pcre软件包的支持以及依赖 、还包括devel开发包 gcc gcc++编译器 make工具生成makefile
yum install -y gcc gcc-c++ make
yum install apr-devel* pkgconfig* libapr* apr-util* pcre* -y

编译安装的基本过程
1)tar 解包
tar zxvf/jxvf xxx.tar.gz/xxx.tar.bz2 -C 目标路径
2)配置软件模块(安装路径、开启或关闭模块功能、管理服务进程的用户设定)
./configure --prefix=目标路径(此软件安装到哪里去)
3)编译(将源代码转换为可执行的程序)
make
4)安装
make install
案例

cd /home/
tar zxvf httpd-2.4.25.tar.gz -C /usr/local/

cd /usr/src/httpd-2.4.25/

./configure --help 

./configure --prefix=/usr/local/apache

make && make install 

vim /usr/local/apache/conf/httpd.conf  #配置文件路径
/usr/local/apache/bin/apachectl start   启动httpd服务

验证结果几种方式
浏览器验证
http://192.168.10.20 

在linux 命令字符界面
1、curl http://192.168.10.20 (IP)
2、运行 lynx 192.168.10.20查看本机Apache运行状态(前提安装lynx工具)
3、运行 lynx 192.168.10.20查看本机Apache运行状态(前提安装elinks工具)






后面可看可不看扩展内容


添加httpd服务器自启动

vim httpd 
#!/bin/bash
# chkconfig: 12345 80 90
function start_http()
{
/usr/local/apache/bin/apachectl  start
}
function stop_http()
{
 /usr/local/apache/bin/apachectl  stop
}
case "$1" in
start)
    start_http
;;  
stop)
    stop_http
;;  
restart)
    stop_http
    start_http
;;
*)
    echo "Usage : start | stop | restart"
;;
esac

#赋权并且加入系统服务
chmod  a+x  httpd
cp  -arf  httpd  /etc/init.d/

启动自己编写的服务:
systemctl  daemon-reload   //重新加载
systemctl  start  httpd   //启动httpd服务
systemctl  stop  httpd   //关闭httpd服务
systemctl  status  httpd   //查看httpd服务状态

设置开机自启动:
chkconfig  --add  httpd

chkconfig --list httpd   #单独查看某一服务是否开机启动的命令

配置文件路径:
/usr/local/apache/conf/httpd.conf


总结

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YJ Thoreau

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值