让centos7气的不轻,这玩意儿太老了,什么都不好配置。
目录
- [Linux 发行版的大致分类](#Linux 发行版的大致分类)
-
- [1. Red Hat 系列(RPM 系)](#1. Red Hat 系列(RPM 系))
- [2. Debian 系列(DEB 系)](#2. Debian 系列(DEB 系))
- [3. Arch 系列](#3. Arch 系列)
- [4. SUSE 系列](#4. SUSE 系列)
- [CentOS 7 的替代品推荐](#CentOS 7 的替代品推荐)
-
- [AlmaLinux 和 Rocky Linux](#AlmaLinux 和 Rocky Linux)
-
- [📥 下载安装](#📥 下载安装)
- 配置要求
- [vmware workstation pro](#vmware workstation pro)
-
- [安装vm tools](#安装vm tools)
- 配置静态IP
- 安装一些开发工具
Linux 发行版的大致分类
CentOS 7(2014年发布,EOL 到 2024-06)现在已经非常老旧,内核 3.10,各种库都停在几年前,对现代软件支持非常差,踩坑无数是常态。
Linux 发行版大致可以分为几大"家族",它们的设计理念和包管理系统各不相同:
1. Red Hat 系列(RPM 系)
以 Red Hat Enterprise Linux 为核心,使用 .rpm
包管理系统,配套工具是 yum
(旧)或 dnf
(新):
发行版 | 特点 |
---|---|
RHEL(Red Hat Enterprise Linux) | 企业级,稳定、安全,付费支持。 |
CentOS 7/8(已结束) | RHEL 的免费克隆,7 已过期,8 改为 Stream 模式。 |
CentOS Stream | RHEL 的"滚动预发布版",更像测试版。 |
AlmaLinux / Rocky Linux | 完全兼容 RHEL 的免费社区替代品,面向企业部署,适合替代 CentOS。 |
Oracle Linux | 也是 RHEL 克隆,附加 Oracle 特性,可免费使用。 |
2. Debian 系列(DEB 系)
使用 .deb
包,工具为 apt
,广泛用于桌面和服务器:
发行版 | 特点 |
---|---|
Debian | 稳定、开源纯净、更新慢但可靠,适合服务器。 |
Ubuntu(Server/Cloud) | 基于 Debian,更新更积极,文档完善,支持广泛。阿里云/腾讯云默认发行版。 |
Kali Linux | 安全测试专用,基于 Debian。 |
3. Arch 系列
追求极简和"滚动更新",使用 pacman
:
发行版 | 特点 |
---|---|
Arch Linux | 发烧友级别,需要动手能力强。 |
Manjaro | 基于 Arch,但更易用,图形化支持较好。 |
4. SUSE 系列
德国系发行版,企业用户使用较多:
发行版 | 特点 |
---|---|
openSUSE | 社区版,稳定。 |
SUSE Linux Enterprise | 企业级,和 RHEL 类似。 |
一张图理清所有Linux发行版的关系:https://github.com/FabioLolix/LinuxTimeline/releases/
这张图片非常巨大!
CentOS 7 的替代品推荐
现在 CentOS 7 已停止维护,建议根据实际用途替换:
✅ 推荐用于 服务器生产环境:
替代品 | 说明 |
---|---|
Rocky Linux 9.x | 社区驱动,100% RHEL 兼容,开发者是原 CentOS 创始人,最靠谱的替代品。 |
AlmaLinux 9.x | 由 CloudLinux 维护,企业级,等同于 RHEL,免费无品牌限制。 |
Oracle Linux 9.x | 同样兼容 RHEL,Oracle 加了一些优化,也可以免费使用。 |
它们都是以 RHEL 为上游构建,包格式和系统管理方式都一样。你从 CentOS 7 迁移过去会非常顺手。
✅ 如果你 不是非要 RPM 系,还可以考虑:
替代品 | 说明 |
---|---|
Ubuntu Server 22.04 LTS | 社区/企业都很受欢迎,LTS 支持五年(甚至十年),配套文档齐全,容器化、云环境原生支持好。 |
Debian 12 | 极致稳定,纯净开源,很多云服务商也支持。 |
总结建议:
场景 | 推荐发行版 |
---|---|
想继续用 RHEL 兼容系统 | Rocky Linux、AlmaLinux |
想用更广泛文档支持和现代软件 | Ubuntu Server |
要纯净稳定系统自己折腾 | Debian |
内核/软件必须新(如开发 AI、QUIC 等) | Ubuntu / Arch |
桌面用 | Manjaro / Fedora Workstation |
有些人可能会提到CentOS Stream 9。
CentOS Stream 9 当然也是一个选项,但它和 CentOS 7/8 的定位不一样,在选择前你需要非常清楚它的"身份"。
CentOS Stream 9 是 RHEL 9 的"滚动预发布版本",不是稳定发行版,而是介于 Fedora 和 RHEL 之间的"开发分支"。
🧬 CentOS Stream 的定位变化
发行版 | 定位 | 说明 |
---|---|---|
Fedora | 前沿测试版 | 快速迭代,包新、变化快,是 RHEL 的技术试验田。 |
CentOS Stream | RHEL 的开发预览版 | 所有变更在此测试,然后合并进 RHEL。不是最终稳定版本。 |
RHEL(Red Hat Enterprise Linux) | 企业稳定版 | 基于 Stream 的成果,经过长期测试才发布更新。 |
所以 CentOS Stream ≠ RHEL ≠ CentOS(以前的 7/8)。
📦 CentOS Stream 9 的特点
优点 | 缺点 |
---|---|
✓ 比 RHEL 新:内核、包、工具都更靠近 Fedora | ✗ 没有 ABI 稳定性保证(小版本升级可能破坏兼容性) |
✓ 免费、无需订阅 | ✗ 新版本先推到 Stream,等于"测试场" |
✓ 基本与 RHEL 9 同步,很多场景兼容 | ✗ 企业级生产环境中不推荐用它作基座 |
举个例子,RHEL 9.4 还没发布的时候,Stream 9 可能已经跑在 9.5 测试版本了,你一更新系统,可能拉到还没正式发布的软件包。
🧭 适合使用 CentOS Stream 9 的场景
场景 | 说明 |
---|---|
开发测试环境 | 模拟 RHEL 行为,测试将来升级的影响 |
研发需要靠近 RHEL 生态 | 想紧跟最新 API/ABI 变化,提前适配 |
学习或尝鲜 | 想学习新版工具链(systemd、dnf、SELinux、firewalld 等) |
❌ 不推荐使用 CentOS Stream 9 的情况
- 生产级别的业务服务器
- 安全审计严格的环境(如金融、政府、企业内网)
- 对 ABI 稳定性有强依赖(例如编译内核模块、定制 RPM 包)
🆚 对比:CentOS Stream 9 vs Rocky / Alma 9
项目 | CentOS Stream 9 | Rocky / AlmaLinux 9 |
---|---|---|
稳定性 | 中等(开发版) | 高(与 RHEL 完全兼容) |
更新频率 | 高(滚动更新) | 中(跟随 RHEL) |
使用风险 | 中等偏高 | 低 |
ABI 保证 | ❌ 无 | ✅ 有 |
适合场景 | 测试、研发 | 生产环境 |
✅ 总结建议
- 如果你只是临时开发、测试环境 → CentOS Stream 9 没问题
- 如果你要长期运行服务、搭建业务环境 → 用 Rocky Linux 9 或 AlmaLinux 9
- 如果你不喜欢 RPM 系统了 → Ubuntu Server 22.04 LTS 会更顺手
所以我们将目光锁定在了AlmaLinux 和 Rocky Linux!
AlmaLinux 和 Rocky Linux
AlmaLinux 和 Rocky Linux 都是目前 CentOS 最稳妥的替代品,完全兼容 RHEL(Red Hat Enterprise Linux),它们的目标就是成为"真正的 CentOS 接班人"。
AlmaLinux vs Rocky Linux 对比:
项目 | 🪨 Rocky Linux | 🧬 AlmaLinux |
---|---|---|
发起组织 | CentOS 创始人 Gregory Kurtzer 发起,非营利组织 RESF 管理 | 由商业公司 CloudLinux Inc. 发起,交给 AlmaLinux OS Foundation(非营利)管理 |
目标定位 | 1:1 RHEL 克隆,尽可能还原 CentOS 精神 | 同样是 1:1 RHEL 克隆,但企业特性更强一些 |
是否收费 | 完全免费,社区驱动 | 完全免费,无需 CloudLinux 订阅 |
稳定性/兼容性 | 与 RHEL 完全兼容 | 与 RHEL 完全兼容 |
更新节奏 | 与 RHEL 保持同步,有延迟窗口(数天内同步) | 与 RHEL 几乎同步,有自动测试验证链(CI) |
社区活跃度 | 很活跃,CentOS 原班人马转移而来 | 活跃,企业赞助,CI/CD 自动验证系统更成熟 |
支持架构 | x86_64、aarch64、ppc64le、s390x | x86_64、aarch64、ppc64le、s390x |
品牌立场 | 更中立,更像"继承者" | 企业背景更浓,稳定性保障更多 |
安全通报(Errata) | 有 | 有 |
FIPS 支持(加密合规) | 支持(手动开启) | 支持(更易获取 CloudLinux 支持) |
迁移工具 | 支持 migrate2rocky.sh 脚本从 CentOS7/8 迁移 |
支持 elevate 工具或 migrate2alma.sh |
CI/CD 验证系统 | 有,但较新 | 有,CloudLinux 投入较多资源开发 |
✅ 共同点:它们都不会搞 Stream、不搞社区测试,始终保持稳定版本同步于 RHEL 正式版。
AlmaLinux 和 Rocky 适合谁?
场景 | 推荐选择 |
---|---|
想要最接近 CentOS 的精神继承 | ✅ Rocky Linux(CentOS 原始之魂) |
更看重稳定性和商业支持(CloudLinux 公司背书) | ✅ AlmaLinux |
大型企业或未来想接入云服务厂商支持 | ✅ 两者皆可,Rocky 稍偏社区,Alma 偏企业 |
想跟着更透明的社区开发进度走 | ✅ Rocky(RESF 社区更活跃) |
想获得 RHEL 认证体系的衍生服务 | ✅ AlmaLinux(支持更丰富的云平台认证) |
其实就体验和技术来说,它们非常接近,选哪一个都不会错。你可以理解为:
🌍 AlmaLinux 像 RHEL 的稳定商业副本,
🧑💻 Rocky Linux 像 RHEL 的忠实开源兄弟。
📥 下载安装
- 🪨 Rocky Linux 官网:https://rockylinux.org
- 🧬 AlmaLinux 官网:https://almalinux.org
下载镜像时选 Minimal ISO(最小安装) 或 DVD ISO(完整安装) 即可。

有些小伙伴不知道下载哪个镜像,首先,这几个镜像的名字听起来都像"差不多的 ISO 文件",但它们用途、大小、使用场景完全不同。
📦 1. DVD ISO
"全量安装镜像"
含有系统安装器 + 完整软件包仓库(如 GNOME、开发工具、网络组件等)
✅ 特点:
项目 | 说明 |
---|---|
文件大小 | 6~8 GB 左右 |
网络依赖 | ❌ 无,可全离线安装 |
包含内容 | 完整 repo,适合 GUI 桌面、服务器全功能安装 |
适合人群 | 没网络/慢网络环境,或需要全功能离线部署 |
安装方式 | 可在安装过程中自由选择组件(最小系统 / GUI 桌面 / Web 服务 等) |
✅ 推荐使用场景:
- 你要部署一个有 GUI、Web、数据库、多服务的完整服务器
- 内网安装(比如机房、私有云),不能联网
🌐 2. Boot ISO
"网络引导镜像"
是个小的安装启动器,安装过程中联网拉取软件包
✅ 特点:
项目 | 说明 |
---|---|
文件大小 | 700~800 MB |
网络依赖 | ✅ 必须联网 |
包含内容 | 只含安装器本身,不含 RPM 包 |
适合人群 | 习惯联网安装,想要安装最新包版本 |
安装方式 | 安装界面会引导你选择软件源并在线下载安装 |
✅ 推荐使用场景:
- 网络畅通
- 想获取最新包(或指定自己的 repo)
- 不希望下载一个庞大的 DVD ISO
💿 3. Minimal ISO
"最小系统 ISO"
离线可安装的简版系统,只含基本工具包
✅ 特点:
项目 | 说明 |
---|---|
文件大小 | ~2 GB 左右 |
网络依赖 | ❌ 可离线安装 |
包含内容 | 仅系统最基本组件(如 shell、network、yum/dnf) |
安装方式 | 安装后需要手动安装额外组件(如 docker、vim、开发工具) |
✅ 推荐使用场景:
- 用于部署精简、定制化的生产环境
- 安装后你准备用脚本/Ansible 自定义安装所需服务
- 云镜像构建、自建容器环境、最小 attack surface 场景
🧭 如何选择镜像?
需求 | 推荐镜像 |
---|---|
有网络,想快速装最新系统 | ✅ Boot ISO |
没网络/内网环境,要全功能安装 | ✅ DVD ISO |
想极致精简、自己装服务、构建镜像 | ✅ Minimal ISO |
🔚 总结一句话:
Rocky Linux 更"像" CentOS ,而 AlmaLinux 更"强"于 CentOS。
选哪个都可以,重要的是别再用 CentOS 7/8/Stream 了 😂。
配置要求
DVD(全量安装) vs Minimal 安装资源占用对比
这两个镜像在 安装前期(ISO 大小)差别很大 ,但安装后资源占用完全取决于你装了哪些组件:
对比项 | DVD 安装(全量) | Minimal 安装 |
---|---|---|
ISO 大小 | 6~8 GB | 2 GB 左右 |
安装体积(磁盘) | 通常 4~8+ GB(取决于是否安装 GUI) | 安装后 <1.5 GB |
内存使用 | 启动后可能占 600MB~1.5GB(如果装 GUI) | 启动后仅占用 100MB~250MB |
服务数量 | 启动时几十个服务(cron、cups、NetworkManager、GUI 等) | 只有基础服务(systemd、sshd、network) |
启动速度 | 慢(服务多) | 快(服务少) |
攻击面 | 大 | 小(仅核心组件) |
Minimal 是精简系统,资源占用低;DVD 是全功能系统,占用取决于你选装了什么。
AlmaLinux vs Rocky Linux 的资源占用区别?
这个问题更简单:几乎没有区别。
因为它们都是 100% RHEL 兼容克隆,用的同一套包、内核、服务、默认配置,唯一不同是镜像源、签名、logo 等。
✅ 两者在资源占用上完全一致:
项目 | AlmaLinux | Rocky Linux |
---|---|---|
内存占用 | ✔️ 一样 | ✔️ 一样 |
磁盘使用 | ✔️ 一样 | ✔️ 一样 |
运行效率 | ✔️ 一样 | ✔️ 一样 |
启动服务 | ✔️ 一样 | ✔️ 一样 |
除非你更改配置或安装额外服务,否则运行效率和资源使用无差异。
VMware 下如何分配资源?
🧠 推荐资源配置(Minimal 系统):
项目 | 最低配置 | 建议配置 |
---|---|---|
CPU | 1 vCPU | 2 vCPU(更流畅) |
内存 | 512 MB | 1024 MB 或更高(方便运行服务) |
磁盘 | 8 GB | 20 GB(留空间装 docker/k8s 等) |
网卡 | NAT or Bridge | NAT for 外网访问 |
⚠️ 注意:如果你要装 GUI 桌面(Gnome),内存最好 2 GB 起步,否则非常卡。
🎯 总结选择建议
使用场景 | 推荐 |
---|---|
学习、测试命令行、部署容器服务 | ✅ Minimal ISO |
需要图形界面、办公、开发工具一键安装 | ✅ DVD ISO(安装时勾选 GUI) |
网络环境好,喜欢装最新版包 | ✅ Boot ISO |
要部署生产环境 | ✅ Minimal ISO + 手动配置(更可控) |
✅ 最后贴士
- Minimal 是轻量王者,特别适合做开发机、k8s 节点、镜像打包环境;
- 在 VMware 中启用 "Guest OS type: Red Hat Enterprise Linux 9.x 64-bit" 会更兼容;
- 推荐启用虚拟化加速(Intel VT-x / AMD-V)以提升性能;
- 如果是搭建 DevOps 环境、K8s、Docker、Ansible、NGINX 等,Minimal 是首选。
vmware workstation pro
要玩转AlmaLinux 和 Rocky Linux v10版本,则需要下载vmware workstation pro 17,刚好vmware workstation pro在去年免费了。
Fusion 是 Mac 专用的虚拟机软件,Workstation 是 Windows / Linux
专用的虚拟机软件。功能接近,底层架构和宿主平台不同。
那我们就去下载一个,目前vm改为了订阅式,下载比较复杂。
首先进入官网:https://www.vmware.com/

在搜索栏输入:Desktop Hypervisor,然后在结果页找到Products下的workstation-and-fusion:

进入如下链接:https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion,然后点击下载:

会要求你进行登录,没账号可以注册。
登录完成后点击My Downloads即可下载免费的workstation:

安装好后,我就可以创建新的虚拟机了!

可以看到新版的vm 直接就检测到了对应的发行版!后续安装过程这里略过,可以发现和centos是一样的安装步骤:

安装vm tools
安装完虚拟机后就可以安装vm提供性能监控和优化工具了,如果采用传统的方式安装可能会报如下错误:
/tmp/vmware-tools-distrib/vmware-install.pl: /usr/bin/perl: bad interpreter: No such file or directory
者表示 系统里没有安装 Perl 解释器 ,但 vmware-install.pl
是一个 Perl 脚本,必须依赖 Perl 来执行。
✅ 解决方法:
bash
sudo yum install -y perl
⚠
yum
是 CentOS 7 的包管理器(CentOS 8 开始是dnf
)
安装完成后,重新执行你之前的安装命令:
bash
sudo ./vmware-install.pl
就可以进入 VMware Tools 的安装流程了。
💡 建议(更推荐用 open-vm-tools)
因为 VMware 自带的 Tools 安装比较老、更新麻烦,你也可以直接用开源版本:
bash
sudo yum install -y open-vm-tools
sudo systemctl enable --now vmtoolsd
这个方式:
- 不需要挂载光盘或解压;
- 能自动升级;
- 已被 VMware 官方推荐为默认方式。
配置静态IP
你可能会用老方法配置静态IP:
python
vim /etc/sysconfig/network-scripts/ifcfg-ens33(网卡名称也可能是其他名称)
然后发现/etc/sysconfig下没有network-scripts。
从 RHEL 8 开始(包括 AlmaLinux、Rocky 8/9),官方就 淘汰了传统的 network-scripts(ifcfg-xxx)配置方式,转而使用:
python
NetworkManager + nmcli 或 nmtui 工具 + keyfile 配置
配置方法1:使用 nmcli(命令行配置网络)
配置方法2:使用 nmtui(图形化文本界面)
这里主要讲方法1:
假设我要配置一个如下的网络:
- 静态 IP :
10.128.145.158
- 子网掩码 :
255.255.255.0
(即/24
) - 网关 :
10.128.145.2
- DNS :
8.8.8.8
- 网卡连接名 :你说用
nmcli connection show
查到是ens160
只需要执行以下命令:
bash
nmcli connection modify ens160 \
ipv4.addresses 10.128.145.158/24 \
ipv4.gateway 10.128.145.2 \
ipv4.dns 8.8.8.8 \
ipv4.method manual \
connection.autoconnect yes
nmcli connection down ens160 && nmcli connection up ens160
🔍 命令说明:
命令部分 | 作用 |
---|---|
ipv4.addresses |
设置静态 IP 和子网掩码 |
ipv4.gateway |
设置默认网关 |
ipv4.dns |
设置 DNS |
ipv4.method manual |
使用手动配置(即关闭 DHCP) |
connection.autoconnect |
开机自动连接 |
down / up |
重启网络连接应用新配置 |
配置成功后你可以用以下命令确认:
bash
ip addr show ens160
或:
bash
nmcli device show ens160
还可以测试:
bash
ping -c 3 8.8.8.8 # 测试网络连通
ping -c 3 www.baidu.com # 测试 DNS 是否正常
配置之后就可以用MobaXterm之类的工具链接了!

安装一些开发工具
我们可以看到mini版本内置了python3:

那我们就安装一个docker,
首先,刷新 Alma 系统上的软件包,确保您使用的是发行版仓库中最新的软件版本。如果有待处理的更新,请应用它们。
python
sudo dnf update
现在让我们将官方 Docker 存储库添加到您的 AlmaLinux 10 系统,以便您可以直接从上游维护的 RPM 包安装和更新 Docker。
python
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
运行以下命令在 AlmaLinux 10 上安装最新的 Docker 版本。
python
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
这将安装以下 Docker 组件:
- docker-ce:Docker 引擎本身。
- docker-ce-cli:一个命令行工具,可让您与 Docker 守护进程对话。
- containerd.io:管理容器生命周期的容器运行时。
- docker-buildx-plugin:Docker 的这个扩展增强了构建镜像的功能,主要侧重于多平台构建。
- docker-compose-plugin:一个配置管理插件,可帮助使用单个 YAML 文件管理多容器 Docker 应用程序。
按" Y "确认。接下来,系统会要求您接受 Docker 仓库的 GPG 密钥,以便将其导入到您的 Alma 系统中。再次按" Y "确认。

现在,您可以启动 Docker 服务并将其配置为在系统启动时自动启动:
python
sudo systemctl enable --now docker
要确认 Docker 服务已启用并启动,请运行:
python
sudo systemctl status docker

我们来到了最激动人心的部分。让我们通过运行一个名为"hello-world"的简单容器化应用程序来测试我们新安装的Docker是否正常工作。
python
sudo docker run hello-world

dnf和yum的区别
dnf
是 yum
的下一代版本管理器,主要用于 RPM 系 Linux 发行版(如 CentOS、RHEL、Fedora 等) 。它们的作用一样,都是用于安装、更新、卸载软件包,但 dnf
是 yum
的升级替代品,设计之初就是为了解决 yum
的一系列问题。
dnf
是yum
的"改进版",具有更快的性能、更好的依赖处理、更强的插件机制和更现代的代码架构。你应该用dnf
,因为它更稳定、未来可持续、替代了yum
。
🔍核心区别
特性 | yum (老) |
dnf (新) |
---|---|---|
构建语言 | Python 2 | Python 3 + libsolv (C库) |
依赖解析 | 自研逻辑,容易出错 | 使用 libsolv ,依赖解析更快 |
插件机制 | 基于 Python 2 | 更现代、标准化插件架构 |
性能 | 较慢,资源开销大 | 更快,占用内存更小 |
API 稳定性 | 不稳定 | 提供稳定 API 供第三方调用 |
锁机制(事务冲突) | 无 | 有事务锁,防止并发冲突 |
软件包缓存机制 | 手动清理 | 更智能的缓存机制 |
为什么 Fedora/CentOS 选择了 dnf?
✅ 现代化架构
yum
的代码老旧且基于 Python 2,维护难度大。- Python 2 已淘汰,
dnf
使用 Python 3,便于持续维护。
✅ 更强的依赖解析
yum
依赖解析器很"笨",复杂情况下可能报错或死锁。dnf
使用libsolv
(由 SUSE 维护的解析库),速度快、准确性高。
✅ API 稳定
- 第三方工具可以稳定地集成
dnf
(如 Ansible、Cockpit 等)。
✅ 更智能的插件与缓存处理
dnf
的插件架构和缓存策略更好,比如自动清除缓存、插件隔离等。
💡 向下兼容性
-
在 CentOS/RHEL 8+ 中,执行
yum
命令其实就是调用了dnf
,只是为了兼容老脚本。bash$ which yum /usr/bin/yum -> /usr/bin/dnf
🧪 示例:使用感几乎无差别
bash
# 安装软件包
dnf install nginx
yum install nginx # 等价于上面(新系统中)
# 升级所有包
dnf upgrade
yum update # 等价(但 `dnf upgrade` 语义更清晰)
# 清除缓存
dnf clean all
yum clean all