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 |
|