文章目录
-
-
- [**1. 下载源码**](#1. 下载源码)
-
- [**(1) 使用 `wget` 或 `curl` 下载**](#(1) 使用
wget或curl下载) - [**(2) 解压源码**](#(2) 解压源码)
- [**(1) 使用 `wget` 或 `curl` 下载**](#(1) 使用
- [**2. 配置编译环境**](#2. 配置编译环境)
-
- [**(1) 执行 `./configure` 脚本**](#(1) 执行
./configure脚本)
- [**(1) 执行 `./configure` 脚本**](#(1) 执行
- [**3. 编译源码**](#3. 编译源码)
-
- [**(1) 执行 `make`**](#(1) 执行
make)
- [**(1) 执行 `make`**](#(1) 执行
- [**4. 安装软件**](#4. 安装软件)
-
- [**(1) 执行 `make install`**](#(1) 执行
make install) - [**(2) 自定义安装路径**](#(2) 自定义安装路径)
- [**(1) 执行 `make install`**](#(1) 执行
- [**5. 验证安装**](#5. 验证安装)
-
- [**(1) 检查版本信息**](#(1) 检查版本信息)
- [**(2) 查看安装路径**](#(2) 查看安装路径)
- [**6. 清理编译文件**](#6. 清理编译文件)
-
- [**(1) 删除临时文件**](#(1) 删除临时文件)
- [**(2) 删除安装文件**](#(2) 删除安装文件)
- [**7. 示例:从源码编译安装 Nginx**](#7. 示例:从源码编译安装 Nginx)
-
- [**(1) 下载并解压**](#(1) 下载并解压)
- [**(2) 配置编译环境**](#(2) 配置编译环境)
- [**(3) 编译与安装**](#(3) 编译与安装)
- [**(4) 启动 Nginx**](#(4) 启动 Nginx)
-
在 Linux 系统中,从源码编译并安装软件是一个常见的操作。以下是详细的命令行步骤以及参数说明。
1. 下载源码
(1) 使用 wget 或 curl 下载
bash
wget http://example.com/software-1.0.tar.gz # 使用 wget 下载
# 或者
curl -O http://example.com/software-1.0.tar.gz # 使用 curl 下载
wget和curl是常用的下载工具。-O参数表示将文件保存为默认名称。
(2) 解压源码
根据压缩包的格式选择解压命令:
bash
tar -zxvf software-1.0.tar.gz # 解压 .tar.gz 文件
tar -jxvf software-1.0.tar.bz2 # 解压 .tar.bz2 文件
unzip software-1.0.zip # 解压 .zip 文件
tar -zxvf:解压.tar.gz文件。tar -jxvf:解压.tar.bz2文件。unzip:解压.zip文件。
2. 配置编译环境
进入解压后的源码目录:
bash
cd software-1.0
(1) 执行 ./configure 脚本
bash
./configure [选项]
常见参数说明:
-
--prefix=PATH:指定安装路径,默认为/usr/local。bash./configure --prefix=/opt/software -
--enable-FEATURE:启用特定功能模块。bash./configure --enable-feature-name -
--disable-FEATURE:禁用特定功能模块。bash./configure --disable-feature-name -
--with-PACKAGE=DIR:指定外部依赖库的路径。bash./configure --with-openssl=/usr/local/openssl -
--without-PACKAGE:不使用某个外部依赖库。bash./configure --without-openssl -
--help:查看所有可用选项。bash./configure --help
3. 编译源码
(1) 执行 make
bash
make
-
make会根据Makefile文件中的规则编译源码。 -
如果需要加速编译,可以使用
-j参数指定并发线程数(通常为 CPU 核心数)。bashmake -j4 # 使用 4 个线程并发编译
4. 安装软件
(1) 执行 make install
bash
sudo make install
make install会将编译好的文件复制到指定的安装路径。- 需要
sudo权限才能写入系统目录(如/usr/local)。
(2) 自定义安装路径
如果在 ./configure 阶段指定了 --prefix 参数,则安装路径会被设置为该值。例如:
bash
./configure --prefix=/opt/software
sudo make install
安装后,可执行文件通常位于 bin 子目录下,配置文件位于 etc 子目录下。
5. 验证安装
(1) 检查版本信息
运行以下命令检查软件是否成功安装:
bash
software --version # 替换为实际软件名称
(2) 查看安装路径
可以通过 which 或 whereis 命令查找可执行文件的位置:
bash
which software # 查找可执行文件路径
whereis software # 查找可执行文件、源码和手册页
6. 清理编译文件
(1) 删除临时文件
bash
make clean # 删除编译过程中生成的临时文件
make distclean # 删除所有生成的文件,包括配置文件
(2) 删除安装文件
如果需要卸载软件,可以手动删除安装路径下的文件。例如:
bash
sudo rm -rf /opt/software # 替换为实际安装路径
7. 示例:从源码编译安装 Nginx
以下是一个完整的 Nginx 编译安装示例:
(1) 下载并解压
bash
wget http://nginx.org/download/nginx-1.25.3.tar.gz
tar -zxvf nginx-1.25.3.tar.gz
cd nginx-1.25.3
(2) 配置编译环境
bash
./configure \
--prefix=/opt/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-pcre=/path/to/pcre-source
--prefix=/opt/nginx:指定安装路径。--with-http_ssl_module:启用 HTTPS 支持。--with-http_v2_module:启用 HTTP/2 支持。--with-pcre:指定 PCRE 库路径。
(3) 编译与安装
bash
make -j4
sudo make install
(4) 启动 Nginx
bash
/opt/nginx/sbin/nginx
通过以上步骤,你可以从源码编译并安装任何支持 Makefile 的软件。如果有特殊需求,可以根据软件的文档调整配置参数。