一、概述

源码包安装的优点在于它自由程度比较高,可以指定目录与组件。再有,你要是能改源码也可以。

二、安装方法

步骤

1.从官网或者信任站点下载源码包

[root@localhost ~]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.34.tar.gz

2.把下载的安装包解压到/usr/local/src目录下

tar zxvf httpd-2.2..tar.gz -C /usr/local/src/

3.编译

在编译之前,我们看看INSTALL文件和README文件。

less INSTALL
#文件里有安装的方法
$ ./configure --prefix=PREFIX
$ make
$ make install
$ PREFIX/bin/apachectl start NOTES: * Replace PREFIX with the filesystem path under which
Apache should be installed. A typical installation
might use "/usr/local/apache2" for PREFIX (without the
quotes).

我们也可以使用./configure --help查看帮助。

[root@localhost httpd-2.2.]# ./configure --help
`configure' configures this package to adapt to many kinds of systems. Usage: ./configure [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration:

现在我们根据INSTALL文件里的提示安装。

[root@localhost httpd-2.2.]# ./configure --prefix=/usr/local/apache2/
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu Configuring Apache Portable Runtime library ... checking for APR... reconfig
configuring package in srclib/apr now
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
Configuring APR library
Platform: x86_64-unknown-linux-gnu
checking for working mkdir -p... yes
APR Version: 1.5.
checking for chosen layout... apr
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/usr/local/src/httpd-2.2./srclib/apr':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
configure failed for srclib/apr

使用echo $?命令查看上一步命令是否执行成功。

[root@localhost httpd-2.2.]# echo $?

1说明失败,0说明成功。

在网上查了一下资料,说碰到这种情况安装gcc就好了。

yum install -y gcc

重新编译,然后看是否安装成功。

[root@localhost httpd-2.2.34]# ./configure --prefix=/usr/local/apache2/
[root@localhost httpd-2.2.]# echo $?

输出0说明编译成功了。我们发现目录里生成了Makefile文件。我们用stat命令看一下。

[root@localhost httpd-2.2.]# stat Makefile
File: "Makefile"
Size: Blocks: IO Block: 普通文件
Device: 803h/2051d Inode: Links:
Access: (/-rw-r--r--) Uid: ( / root) Gid: ( / root)
Access: -- ::24.171229769 +
Modify: -- ::24.173229769 +
Change: -- ::24.173229769 +

是刚刚生成的。

有了Makefile之后,我们就可以执行编译了。编译命令是make。

make

make一般执行的时间比较长。等结束之后我们再用echo $?看看是否成功。

[root@localhost httpd-2.2.]# echo $?

make成功了。

4.安装

安装的命令也很简单:make install。

make install
[root@localhost httpd-2.2.]# echo $?

说明最后一步也成功了。

三、总结

编译安装的主要步骤是

1.下载

2.将文件解压到/usr/local/src/

3.查看INSTALL文件和README文件,使用./configure --help查看帮助

4.编译

5.安装

每一步执行后可以使用echo $?看看是否执行成功。

Linux学习(二十)软件安装与卸载(三)源码包安装的更多相关文章

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

    完全卸载memcached的方法(CentOS) 我的大内存vps(centos系统)曾经安装过memcached,想给论坛提速,实际上不但没有明显效果,反倒耗费内存,看着碍眼,于是想卸载,于是网上各 ...

  2. linux 软件管理--yum工具及源码包

    目录 linux 软件管理--yum工具及源码包 一.yum基本概述 二.yum源的配置 三.yum实践案例 四.yum全局配置文件 五.yum签名检查机制 五.制作本地yum仓库 六.构建企业级yu ...

  3. Linux源码包安装和脚本安装

    能够先 vi INSTALL 看看安装过程. 1.源码包安装 2.脚本安装

  4. 源码包安装(Python mysql redis)

    一  源码包安装 (1)python3.6源码包安装 ./configure ------> 定制功能 make make install mysql 源码包 cmake make make i ...

  5. MySQL5.7 二进制源码包安装

    一般平时安装MySQL都是源码包安装的,但是由于它的编译需要很长的时间,所以建议安装二进制免编译包.可以到MySQL官方网站去下载,也可以到comsenz官方网站下载,还有各大镜像站下载. 下载安装包 ...

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

    Linux学习之源码包安装与脚本安装 目录 源码包与RPM包的区别 源码包安装 脚本安装 源码包与RPM包的区别 1.区别 安装之前的区别:概念上的区别 安装之后的区别:安装位置不同 源码包: 开源的 ...

  7. Linux yum源码包安装和卸载

    Linux 下的绝大多数源码包都是用 C 语言编写的,还有少部分是用 C++ 等其他程序语言编写的.所以,要想安装源码包,必须安装 C 语言编译器 gcc(如果是用 C++ 编写的程序,则还需要安装 ...

  8. Linux之源码包安装软件

    安装准备      安装c语言编辑器 gcc      压缩包  node-v6.2.0-linux-x64.tar.gz   源码包保存位置  /usr/local/src/ 源码包安装位置 /us ...

  9. Linux 系统下用源码包安装软件

    Linux系统下用源码包安装软件 by:授客 QQ:1033553122 下载源码安装包,解压或者直接双击打开(如果有安装zip或rar等压缩/解压缩软件的话),查找相关的安装说明文件,一般是READ ...

随机推荐

  1. 原创:TSP问题解决方案-----禁忌搜索算法C实现

    本文着重于算法的实现,对于理论部分可自行查看有关资料可以简略参考该博文:http://blog.csdn.net/u013007900/article/details/50379135 本文代码部分基 ...

  2. 《算法导论》学习总结 — XX.第23章 最小生成树

    一.什么叫最小生成树 一个无向连通图G=(V,E),最小生成树就是联结所有顶点的边的权值和最小时的子图T,此时T无回路且连接所有的顶点,所以它必须是棵树. 二.为什么要研究最小生成树问题 <算法 ...

  3. Quartz.NET实现作业调度

    一.Quartz.NET介绍 Quartz.NET是一个强大.开源.轻量的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,用C#改写,可用于winform和asp ...

  4. zoj1151 zoj1295 Word Reversal 字符串的简单处理

    Word Reversal Time Limit: 2 Seconds      Memory Limit:65536 KB For each list of words, output a line ...

  5. ubuntu环境下lnmp环境搭建(3)之Php

    1.lnmp详细  http://www.discuz.net/thread-3513107-1-1.html 2. 到php目录 http://blog.aboutc.net/linux/65/co ...

  6. web基础系列(五)---https是如何实现安全通信的

    https是如何实现安全通信的 如果有不正确的地方,还望指出! web基础系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 回顾 总结几个概念(具体描述可以看上一篇文章) 数字 ...

  7. 【转载】Retina屏的移动设备如何实现真正1px的线?

    文章转载自 酷勤网 http://www.kuqin.com/ 原文链接:http://www.kuqin.com/shuoit/20150530/346322.html 原文摘要:前些日子总被人问起 ...

  8. 【转载】jQuery手机移动端触屏日历日期选择

    文章转载自 科e互联 http://www.internetke.com/ 原文链接:http://www.internetke.com/effects/css3/2015/0120/1222.htm ...

  9. 使用 Skeleton Screen 提升用户感知体验

    1024程序猿节"愿世界和平,没有bug",腾讯云社区向改变世界的程序猿致敬! 作者:陈纬杰 一直以来,无论是web还是iOS.android的应用中,为了提升应用的加载等待这段时 ...

  10. 关于欧几里得算法(gcd)的证明

    求a,b的最大公约数我们经常用欧几里得算法解决,也称辗转相除法, 代码很简短, int gcd(int a,int b){ return (b==0)?a:gcd(b,a%b); } 但其中的道理却很 ...