【关于源码安装部署的三个步骤解析:预编译(./XXX),编译(make),安装(make install)】
迪丽瓦拉
2024-06-02 20:43:31
0

关于源码安装部署的三个步骤解析:预编译(./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/。

相关内容