文章目录
-
-
- [**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 的软件。如果有特殊需求,可以根据软件的文档调整配置参数。