麒麟上源码包编译安装怎么做
讲在银河麒麟上从源码编译安装软件的方法:装构建依赖、编译安装流程、与包管理器管理的包如何共存,及离线信创环境的限制。
结论先行
源码编译在 V11 服务器条目 上完全可行,但只用于仓库里没有的组件、或需要定制修改的场景;有现成 rpm 包就走包管理器。信创环境优先选有厂商适配的发行方式,纯源码自编译的组件后续升级全靠手动。
标准流程
# 1. 装构建工具与依赖
dnf install -y gcc make 依赖包
# 2. 解包配置
tar xf src.tar.gz && cd src
./configure # 或 cmake 构建体系
# 3. 编译安装
make -j$(nproc)
make install # 通常装进 /usr/local
装进
/usr/local的组件不归包管理器管,升级/卸载都要手动;与系统 rpm 包的冲突风险(同名文件、库版本)要自己评估。
与包管理的边界
| 做法 | 适用 |
|---|---|
直接 make install |
临时、一次性、无后续维护要求 |
| 用 rpmbuild 打成本地 rpm 再装 | 需要纳入包管理、可卸载可升级 |
后者做法(源码 → 本地 rpm 包)详见 麒麟系列总览,是生产环境更推荐的路线。
离线环境的限制
常见翻车
- 编译时缺头文件(需要装
xxx-devel包),make报找头文件找不到。 - 装进系统目录后与 rpm 包抢文件,后续
dnf upgrade装不上。 - 升级系统小版本后,自编译组件的库版本不匹配直接挂。