源代码编译

  • 序言
  • 一.源代码概述
    • 1.使用源代码安装软件的优点
    • 2.应用场合举例
    • 3.安装源代码软件为什么使用编译安装
  • 二.编译安装的基本思路
  • 三.配置本地yum源仓库
  • 四.`yum常用命令`
  • 五.`生产环境中安装服务没有本地源也没有在线源你怎么去安装带有依赖包的服务???`
  • 总结

序言

前面一篇关于程序包管理器的文章谈到,无论是使用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 -yls
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.bakcd /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 httpdyum search [all] 关键词              #根据某个关键词来查找相关的软件包
yum search all httpdyum 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/apachemake && 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_httpstart_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  httpdchkconfig --list httpd   #单独查看某一服务是否开机启动的命令配置文件路径:
/usr/local/apache/conf/httpd.conf

总结

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

  1. php源码安装配置,php源码安装时configure配置参数 | 学步园

    在Linux下安装PHP,源代码方式安装,总需要配置很多参数.这里列出常用配置参数,并详细用中文解释说明了. 给大家一些参考./configure –prefix=/usr/local/PHP     ...

  2. linux配置yum源与本地配置yum源

    环境:虚拟机中安装了RedHat ,在进行安装mariadb的时候,出现如下错误.是因为yum源的问题,需要进行配置yum源.本教程是配置本地yum源. 选中虚拟机中的操作系统,鼠标:右键--> ...

  3. Liunx配置yum源与本地配置yum源

    环境:虚拟机中安装了RedHat ,在进行安装mariadb的时候,出现如下错误.是因为yum源的问题,需要进行配置yum源.本教程是配置本地yum源. 选中虚拟机中的操作系统,鼠标:右键--> ...

  4. RedHat Linux7 配置yum源

    一.配置本地yum源 首先将已连接和启动时连接勾选上 将操作系统镜像上传到虚拟机(/root)上 创建一个挂载目录mkdir -p /dvd/iso 将iso镜像文件挂载到/dvd/iso mount ...

  5. Linux源代码编译安装详解

    使用源代码编译安装软件有以下优点,获取软件的最新版及时修复bug,软件功能可按需选择或定制,有更多软件可供选择,源码包适用于各种平台. 工具/原料 一台装有Linux操作系统的电脑 接入互联网络并能正 ...

  6. Linux软件安装配置Yum源

    一.rpm软件安装包 RPM的优点 RPM内含已经编译过的程序与配置文件等数据,可以让用户免除重 新编译的困扰 RPM在被安装之前,会先检查系统的硬盘容量.操作系统版本等,可 避免文件被错误安装 RP ...

  7. linux基础(1)-yum源配置

    用linux将近一年了,开始学的东西因为没经常用都忘记了,现在将笔记的东西慢慢整理成自己的博客,也算是看着自己进步.有些东西从他人博客笔记学的,有些是从视频学的,有些是自己填坑积累的. 在linux下 ...

  8. RHEL(Red Hat Enterprise Linux)配置YUM源

    前言 YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自 ...

  9. Linux配置yum源(离线和在线)

    配置yum源有2种方法,一种是离线yum源,另外一种是在线yum源. 一.离线yum源,基于安装光盘提供的安装仓库. 建立一个属于仓库文件夹 mkdir /media/zidong cd /media ...

最新文章

  1. python 2x xlrd使用merged_cells 读取的合并单元格为空
  2. 简单几何(线段覆盖) POJ 3347 Kadj Squares
  3. 开源 免费 java CMS - FreeCMS-标签 channelList .
  4. java创建描述文件,IT技术交流:Java 轻量级整合开发
  5. OpenSession与getCurrentSession的区别
  6. Linux基础命令--date
  7. labelme数据增强_NO. 21 标注工具 amp; 合成数据生成工具
  8. java虚拟机手机下载_java虚拟机下载
  9. editplus注释快捷键
  10. 柒上网络小说漫画系统源码4.0双模板+WAP微信 | Thinkphp内核
  11. 西交大计算机考博学术英语,2018年西安交通大学考博英语真题
  12. leetcode题解62-不同路径
  13. 万能点位图软件_BoardViewer点位图工具
  14. 项目管理十大知识领域之项目质量管理
  15. 独木桥的c语言程序,独木桥
  16. 万网域名查询接口(API)的说明
  17. 目标拎不清,谈什么选择呢?
  18. 动态规划的递归写法和递推写法
  19. 用plt.scatter画散点图
  20. C语言实现可写入文件的账号密码登录系统,密码输入时掩盖,登录界面菜单选择,更改密码系统,课设必备。

热门文章

  1. python3 字典添加_python3字典删除元素和添加元素的几种方法
  2. android radiobutton_时隔一年,用新知识重构一个Android控件老库
  3. c++ 输出二进制_【位运算与状态压缩】二进制的魅力
  4. php cgi路径解析,php.ini中的cgi.fix_pathinfo选项
  5. SparkSQL之DataFrame API
  6. ubuntu 使用root用户登录
  7. 深度对比Python的3种“字符串格式化”方法,看看你喜欢哪一种?
  8. 亲身体验后,为你安利 3 个远程桌面控制软件~
  9. 爬虫非专业八级模拟考试
  10. vue 日期前面加0_vue日期组件 支持vue1.0和2.0