Linux:configure make、make install
Linux命令详解./configure、make、make install 命令_爱吃牛肉的大老虎的博客-CSDN博客
前言
源码的安装一般由三个步骤组成:配置(configure)、编译(make)、安装(make install)。这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。
configure:对即将安装的软件进行配置,检查当前环境是否满足安装软件的依赖关系。生成Makefile文件。
make:从Makefile中读取指令,然后编译成可执行文件
make install:从Makefile中读取指令,安装到指定位置(二进制文件)。
一、configure
1、前言
configure命令用于配置和准备软件包的自动化安装过程。通常用于源代码安装(即wget+tar的方式)的软件包,通过configure命令可以根据系统环境和用户需求进行自定义配置(并生成编译make所需的Makefile),以保证软件包能够在特定的系统上正确安装和运行。
configure可以生成Makefile,为下一步的编译做准备。
2、用法
./configure [选项]
必须用./configure,不能进入目录后用configure,以python安装为例,在python目录中,就存在configure文件,这个文件就是之后配置所要用的configure脚本。
3、选项
configure脚本有很多配置选项,可以通过./configure --help看到所有可用的配置项。
选项 |
说明 |
--prefix=路径 |
软件包的安装路径,默认/usr/local。 |
--help | 其他选项可以通过help查看 |
说明
如果指定了prefix,例如--prefix=/usr,那么各种文件就在该目录下建立对应的文件夹:
- 可执行文件:/usr/bin
- 资源文件:/usr/share
- ……
如果不指定prefix,那么各种文件会有一些默认的路径:
- 可执行文件:/usr/local/bin
- 库文件:/usr/local/lib
- 配置文件:/usr/local/etc
- 其他资源文件:/usr/local/share
4、例子
1)指定安装路径
./configure --prefix=/opt/software
将软件包安装到/opt/software目录下
二、make和make install
make和make install命令用于使用.tar.gz安装文件的情形下。它们分别实现对源码的编译和安装。
在用./configure --prefix指定了路径的情况下,编译和安装会正确输出到目标路径中。
make:命令工具,对程序进行编译;
make install:将编译好的程序安装到系统中,这样可以在命令行中输入程序名来运行它;
make clean:将编译生成的文件删除,包括中间文件和可执行文件。
make uninstall(make的目录下):卸载
说明
卸载软件时,如果configure时指定了目标路径,那么直接删除该目录即可。也可以在make所在目录下用make uninstsall。
make install
安装时可以用 PREFIX=路径或DESTDIR=路径 安装到指定目录下。
这样,会在指定目录下生成一个bin目录,并在bin目录中存在可执行二进制文件。
make PREFIX=/usr/local/redis install make DESTDIR=/install/directory install
指定路径非必须,因为在make时就已经编译出可执行文件了,make install只是为了安装到Linux系统中常用位置上,因为从默认安装目录下运行程序可能有点不方便。
make install中的PREFIX与configure中的--prefix
本节内容学习自:Linux命令详解./configure、make、make install 命令_爱吃牛肉的大老虎的博客-CSDN博客
假设运行了以下指令
./configure --prefix=/usr/local/nginx
那么,会在/usr/local/nginx目录下,生成bin、lib、etc、share目录。
由于configure已经指定了安装位置,因此后续make install PREFIX不会生效。