linux下源码软件包的安装

我们在使用linux做服务器的时候,因为linux自带的软件包都有些老,不是最新的,但是有时候我们为了使用最新的软件,会使用最新的软件的源码来进行安装。

所以我们需要用心去做了...
在我们拿到一个软件的源码时,源码一般都是使用tar.gz或tar.bz2结尾。
源码--》配置文件(./configure)--》编译(makefile)--》(可执行 头文件 库文件 手册)--》安装
对于源码的安装,我们说西安要确定机器安装了编译环境
使用yum  grouplist |less 查看是否安装了
Develoment Libraries 和Develoment Tools开发环境,如果没有,
请先安装,否则没法源码安装
那我们首先要对源码进行包的拆解

tar -zxvf 源码 -C /usr/local/src/(对源码包解压到一个路径,/usr/local/src/是系统给我们用来存放源码拆解后的文件路径)
源码解压后我们就可以对源码安装了。

源码文件解压后进入拆解后的文件,一般会看到很多个文件夹或文件,其中有一个INSTALL文件或README文件,以及配置文件这是我们安装前必看的说明书
我们一安装apache服务为例做个实验。
安装前先把源码下载到机器里,进入所在目录

232450669.png

 

232450405.png

进入apsche拆解后的目录

232450849.png

我们看到一个INSTALL文件,查看一下

232450693.png

 

232451375.png

我们要查看一下configure的使用说明

232451304.png

 

232452848.png

接下来开始配置安装apache

232452868.png

报错了,我们来看啊可能否安装了apr

232452695.png

我们装了apr,但是有的调用的文件并不都在apr里,有的在apr-devel里,我们去在安装看下,

232453776.png

然后我们再次执行apache的安装

232453283.png

这次有报错了,但是说的明确了,说我们的apr的版本太低了,那我们重新安装

我们把apr新版的拆解到/usr/local 下

232453956.png

我们安装apr包和apr-util包

232453865.png

我们会看到生成了很多的makefile文件,那我们直接make

232454949.png

232454819.png

安装后我们进入apr文件内,因为apache要调用他的库,可是apr是我们自己安装的,不是默认的路径,所以我们要对apr库进行连接处理,使apache可以调用

232454906.png

那么我没呢可以简单些直接建立一个系统可是识别的文件,这样可以避免对所有的库文件做链接

232454267.png

建立apr.conf文件,把apr的库路径加入进去就ok!
然后我们要更新缓存,在查看是否成功

232454581.png

接着安装apr-util

232455695.png

然后make和make install

232455876.png

现在apr的问题已经解决了,那我们重新安装apache

232455195.png

但是还是报错 ,说我们缺少apr-1-config ,那我们在说明一次,添加他的路径

232455704.png

为了避免麻烦,我们再次查询一下所有与apr相关的配置 ,全部带上

232455388.png

找到后,我们再次重新安装

232455348.png

但是又报错了。说我们的pcre没有找到

232457360.png

我们来解决他,安装prec

232457948.png

我们再来安装apache的源码
没有报错,安装成功,生成了很多的makefile文件
那我们就安装apache  make && make install

232457921.png

到此,我们的apache就是安装完成了
我们看到了,源码的安装很复杂,而且很容易出错,我们需要做很多的调试

在我们安装完成后,但是不完美,没法开机自动启动
没关系,我们来帮他,手动启动或自动启动
进入/usr/local/apache/bin 目录下

232458168.png

我们只需要在命令行下输入 ./httpd -f /usr/local/apache/http.conf 就可以启动,但是不是很完美,我们可以给他写一个启动脚本
一般的服务的脚本放在rtc/init.d/目录下,我们就去这里写apache服务脚本
脚本如下:(个人写的,有些简陋,请见谅)
#!/bin/bash
prog=/usr/local/apache/bin/httpd
configfile=/etc/apache/httpd.conf
lockfile=/var/lock/subsys/httpd
. /etc/init.d/functions
start() {
  if [ -e $lockfile ];then
     echo "The program `basename $prog` is started!"
  else
     echo "The program `basename $prog` is starting......"
     sleep 2
     $prog && echo -e "[ok]" && touch $lockfile || echo -e  "[fail]"
  fi
}
stop() {
  if [ -e $lockfile ];then
     echo "The program `basename $prog` is stoping......"
     sleep 2
     killproc httpd && echo "[ok]" && rm -rf $lockfile || echo "[fail]"
  else
     echo "The program `basename $prog` is stoped!"
  fi
}
status() {
  if [ -e $lockfile ];then
     echo "The program `basename $prog` is running......"
  else
     echo "The program `basename $prog` is stop......"
fi
}
case "$1" in
start)
     start
     ;;
stop)
     stop
     ;;
status)
     status
     ;;
restart)
     stop
     start
     ;;
*)
     echo "usage: start|stop|status|restart"
esac

我们对写下的脚本测试一下

232458879.png

上面的是我们手动的启动我们的服务,我们可以让它开机启动,使用chkconfig命令来实现,我们要在/etc/init.d/httpd 内增加chkconfig

232458859.png

把httpd的启动缓存加入chkconfig

232458669.png

这样子httpd服务开机启动的目地就达到了!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

react-native 打包apk 并解决 图片 不出现问题

react-native官网打包apk方法:https://reactnative.cn/docs/signed-apk-android/ 解决办法: 找到项目 android目录下 gradle.properties文件 打开加入如下代码: android.enableAapt2false这段代码非常重要 官网缺少 。不然打包apk图片不出现。…

龙芯派2亚克力外壳

0x0 龙芯派自带的亚克力顶板没有风扇的孔位,在长时间运行时亚克力板很烫,因此我设计了个带风扇孔位的亚克力顶板 效果如下: 风扇规格 4X4风扇 供电由龙芯派的GPIO上的5V管脚供电 使用方法 1.某宝搜索亚克力板定制 2. 将本文件发送给店家…

Java面向对象(2) —— 继承

目录前言继承的概念和实现extends关键字super关键字继承过来的属性和方法的权限研究方法重写OverrideObject根类常见方法toString()常把toString()方法重写后应用equals()重写:判断两个对象p1和p2特征是否相同IDEA的重写模板:敲equals可选择的方案之一St…

linux下达梦数据库启动_linux 平台 达梦DM 7 数据库 启动与关闭

在之前的博客我们了解了Linux 平台下DM7的安装,如下:在本篇博客里我们了解一下DM7的启动和关闭。1 背景知识说明1.1 DM DB的启动过程DM的启动主要按如下三个步骤进行:1.读取配置文件(.ini)2.读取控制文件(dm.ctl)3.读取重做日志文件(.log) 和…

a与a:link、a:visited、a:hover、a:active

起因: a与a:link的CSS代码处,忽觉茫茫然不知所以然:这a的CSS和a:link什么关系?貌似有些冲突啊?还有这a:link、 a:visited、a:hover、a:active伪类之间有没有相互制约和继承关系? 过程: 使用软件…

dpdk18.11 收发包流程分析

pci probe RTE_PMD_REGISTER_PCI(net_ixgbe, rte_ixgbe_pmd); 宏注册了net_ixgbe driver到pci bus rte_ixgbe_pmd 的定义如下 static struct rte_pci_driver rte_ixgbe_pmd {.id_table pci_id_ixgbe_map,.drv_flags RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC,.pr…

人工智能芯片龙头之一gti概念股_AI芯片龙头寒武纪IPO价格定了!概念股全名单收好...

寒武纪披露首次公开发行股票并在科创板上市发行公告,确定发行价格为64.39元/股,本次科创板上市发行剔除无效报价和最高报价后剩余报价拟申购总量为3,405,910万股,整体申购倍数为回拨前网下初始发行规模的1327.12倍。战略配售投资者包含中信证…

x86汇编语言-从实模式到保护模式----第五章

注释由;开始。将显存映射到地址空间里,0xB8000~0xBFFFF。Intel的处理器不允许将一个立即数传送到段寄存器,只允许这样的指令:mov 段寄存器,通用寄存器 mov 段寄存器,内存单元 为了方便,多数汇编语言编译器允…

Java面向对象(3) —— 抽象类、接口、内部类、匿名内部类

目录抽象类(abstract)抽象类的使用方法抽象类的应用:模板方法模式接口接口的概念接口的特点接口的使用接口实现与抽象类继承的区别接口的多继承内部类概念成员内部类(使用较多)及应用创建成员内部类的实例在成员内部类…

Kohana和Zencart

2019独角兽企业重金招聘Python工程师标准>>> 我有一个Kohana php框架但是客户求和zencart系统结合。我有一个想法是Kohana重新zencart 有没有人用过?应该没有吧 Kohana 是一款纯 PHP5 的框架,基于 MVC 模式开发, 它的特点就是高安…

Linux stmac网卡代码分析 -- open

Open stmmac_open是在stmmac_netdev_ops结构体里的,这个ops在probe时就已经注册到了net_device结构体里,在网卡对于stmmac_open函数调用的时间我还不确定是否是在网卡link up时 下面看看stmmac_open函数,文件位置: drivers/net/…

g++ linux 编译开栈_方舟编译器编译hello world踩坑全记录

闲来无事,看到方舟编译器完整开源,于是打算拿来试着编译一个东西来,接下来把踩过的一些坑记录一下。参考文档方舟编译器的官网是OpenArkCompiler​www.openarkcompiler.cn但是这个网站上的文档其实是过时的,没有更新过的&#xff…

绘制自定义键盘

先看下微信当中的自带的数字键盘 这种实现方式比较简单,可以直接用inline-block标签,设置每行平均宽度,比如一行要放4个按钮,可以那么宽度就可以设为25%,同时要注意设置css样式为box-sizing: border-box,这样在设置边框…

配置管理小报100329:脚本中ftp命令无法自动输入密码怎么办?

为什么80%的码农都做不了架构师?>>> 知识点: 作者:王(zbwangjian.cn) 脚本中ftp命令无法自动输入密码怎么办?参考: http://www.linji.cn/post/1620/ http://www.hamo…

linux下使用网易邮箱发邮件

0x0 最近要写个脚本监视系统运行情况,有异常及时通过邮件通知我。 本次测试中使用网易的邮箱作为邮件发送服务器(邮箱账号需要开启smtp服务如下图),由于网易邮箱验证比较严格,需要进行一些额外操作才可以正常发送邮件…

Java面向对象(4) ——多态

目录多态的概念对象上下转型多态应用之打印机多态的概念 多态是指同一个操作作用于某一类对象,可以有不同的解释,产生不同的执行结果。比如:猫吃鱼、狗吃肉、人吃米饭。 多态存在的三个必要条件: 需要存在继承(extends&#xf…

ffmpeg 转换flv压缩大小_ffmpeg转换参数和压缩输出大小的比率 参考 最新版本FFMPEG...

https://blog.cnlabs.NET/3668.htmlffmpeg 转换压缩比例FFMPEG如果是压缩为FLV文件 3个编码可选1. -c:v flv 标准FLV编码 这个好处是速度快 清晰度高的话 视频文件会比较大2. -c:v vp6 VP6编码 这个大家都很少使用 其实这个也算不错3. -c:v libx264 H.264编码 估计使用这个的比…

Git 常用命令清单,掌握这些,轻松驾驭版本管理

GitHub 地址&#xff0c;欢迎star&#xff0c;查看更多整理的前端知识点 工程下载、分支的增删查改 工程下载&#xff1a; clone 远程工程&#xff1a;git clone https://XXXX.gitfetch 远程分支到本地某分支&#xff1a;git fetch origin <orginname>:<localname>…

【运维囧事】运维的苦乐之旅

人生就是一段充满苦与乐的旅程&#xff0c;在人生当中有痛苦也有欢乐&#xff0c;痛苦不一定是负面的&#xff0c;有的时候还会使你进步&#xff0c;增强应变能力。对一般人而言&#xff0c;人生一定要是快乐的才是有意义的&#xff0c;可是你仔细想想&#xff0c;有谁不是因为…

ubuntu下网易云音乐适配高分辨率屏幕

0x0 环境 ubuntu20处理器 AMD 我主流工作环境是Ubuntu20&#xff0c;而且很依赖音乐&#xff0c;网易云音乐适配了Ubuntu&#xff0c;而最近我换了个4K屏幕 开机启动网易云音乐后发现界面文字变得很小完全没法看&#xff0c;如下图 分析发现网易云音乐是通过 /opt/netease/ne…