当前位置: 首页 > news >正文

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

文章目录

      • **1. 下载源码**
        • **(1) 使用 `wget` 或 `curl` 下载**
        • **(2) 解压源码**
      • **2. 配置编译环境**
        • **(1) 执行 `./configure` 脚本**
          • 常见参数说明:
      • **3. 编译源码**
        • **(1) 执行 `make`**
      • **4. 安装软件**
        • **(1) 执行 `make install`**
        • **(2) 自定义安装路径**
      • **5. 验证安装**
        • **(1) 检查版本信息**
        • **(2) 查看安装路径**
      • **6. 清理编译文件**
        • **(1) 删除临时文件**
        • **(2) 删除安装文件**
      • **7. 示例:从源码编译安装 Nginx**
        • **(1) 下载并解压**
        • **(2) 配置编译环境**
        • **(3) 编译与安装**
        • **(4) 启动 Nginx**

在 Linux 系统中,从源码编译并安装软件是一个常见的操作。以下是详细的命令行步骤以及参数说明。

1. 下载源码

(1) 使用 wgetcurl 下载
wget http://example.com/software-1.0.tar.gz  # 使用 wget 下载
# 或者
curl -O http://example.com/software-1.0.tar.gz  # 使用 curl 下载
  • wgetcurl 是常用的下载工具。
  • -O 参数表示将文件保存为默认名称。
(2) 解压源码

根据压缩包的格式选择解压命令:

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. 配置编译环境

进入解压后的源码目录:

cd software-1.0
(1) 执行 ./configure 脚本
./configure [选项]
常见参数说明:
  • --prefix=PATH:指定安装路径,默认为 /usr/local
    ./configure --prefix=/opt/software
    
  • --enable-FEATURE:启用特定功能模块。
    ./configure --enable-feature-name
    
  • --disable-FEATURE:禁用特定功能模块。
    ./configure --disable-feature-name
    
  • --with-PACKAGE=DIR:指定外部依赖库的路径。
    ./configure --with-openssl=/usr/local/openssl
    
  • --without-PACKAGE:不使用某个外部依赖库。
    ./configure --without-openssl
    
  • --help:查看所有可用选项。
    ./configure --help
    

3. 编译源码

(1) 执行 make
make
  • make 会根据 Makefile 文件中的规则编译源码。
  • 如果需要加速编译,可以使用 -j 参数指定并发线程数(通常为 CPU 核心数)。
    make -j4  # 使用 4 个线程并发编译
    

4. 安装软件

(1) 执行 make install
sudo make install
  • make install 会将编译好的文件复制到指定的安装路径。
  • 需要 sudo 权限才能写入系统目录(如 /usr/local)。
(2) 自定义安装路径

如果在 ./configure 阶段指定了 --prefix 参数,则安装路径会被设置为该值。例如:

./configure --prefix=/opt/software
sudo make install

安装后,可执行文件通常位于 bin 子目录下,配置文件位于 etc 子目录下。

5. 验证安装

(1) 检查版本信息

运行以下命令检查软件是否成功安装:

software --version  # 替换为实际软件名称
(2) 查看安装路径

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

which software  # 查找可执行文件路径
whereis software  # 查找可执行文件、源码和手册页

6. 清理编译文件

(1) 删除临时文件
make clean  # 删除编译过程中生成的临时文件
make distclean  # 删除所有生成的文件,包括配置文件
(2) 删除安装文件

如果需要卸载软件,可以手动删除安装路径下的文件。例如:

sudo rm -rf /opt/software  # 替换为实际安装路径

7. 示例:从源码编译安装 Nginx

以下是一个完整的 Nginx 编译安装示例:

(1) 下载并解压
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) 配置编译环境
./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) 编译与安装
make -j4
sudo make install
(4) 启动 Nginx
/opt/nginx/sbin/nginx

通过以上步骤,你可以从源码编译并安装任何支持 Makefile 的软件。如果有特殊需求,可以根据软件的文档调整配置参数。

相关文章:

  • 1. EXCEL基础、界面介绍《AI赋能Excel 》
  • 基于TensorFlow.js与Web Worker的智能证件照生成方案
  • C++对象模型之C++额外成本
  • 姜雷从萨满非物质文化传承者到跨界融合的成长历程
  • 51单片机编程学习笔记——点亮LED
  • 初阶数据结构(C语言实现)——1数据结构前言
  • LeetCode刷题零碎知识点整理
  • 2024/2/23 考试
  • js中的await与async的使用
  • react使用拖拽,缩放组件,采用react-rnd解决
  • instanceof和typeof的区别【JavaScript常见面试题】
  • 跨境宠物摄像头是一种专为宠物主人设计的智能设备
  • OpenCV计算摄影学(1)图像修复(Inpainting)的函数inpaint()
  • 【若依框架】代码生成详细教程,15分钟搭建Springboot+Vue3前后端分离项目,基于Mysql8数据库和Redis5,管理后台前端基于Vue3和Element Plus,开发小程序数据后台
  • P5304 [GXOI/GZOI2019] 旅行者
  • 嵌入式项目:STM32刷卡指纹智能门禁系统
  • ShardingSphere--02--数据分片
  • 基于嵌入式linux的数据库:SQLite
  • 分片机制如何理解?
  • Unity Shader 学习13:屏幕后处理 - 使用高斯模糊的Bloom辉光效果
  • 5月LPR下调:1年期、5年期以上品种均下调10个基点
  • 六旬老人举报违建后遭蒙面袭击续:海南陵水县住建局已暂停俩房产项目网签
  • 小米法务部:犯罪团伙操纵近万账号诋毁小米,该起黑公关案告破
  • 19世纪的“表征之场”:弗洛伊德的精神分析椅
  • 事关中国,“英伟达正游说美国政府”
  • 国家统计局:4月份各线城市商品住宅销售价格环比持平或略降