操作系统发行版
operating-system、RHEL/BSD 家族。
30 分钟
操作系统发行版
平台稳定性始于 OS 选型:包管理器、内核版本、安全补丁节奏、商业支持合同,直接决定 CM 工具兼容性、容器运行时与 Java 服务长期运维成本。本课覆盖 /roadmaps/devops 的 operating-system 节点,聚焦 RHEL 家族、Debian/Ubuntu 家族、BSD 家族 及 Immutable OS(CoreOS/Fedora CoreOS) 在 DevOps 平台中的角色,并与 dcp-chef、dcp-puppet 的 CM 实践、kubernetes-essentials 的节点 OS 要求衔接。
学习目标
- 对比 RHEL/CentOS Stream/Rocky/Alma 与 Ubuntu LTS/Debian 在企业支持、包版本、SELinux 上的差异
- 理解 FreeBSD/OpenBSD 在防火墙、存储、网络栈场景的定位
- 为 CodeRoadMap 生产环境写出 OS 选型清单(含 EOL 与补丁 SLA)
主流发行版对照
| 家族 | 代表 | 包管理 | 典型场景 | 商业支持 |
|---|---|---|---|---|
| RHEL 系 | RHEL 9、Rocky 9、Alma 9 | dnf/yum | 银行、OpenShift 节点 | Red Hat 订阅 |
| Debian 系 | Debian 12、Ubuntu 22.04/24.04 LTS | apt | 云 VM 默认、开发机 | Canonical Pro(可选) |
| SUSE 系 | SLES、openSUSE | zypper | SAP、欧洲合规 | SUSE 订阅 |
| BSD 系 | FreeBSD 14、OpenBSD | pkg | 路由、存储、高网络性能 | 社区 + 商业咨询 |
| Immutable | Fedora CoreOS、Flatcar | ostree/rpm-ostree | K8s 节点、不可变基础设施 | 随平台 |
CodeRoadMap 当前:宝塔 + Linux(常见 Ubuntu/CentOS 衍生)
生产建议:Ubuntu LTS 或 RHEL 系 LTS,统一内核与 glibc 版本
K8s 节点:优先 Immutable OS + 容器运行时 containerd
平台相关配置示例
# Ansible 风格变量 — 按 OS 家族切换包名(概念示例)
packages:
RedHat:
nginx: nginx
java: java-17-openjdk
Debian:
nginx: nginx
java: openjdk-17-jdk
# RHEL — 启用 CodeReady Builder 并安装 Java 17
sudo subscription-manager register
sudo dnf install -y java-17-openjdk nginx
sudo systemctl enable --now nginx