在 Ubuntu 环境中通过源码编译安装软件,本质上是将源代码“编译”为可执行的二进制文件,并部署到指定目录。这种安装方式不依赖软件仓库,尤其适合离线部署、深度定制以及获取最新版本程序等场景,通常也是 Ubuntu 服务器安装软件的重要方案。整体流程并不复杂:先确保 build-essential 等基础编译工具链已安装,再根据具体项目补齐如 libpcre3-dev 等开发依赖库。随后进入常见的源码安装“四步流程”——解压源码包、执行 ./configure 配置、使用 make 编译,最后通过 sudo make install 完成安装。安装完成后,还需要处理 PATH 环境变量、注册 systemd 服务并校验文件权限,才能真正完成 Ubuntu 源码编译安装。

在 Ubuntu 服务器上进行软件编译安装,核心目标是把源码构建成可运行的二进制程序,并按实际需求部署到系统中。由于这种方式不依赖在线软件仓库,因此非常适合离线环境、个性化定制需求,或安装官方仓库中尚未提供的新版本软件。
一、提前装好编译基础工具
如果没有编译器和构建工具,源码就无法顺利生成可执行程序。因此,首先要在 Ubuntu 系统中安装常用的编译环境和构建组件:
- build-essential:包含 gcc、g++、make 等源码编译所需的核心工具
- cmake(当项目采用 CMake 构建时需要)
- git(便于拉取源码,尤其适用于 GitHub、ROS 等项目)
命令示例:
sudo apt update && sudo apt install -y build-essential cmake git
二、按需安装开发依赖库
不同软件在源码编译安装时依赖的库文件并不相同,通常需要根据项目要求单独补充开发包。常见依赖示例如下:
- Nginx 常需要:
libpcre3-dev(正则支持)、libssl-dev(HTTPS/SSL 支持)、zlib1g-dev(压缩支持) - OpenSSH 或 libgdiplus 可能需要:
libz-dev、libkrb5-dev、libtiff-dev(可根据 configure 报错信息补装)
实用原则是:先执行 ./configure 或 cmake .,查看缺少哪些依赖,再安装对应的 -dev 开发库,这样更高效也更准确。
三、解压、配置、编译、安装四步走
以典型的 C/C++ 项目为例(例如 Nginx、OpenSSH、libgdiplus),Ubuntu 下源码安装通常按照以下四个步骤完成:
- 解压源码包:
tar -zxvf xxx.tar.gz && cd xxx - 配置构建选项:
./configure --prefix=/opt/myapp --enable-xxx(用于指定安装目录及功能模块开关) - 编译源码:
make -j$(nproc)(使用-j并行编译,充分利用 CPU 核心提升速度) - 安装程序:
sudo make install(默认通常安装到/usr/local;如果指定了--prefix,则会安装到对应路径)
四、安装后必要收尾工作
与 apt 安装不同,源码编译安装的软件通常不会自动注册系统服务,也不会自动更新命令路径,因此安装完成后还需要进行一些必要的配置:
- 将安装目录中的
bin路径加入PATH(例如把export PATH="/opt/nginx/bin:$PATH"写入/etc/profile) - 为 systemd 服务编写 unit 文件(例如 Nginx 的
/lib/systemd/system/nginx.service),然后执行sudo systemctl daemon-reload && sudo systemctl enable nginx - 检查目录权限:确保配置目录(如
/opt/nginx/conf)属主属组正确,日志目录具备可写权限
需要注意的是,源码安装后的卸载通常比 apt 安装更麻烦——部分项目支持 sudo make uninstall(前提是源码目录仍然保留);如果不支持,则只能手动删除 --prefix 指定的安装目录,并同步清理 PATH 配置和 systemd service 文件。
