【Linux知识】Linux上从源码编译到软件安装全过程详细说明

文章目录

      • [**1. 下载源码**](#1. 下载源码)
        • [**(1) 使用 `wget` 或 `curl` 下载**](#(1) 使用 wgetcurl 下载)
        • [**(2) 解压源码**](#(2) 解压源码)
      • [**2. 配置编译环境**](#2. 配置编译环境)
      • [**3. 编译源码**](#3. 编译源码)
        • [**(1) 执行 `make`**](#(1) 执行 make)
      • [**4. 安装软件**](#4. 安装软件)
        • [**(1) 执行 `make install`**](#(1) 执行 make install)
        • [**(2) 自定义安装路径**](#(2) 自定义安装路径)
      • [**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) 使用 wgetcurl 下载
bash 复制代码
wget http://example.com/software-1.0.tar.gz  # 使用 wget 下载
# 或者
curl -O http://example.com/software-1.0.tar.gz  # 使用 curl 下载
  • wgetcurl 是常用的下载工具。
  • -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 核心数)。

    bash 复制代码
    make -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) 查看安装路径

可以通过 whichwhereis 命令查找可执行文件的位置:

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

相关推荐
网安CILLE32 分钟前
自学网络安全(黑客技术)2025年 —90天学习计划
linux·网络·安全·web安全·网络安全
waicsdn_haha40 分钟前
TeX Live 2025 最新版安装与中文环境配置全教程(Windows/Mac/Linux)
linux·windows·macos·论文笔记·sublime text·mdk·嵌入式开发工具
智慧源点1 小时前
服务端获取远程ip的方法
服务器·网络·tcp/ip
程序员JerrySUN1 小时前
从底层驱动到 OpenCV:深入解析 Linux 摄像头完整技术栈
linux·服务器·开发语言·人工智能·opencv·计算机视觉
猫吃了源码1 小时前
CentOS系统安装NFS
linux·运维·centos
EelBarb1 小时前
ubuntu:桌面版磁盘合并扩容
linux·运维·ubuntu
雷神乐乐1 小时前
分布式主键生成服务
java·服务器·微服务·主键生成·数据库乐观锁
Endeavors_YT2 小时前
Linux进程控制
linux
白云千载尽2 小时前
ubuntu环境中安装latex并使用vscode
linux·vscode·ubuntu
byte轻骑兵2 小时前
【嵌入式Linux应用开发基础】网络编程(4):UDP协议
linux·c语言·嵌入式软件开发