第20章:编译与开发环境搭建
恭喜你已经掌握了 openEuler 的系统管理与自动化技能。现在是时候深入底层从“使用者”转变为“构建者”。在企业级环境中常常需要从源码编译软件、定制内核模块或打包 RPM。本章将带你搭建完整的开发环境掌握编译流程并了解 openEuler 强大的构建生态。 本章目标安装 GCC、make、cmake 等核心编译工具链编写并编译 C/C 程序理解configure、make、make install三部曲安装 Python、Node.js 等现代开发环境使用 openEuler 构建服务OBS了解 RPM 打包基础实战从源码编译并安装htop替代 top 的工具20.1 安装开发工具组openEuler 提供了预定义的软件包组可一键安装常用开发工具。查看可用开发组dnf group list输出包含Development Tools Legacy UNIX Compatibility ...安装“开发工具”组推荐sudodnf groupinstall-yDevelopment Tools这将安装gcc、gC/C 编译器make构建工具binutils链接器、汇编器gdb调试器autoconf、automake、libtool自动构建工具rpm-buildRPM 打包工具单独安装核心工具可选sudodnfinstall-ygccmakecmakegit20.2 编译 C 程序Hello World步骤1创建源码文件vimhello.c内容#includestdio.hintmain(){printf(Hello, openEuler!\n);return0;}步骤2编译gcc hello.c-ohellogcc调用 GCC 编译器hello.c源文件-o hello指定输出可执行文件名步骤3运行./hello输出Hello, openEuler!✅ 第一个 C 程序编译成功20.3 理解“三部曲”configure → make → make install大多数开源软件使用 Autotools 构建系统。典型流程./configuremakesudomakeinstall 各步骤详解1../configure检查系统环境编译器、库、头文件生成Makefile可指定安装路径./configure --prefix/usr/local2.make根据Makefile编译源码生成可执行文件或库3.make install将编译好的文件复制到系统目录如/usr/local/bin需要 root 权限20.4 使用 CMake 构建项目CMake 是现代 C/C 项目的主流构建系统。示例项目mkdircmake-democdcmake-demovimCMakeLists.txt内容cmake_minimum_required(VERSION 3.10) project(HelloCMake) set(CMAKE_C_STANDARD 99) add_executable(hello hello.c)创建hello.c#includestdio.hintmain(){printf(Hello from CMake!\n);return0;}编译mkdirbuildcdbuild cmake..make./hello输出Hello from CMake!✅ CMake 项目构建成功。20.5 安装 Python 开发环境安装 Python 3sudodnfinstall-ypython3 python3-pip验证python3--versionpip3--version创建虚拟环境推荐python3-mvenv myenvsourcemyenv/bin/activate pipinstallrequests20.6 安装 Node.js 环境使用 NodeSource 仓库curl-fsSLhttps://rpm.nodesource.com/setup_18.x|sudobash-sudodnfinstall-ynodejs验证node--versionnpm--version20.7 openEuler 构建服务OBSOBSOpen Build Service是 openEuler 提供的在线 RPM 构建平台开发者可提交源码自动构建适用于不同架构的 RPM 包。 官网https://build.openeuler.org主要功能支持 x86_64、aarch64、riscv 等多架构构建自动依赖解析与 Git 仓库集成提供个人项目空间使用流程简要注册 OBS 账号创建项目上传.spec文件和源码提交构建下载生成的 RPM 包 适合企业发布定制化软件包。20.8 实战从源码编译安装htop系统自带的htop可能版本较旧我们从源码编译最新版。步骤1安装依赖sudodnfinstall-yncurses-develhtop需要ncurses库来实现彩色界面。步骤2下载源码cd/tmpwgethttps://github.com/htop-dev/htop/archive/refs/tags/3.2.2.tar.gztar-xzf3.2.2.tar.gzcdhtop-3.2.2步骤3配置与编译./autogen.sh# 生成 configure 脚本项目需要./configure--prefix/usr/localmake-j$(nproc)# 使用所有 CPU 核心加速编译步骤4安装sudomakeinstall默认安装到/usr/local/bin/htop步骤5验证/usr/local/bin/htop或添加/usr/local/bin到PATHexportPATH/usr/local/bin:$PATHhtop✅ 你已成功从源码安装最新版htop✅ 本章小结工具用途安装命令gcc/gC/C 编译器dnf install gccmake构建工具dnf install makecmake现代构建系统dnf install cmakepython3Python 环境dnf install python3nodejsNode.js 环境通过 NodeSource 安装OBSRPM 在线构建build.openeuler.org 课后练习编写一个 C 程序计算 1 到 100 的和并编译运行。使用make编写一个简单的Makefile实现多文件编译。从 GitHub 下载一个简单的 C 项目如nano尝试编译安装。创建一个 Python 虚拟环境安装flask并运行一个 Web 服务。在 OBS 上注册账号浏览 openEuler 官方项目。挑战尝试为 openEuler 打包一个简单的 Shell 脚本为 RPM 包需学习.spec文件编写。 下一章预告第21章《系统性能调优基础》我们将学习使用top、htop、vmstat、iostat监控系统性能分析 CPU、内存、I/O 瓶颈调整内核参数sysctl使用tuned自动优化系统性能实战为数据库服务器进行性能调优准备好成为系统的“性能医生”了吗