关于源码安装部署的三个步骤解析:预编译(./XXX),编译(make),安装(make install)
前言
相信很多Linux小白对于源码安装的步骤都十分熟练了,但是知其然是否也知其所以然呢?那今天就由我庖丁解牛-源码安装的三个步骤:预编译(./XXX),编译(make),安装(make install);看看三个步骤分别是个什么目的!
文章目录
- 关于源码安装部署的三个步骤解析:预编译(./XXX),编译(make),安装(make install)
- 1.为什么需要执行三个步骤?
- 2.预编译的目的
- 3.编译的目的
- 4.安装
1.为什么需要执行三个步骤?
- 源码安装必然安装的是源码包,源码包往往指的是由C,或C++等语言写的包,它们往往要比yum和rpm复杂,因此安装需要进行编译安装。
- 就比如源码安装Nginx,因为Nginx是基于C语言开发的源代码程序,默认不能被Linux系统直接使用,需借助C编译器将源代码文件编译生成二进制文件,所以需执行源代码软件包部署核心三个步骤。
2.预编译的目的
- 主要是检测Linux系统安装该所需的依赖环境、库文件,检测Linux系统是否存在GCC(C编译器),指定软件部署的路径、自定义软件编译参数、模块,最终产生Makefile文件。
例如nginx预编译命令:
./configure --prefix=/usr/local/nginx/ --user=www --group=www --with-http_stub_status_module
参数解析:
./configure ##预编译--prefix=/usr/local/nginx/ ##指定部署路径--user=www --group=www ##指定所属用户和组--with-http_stub_status_module ##检测所须依赖
3.编译的目的
- 主要是通过make编译工具读取第一步预编译产生的Makefile文件,将软件包中的源代码文件编译生成二进制文件。其中Makefile文件用途,告知make编译工具在编译源代码文件时,从哪个源码文件开始编译至哪个源码文件结束编译。
以nginx编译结果为例:

4.安装
- 其实就是将第二步make编译产生的二进制文件,拷贝或者安装至Linux系统指定的安装目录,从而形成启动目录
例如nginx最终的启动目录就是:/usr/local/nginx/。