Linux 编译源码安装程序
前言
有时候,我们从网上下载到一个 .tar.gz 格式的开源项目源码,想要上传到 Linux 服务器并通过源码进行编译安装。这种方式比较灵活,适用于没有预编译包、或需要自定义编译参数的场景。
下面整理了一份完整的流程,记录从解压源码包到最终编译安装的每一个步骤,供自己备忘,也方便后来者参考。
安装流程
前置准备:安装依赖
在源码编译之前,首先要确保系统已经安装了构建工具和项目所需的依赖包。常见依赖包括:
- C/C++ 编译器(如 gcc、g++);
- make 工具;
- Autotools 工具链(部分项目需要);
- 项目本身依赖的开发库(如 zlib、openssl 等)。
以 Debian / Ubuntu 为例,可以先装好基础编译工具:
1 | |
其他常见依赖(按需安装):
1 | |
建议查看源码包内的
README文件,看是否有明确的依赖要求。
1. 上传源码并解压
将 .tar.gz 格式的源码上传到服务器之后,先进行解压:
1 | |
解压后会生成一个以项目名命名的目录,里面通常包含源码、构建脚本、文档等内容。
2. 进入源码目录
1 | |
3. 运行 configure 配置安装参数
使用 configure 脚本进行系统环境检查,并指定安装路径:
1 | |
说明:
--prefix:用于指定最终安装目录,默认是/usr/local;./configure会检查编译所需的库、头文件等系统信息,并生成Makefile。
常用可选参数(根据项目而定):
1 | |
查看所有可用选项:
1 | |
4. 编译源码
1 | |
推荐使用多核并行编译,加快速度:
1 | |
这一阶段会根据
Makefile,将源码编译成可执行文件或库文件。
5. 安装程序
1 | |
这一步会将程序文件安装到第三步配置的 --prefix 目录下,例如 /usr/local/xxxxx/bin、lib、include 等。
6. 配置环境变量
如果需要程序命令全局可用,同时程序安装目录不在系统 PATH 中,需要手动添加:
1 | |
若想永久生效,可添加到 .bashrc / .zshrc:
1 | |
7. 验证是否安装成功
通过如下方式验证程序是否可用:
1 | |
如果能输出正确路径或版本号,说明安装成功。
8. 清理编译过程中产生的临时文件
安装完成后,建议清理构建中生成的中间文件,节省空间、保持源码目录干净。
1 | |
区别如下:
make clean
- 删除中间编译产物,如
.o文件、可执行文件; - 保留配置生成的
Makefile文件等。
make distclean
- 和
make clean相比更彻底,会把configure生成的所有文件也删除掉; - 相当于回到解压之后的源码初始状态。
9. 卸载程序
有些项目支持通过 make uninstall 命令卸载:
1 | |
前提是你还保留了原来的编译目录和
Makefile文件。
如果不支持,就只能手动删除安装路径下的文件(比如 /usr/local/xxxxx 目录)。
完整流程
1 | |