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

相关推荐
风行無痕32 分钟前
Ubuntu Linux系统配置账号无密码sudo
linux·服务器·ubuntu
爆农1 小时前
centos搭建dokcer和vulhub
linux·运维·centos
SZ1701102311 小时前
中继器的作用
服务器·网络·智能路由器
chenxy022 小时前
如何快速分享服务器上的文件
运维·服务器
重启就好2 小时前
【Ansible】模块详解
linux·服务器·ansible
o0o_-_2 小时前
【瞎折腾/mi50 32G/ubuntu】mi50显卡ubuntu运行大模型开坑(三)安装风扇并且控制转速
linux·运维·ubuntu
Huazzi.3 小时前
Ubuntu 22虚拟机【网络故障】快速解决指南
linux·网络·学习·ubuntu·bash·编程
熙曦Sakura3 小时前
【Linux网络】HTTP
linux·网络·http
轻颂呀3 小时前
Linux中常见开发工具简单介绍
linux
SuperW4 小时前
Linxu实验五——NFS服务器
运维·服务器