让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

安装一些开发工具

dnf和yum的区别

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

2026-08-25 16:14:20