让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