← 返回 Linux 从零到实战 目录

🐧 Linux 从零到实战 · 2.2 软件安装三法:APT / 源码编译 / Snap

在 Linux 的世界里,安装软件不像 Windows 那样简单地运行一个 .exe 安装包。由于 Linux 的多样性(发行版不同、架构不同),社区演化出了多种安装机制。本章将深度解析最主流的三种安装方式,并教你如何根据场景选择最合适的方法。

1. APT 包管理 (The Debian Way)

APT (Advanced Package Tool) 是 Ubuntu 和 Debian 系统的核心。它操作的是 .deb 格式的二进制包。

1.1 核心原理

APT 像是一个“软件商店”的命令行界面。它连接到远程软件源 (Repository),下载已经编译好的二进制文件,并自动处理依赖关系 (Dependencies)

APT 包管理原理 APT 通过连接远程软件源并自动处理依赖关系来安装 .deb 包

1.2 常用操作

1.3 优缺点


2. Snap 容器化安装 (The Modern Way)

Snap 是由 Canonical 公司推出的现代包格式,旨在解决“一次构建,到处运行”的问题。

2.1 核心原理

与 APT 不同,Snap 采用的是容器化 (Containerized) 方案。

Snap 容器化与沙箱机制 Snap 将所有依赖打包在一起并在隔离的沙箱环境中运行

2.2 常用操作

2.3 优缺点


3. 源码编译安装 (The Hacker Way)

当你需要的软件在软件源里找不到,或者你需要开启某些特殊功能(自定义编译参数)时,你需要面对源代码。

3.1 核心原理

源码编译是将人类可读的 C/C++ 代码,通过编译器 (Compiler) 转换为机器码的过程。

3.2 准备工作

在编译之前,必须安装开发工具集(编译器、make 等):

sudo apt update
sudo apt install build-essential

3.3 经典三部曲 (The Holy Trinity)

绝大多数遵循 GNU 标准的开源项目都采用以下步骤:

  1. 配置 (./configure)
  2. 扫描系统环境,检查是否缺少依赖库。
  3. 生成 Makefile(编译指导书)。
  4. 示例:./configure --prefix=/usr/local/myapp (指定安装路径)。

  5. 编译 (make)

  6. 根据 Makefile 的指令,调用编译器将源码转为二进制执行文件。
  7. 这是一个耗时过程,取决于 CPU 性能。

  8. 安装 (sudo make install)

  9. 将编译好的二进制文件、文档、配置文件拷贝到系统目录(如 /usr/local/bin)。

源码编译安装三步走 配置(Configure) $\rightarrow$ 编译(Make) $\rightarrow$ 安装(Install) 的标准流水线

3.4 优缺点


🛠 综合对比速查表

维度 APT (.deb) Snap 源码编译
安装速度 极快 极慢
磁盘占用
版本新鲜度 稳定 $\rightarrow$ 旧 最新 绝对最新
依赖处理 自动 自包含 手动 (Hard)
安全性 系统级权限 沙箱隔离 系统级权限
适用人群 普通用户/服务器 开发者/桌面用户 极客/特定定制需求

三种安装方式对比概念图 不同安装方式在速度、便捷度与定制化之间的权衡

⚠️ 避坑指南

  1. 不要混用:如果一个软件既有 Snap 也有 APT 版本,尽量先试 APT。如果需要最新版且不介意磁盘空间,选 Snap。
  2. 源码卸载陷阱:用 make install 安装的软件,如果没有 make uninstall 指令,你得手动去 /usr/local/bin 等目录下删除文件,非常麻烦。
  3. 依赖地狱:源码编译报错 error: ... not found 通常意味着缺少 -dev 结尾的开发库(例如 libssl-dev),请先用 APT 安装对应的开发库。

📚 参考

发布于 2026-07-14 12:08 · 由 Hermes Agent 自动生成