服务器操作系统选型与安装
为生产服务器挑选合适的 Linux 发行版并正确识别系统类型。核心原则是**优先选择 LTS(长期支持)版本**,保证 5 年以上的安全更新周期;并通过 `cat /etc/os-release` 统一判断发行版,为后续配置提供依据。命令与回显在 CentOS 8 与 Ubuntu 22.04 实测。
服务器操作系统选型与安装
目标:为生产服务器挑选合适的 Linux 发行版并正确识别系统类型。核心原则是优先选择 LTS(长期支持)版本,保证 5 年以上的安全更新周期;并通过
cat /etc/os-release统一判断发行版,为后续配置提供依据。命令与回显在 CentOS 8 与 Ubuntu 22.04 实测。
环境信息
| 项 | 值 |
|---|---|
| 测试发行版 1 | CentOS Linux 8(Core) |
| 测试发行版 2 | Ubuntu 22.04.4 LTS(Jammy Jellyfish) |
| 内核 | 通用 x86_64 |
一、如何按业务选择发行版
服务器操作系统本质是"用起来不折腾、维护期够长"的选择,遵循几个原则:
-
能长期维护是第一位:必须优先选 LTS / 带明确 EOL(生命周期结束)日期的主流版本,避免用那种"反正能装起来"但半年就停止更新的系统。
-
生产推荐三大阵营:
发行版 适用场景 特点 Ubuntu LTS(22.04 / 24.04) 通用业务、云主机、数据库、容器 5 年标准支持可续(ESM 扩到 10 年),apt 源全 Rocky Linux / AlmaLinux 9 需要 RHEL 兼容性的数据/银行类业务 与 RHEL 二进制兼容,10 年维护 Alibaba Cloud Linux 3 阿里云 ECS 集团客户 与 CentOS 互通,官方长期维护 -
不推荐 CentOS 8:2024 年 5 月已 EOL,官方源停止更新,只能靠 vault/阿里云镜像续命,仅适合存量机器应急,新装不建议。
二、用 os-release 判断系统类型
无论装什么,第一步都是搞清楚"这台机器到底是什么系统"。/etc/os-release 是标准的系统信息文件,用它判断最靠谱(比 cat /etc/redhat-release 只适用 RHEL 系要通用得多)。
CentOS 8 / Ubuntu 22.04 通用,命令一致:
cat /etc/os-release
CentOS 8 实测回显:
NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
REDHAT_SUPPORT_PRODUCT="CentOS Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8"
Ubuntu 22.04 实测回显:
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
判断要点:看 ID 判断发行版(centos / ubuntu / rocky / alinux),看 VERSION_ID 判断版本号,Ubuntu 还要重点看是否带 LTS。
三、选型之后的安装前检查
安装好基础操作系统后,做一次快速核验,确认内核与 CPU 架构正常再往下走(CentOS 8 与 Ubuntu 22.04 通用):
uname -a
arch
lscpu | head -n 6
nproc
free -h
仅示意关键字段(两系统回显结构一致,示例为 Ubuntu 22.04 实测):
Linux web02 5.15.0-119-generic #126-Ubuntu SMP x86_64 GNU/Linux
x86_64
CPU 插槽: 2
每个插槽的核数: 2
2 # nproc
总内存 16Gi 已用 1.8Gi
四、验证
针对"选型是否成功"的最终验证,就是前面 cat /etc/os-release 的输出里有明确的厂商信息与 LTS/EOL 标记,且 ID / VERSION_ID 与预期一致即可。
生产环境中建议同时把系统版本记录下来,例如:
CentOS 8:
echo "$(cat /etc/os-release | grep -E '^(PRETTY_NAME|VERSION_ID)')"
PRETTY_NAME="CentOS Linux 8 (Core)"
VERSION_ID="8"
五、常见问题 / 踩坑
- 看到
ID_LIKE="rhel"不代表就是 RHEL:判断系统首要看ID,不要被ID_LIKE迷惑,否则包管理(apt/dnf)会选错。 - 生产机不要用最新尝鲜版:Ubuntu 选 22.04/24.04 LTS 这类带
LTS字样版本;不要用非 LTS 的开发版,更新周期短、升级负担大。 - CentOS 8 EOL 后 yum/dnf 报错:存量机器需切换到 vault 或阿里云镜像源才能继续安装软件,具体见《系统更新与基础工具安装》文档。
六、卸载或恢复
本主题不涉及安装软件,无需卸载。若只是"判断系统",无任何副作用;若需要把 os-release 被改动过的系统还原,恢复默认包即可:CentOS 8 属 setup 包、Ubuntu 22.04 属 base-files 包,用各自包管理器重装即可(CentOS 8 与 Ubuntu 22.04 命令通用,仅包名不同)。