Linux ./configure --prefix 命令是什么意思?

转载地址:http://www.oseye.net/question/96

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)

Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。

其中--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。

如果配置--prefix,如:

  1. ./configure --prefix=/usr/local/test

可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。

用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。

当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是make文件指定过uninstall。

转载于:https://www.cnblogs.com/susuyu/archive/2013/02/03/2891069.html

<think>嗯,用户现在问的是关于“./configure --prefix=/apps/nginx”是什么意思。首先,我需要确定用户对这个命令的理解程度。可能他们是在安装软件,特别是Nginx的时候遇到了这个命令,不太明白各个部分的作用。 首先,分解命令的结构。"./configure" 是典型的Unix/Linux系统中用于配置软件构建的脚本。用户可能知道运行这个脚本是编译安装软件的一个步骤,但具体参数可能不清楚。接下来是“--prefix=/apps/nginx”,这个参数指定了安装的目录。用户可能想知道为什么需要指定这个路径,以及不指定的话会怎么样。 用户可能的需求是什么?他们可能正在尝试从源代码安装Nginx,或者需要将软件安装到非标准的位置。可能的原因包括:没有root权限,需要将软件安装到用户目录;或者公司/项目的规范要求将软件安装在特定路径,比如/apps下。 需要进一步考虑用户的使用场景。比如,用户可能是系统管理员,负责部署Web服务器,或者开发者在搭建测试环境。他们可能对编译安装过程不熟悉,所以需要详细解释每个步骤的作用,以及参数的重要性。 另外,用户可能遇到的常见问题包括:运行configure时缺少依赖库,或者指定prefix后如何确保软件正确运行。可能需要提醒用户在运行configure之前安装必要的依赖,安装完成后需要将安装路径添加到PATH环境变量,或者设置相应的符号链接。 还要注意用户可能的误区,比如认为--prefix只是影响安装路径,而实际上它还会影响软件的配置文件和运行时查找资源的路径。例如,Nginx安装到/apps/nginx后,其配置文件、日志文件等都会存放在该目录下,而不是默认的/usr/local/nginx或其他位置。 此外,用户可能对后续步骤有疑问,比如运行make和make install的作用,以及如何验证安装是否成功。可能需要简要说明整个编译安装流程:configure生成Makefile,make编译代码,make install安装到指定目录。 安全方面也需要考虑,如果用户将软件安装到非标准目录,可能需要设置适当的权限,防止未授权访问。或者,如果/apps目录不存在,用户需要先创建该目录,并确保有写入权限。 最后,总结这个命令的作用,强调--prefix的重要性,以及如何根据实际需求调整安装路径,帮助用户更好地理解和使用这个参数。</think>--- ### **命令解析:`./configure --prefix=/apps/nginx`** 这是 **从源代码编译安装软件(如 Nginx)时使用的配置命令**,主要用于指定软件的安装路径。以下是详细解释: --- #### **1. 命令组成** ```bash ./configure --prefix=/apps/nginx ``` | 部分 | 作用 | |---------------------|----------------------------------------------------------------------| | **`./configure`** | 运行当前目录下的 `configure` 脚本,生成编译所需的 Makefile 文件 | | **`--prefix`** | 核心参数,定义软件安装的目标路径 | | **`/apps/nginx`** | 自定义的安装路径(可替换为其他目录,如 `/opt/nginx` 或用户目录) | --- #### **2. 核心作用** - **控制安装位置**: 将软件(如 Nginx)安装到 **`/apps/nginx`** 目录下,而非默认路径(如 `/usr/local/nginx`)。 - **目录结构**: 安装后会在 `/apps/nginx` 下生成以下子目录: ```bash /apps/nginx ├── bin # 可执行文件(如 nginx 启动命令) ├── conf # 配置文件(如 nginx.conf) ├── logs # 日志文件 ├── html # 默认网页文件 └── ... # 其他依赖资源 ``` --- #### **3. 使用场景** - **自定义部署**: 避免将软件安装到系统默认路径(如 `/usr/local`),方便统一管理或隔离环境。 - **无 root 权限**: 普通用户可将软件安装到自己的目录(如 `~/apps/nginx`)。 - **多版本共存**: 通过不同路径安装多个版本(如 `/apps/nginx-1.18` 和 `/apps/nginx-1.20`)。 --- #### **4. 操作流程** 1. **进入源码目录**: ```bash cd /path/to/nginx-source-code ``` 2. **运行配置命令**: ```bash ./configure --prefix=/apps/nginx ``` 3. **编译与安装**: ```bash make # 编译源码 sudo make install # 安装到指定路径(需权限) ``` --- #### **5. 注意事项** - **依赖检查**: `configure` 脚本会检查系统是否满足编译依赖(如 GCC、PCRE、OpenSSL)。若报错,需先安装缺失的依赖包。 - **路径权限**: 若目标路径(如 `/apps`)需要 root 权限,建议使用 `sudo` 执行 `make install`。 - **环境变量**: 安装后需将 `/apps/nginx/bin` 加入 `PATH` 环境变量,方便直接运行命令: ```bash export PATH="/apps/nginx/bin:$PATH" ``` --- #### **6. 扩展说明** - **其他常见参数**: `configure` 支持多种配置选项,例如: ```bash --with-http_ssl_module # 启用 SSL 模块 --without-http_gzip_module # 禁用 Gzip 模块 ``` 可通过 `./configure --help` 查看所有选项。 - **还原默认配置**: 不添加 `--prefix` 参数时,默认安装到 `/usr/local/nginx`。 --- ### **总结** - **核心目的**:通过 `--prefix` 自定义软件安装路径,实现灵活部署和管理。 - **典型应用**:编译安装 Nginx、MySQL、Python 等开源软件。 - **关键步骤**:配置 → 编译 → 安装 → 设置环境变量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值