直接说结论:可以,而且官方本来就把本地镜像给你备好了。 这不是什么需要特殊技巧才能绕过限制的事。
我最早接触 Alibaba Cloud Linux 的时候也跟很多人有同样的疑问——这名字一听就是"云上专用系统",不买阿里云 ECS,是不是就完全没法碰?后来查了官方镜像仓库才发现,这套系统不仅有标准的本地安装 ISO,还提供了 VirtualBox 的预构建镜像,甚至支持在物理机上直接装。换句话说,微软的 Windows 不会因为你不用 Azure 就不让你装,Alibaba Cloud Linux 也不会因为你不用阿里云就不给你跑本地。
这篇文章不打算写成"官方文档复读机",而是从"一个真正在本地把它跑起来的人"的视角,聊聊 Alibaba Cloud Linux 到底是什么,我为什么认为它值得在本地折腾一遍,完整的安装和配置路径是什么,以及虚拟机里用和云上用到底有什么实质差异。如果你正在纠结"要不要在本地试试这套系统",或者已经在本地装完但碰了一鼻子灰,这篇应该能把你的疑问都收拾干净。
1. 本地跑 Alibaba Cloud Linux:先看它的打包与分发方式
先把这个最核心的问题掰开揉碎。Alibaba Cloud Linux 并不是"阿里云独占"的特殊内核系统,它的本质是一个基于 RHEL/CentOS 兼容体系重新构建的发行版。阿里云把它制作成云镜像部署在 ECS 上,同时也在开发者和社区渠道发布了通用安装介质,目的就是让你在非云环境也能体验、开发、测试基于这套系统的应用。
目前主要存在两个大的版本线:
- Alibaba Cloud Linux 2:兼容 CentOS 7 生态,内核基于 4.19,主打"存量业务平滑迁移",很多在 CentOS 7 上跑了好多年的老业务,编译依赖和运行环境跟 Alinux 2 几乎是无缝衔接的。
- Alibaba Cloud Linux 3:兼容 CentOS 8/RHEL 8 生态,内核升级到 5.10(后续版本还会滚动更新),软件包整体更接近现代主线,新项目建议直接选这个。
从本地使用的角度讲,不需要关心"云服务器专用"这种标签。你在本地装出来的 Alibaba Cloud Linux,和你在 ECS 控制台上选一个 Alibaba Cloud Linux 镜像开机,内核同源、用户态软件包同源、包管理方式同源。唯一区别是云端默认会集成阿里云的托管组件和优化驱动,本地环境没有这些依赖,但不影响系统本身的使用。
官方对本地使用的支持方式主要有三种,思路很清晰:
| 分发方式 | 适用场景 | 上手难度 |
|---|---|---|
| 本地安装 ISO(约 1GB) | 虚拟机或物理机完整安装,最接近生产环境 | 中等 |
| VirtualBox 预构建镜像(约 2GB) | 图省事,开箱即用 | 低 |
| 容器镜像 | 开发调试,跑单个服务或应用 | 低 |
我个人最推荐第一种——ISO 完整安装。因为 VirtualBox 镜像默认配置未必符合你的需求,而且基于虚拟化平台的网络、磁盘配置差异很大,预构建镜像在某些环境下反而不如老老实实安装一遍来得干净。ISO 安装的流程也特别顺手,跟我后面要讲的安装过程基本是"一路下一步"级别的难度。
这里多提一句:很多人以为阿里云只提供云镜像,其实官网的软件下载区、社区镜像站都有本地 ISO 的入口,你甚至可以用国内常见的开源软件镜像站直接拉到安装源。所以本地使用这条路,官方是给足了条件的,不存在什么"开发版不开放下载"的情况。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 在 VirtualBox 中完成安装:我实测过的最省事路径
2.1 下载镜像与虚拟机规格分配
先去阿里云开发者社区的软件下载区找到 Alibaba Cloud Linux 3 的本地安装 ISO。下载的时候注意区分版本,一般会有两个入口,分别对应 x86_64 和 ARM64 架构,普通 PC 选 x86_64。
虚拟机的规格分配是我实测过比较合适的参数,照着抄即可:
- 内存:4096 MB(低于 2GB 安装图形界面会非常卡,命令行的最小化安装可以压到 2048MB,但不建议)
- CPU:2 核起步
- 磁盘:40GB 动态分配(VDI 格式即可,不需要预分配全部空间)
- 网络:默认 NAT 模式,后期需要宿主机访问虚拟机服务时再改为桥接
2.2 安装过程中的关键选择
虚拟光驱挂载好 ISO 后开机,你会进入 GRUB 引导菜单。这里不要急着回车,光标移动到 Install Alibaba Cloud Linux 3 这一项,按 e 进入编辑模式,在内核启动参数那一行末尾加上:
code复制nomodeset
这个参数的作用是禁用内核的显示驱动模式设置。很多 UEFI 环境下如果不加,图形安装界面可能直接黑屏或者花屏。这个方法对 AMD 和 NVIDIA 显卡的机器都有奇效,是虚拟机和物理机安装 Linux 时一个非常通用的保命手段。
进入图形安装界面后,本质上跟其他 RHEL 系发行版一样,核心动作就三步:
- 安装目的地:选择虚拟磁盘,勾选"自动配置分区"。如果你想自定义分区,建议保持
/boot在 1GB 左右,swap设为内存大小即可,根分区填充剩余空间。不需要像老教程那样折腾/home独立分区。 - Root 密码:设置一个强密码,这将成为你本地系统唯一的超级管理员入口。不要设得太简单,因为后续几乎所有操作都需要 root 权限。
- 软件选择:默认是"带图形界面的服务器",如果只是学习和开发,可以选"最小安装",后续要用什么装什么。我建议第一次体验的用户直接保留默认图形界面,至少桌面上手没有心理门槛。
安装过程大约 10 分钟,取决于磁盘性能。装完重启,拔掉虚拟光驱里的 ISO,就进入系统了。
2.3 图形界面安装与基本登录后的初始化
如果安装时选择了图形环境,登录后你会看到 GNOME 桌面。Alibaba Cloud Linux 3 的默认桌面定制得非常克制,跟 RHEL 8 系的原生风格几乎一致,没有任何花哨的广告或促销内容。这一点反而让本地使用体验很干净——它就是一套正经的企业级 Linux,不是个"云控制台套壳"。
登录后用终端打开一个会话,第一件事是更新软件包缓存:
bash复制sudo dnf makecache --refresh
然后看看系统基本信息:
bash复制cat /etc/os-release
uname -r
/etc/os-release 里会明确显示 ID="alinux" 和 VERSION_ID="3",这就是 Alibaba Cloud Linux 3 的身份标识。内核版本一般显示为 5.10.x.x,和官方文档描述一致。
到这里,本地安装的第一步已经完成了。系统已经跑起来,包管理工具可用,网络默认走 NAT 也能正常访问外网。接下来要解决的是"怎么让它像个正经开发机一样好用"的问题。
3. 装完之后的系统配置与网络调优:做到跟云服务器一个体验
3.1 DNF 源配置:默认源与本地无网环境的应对
Alibaba Cloud Linux 3 安装完成后,默认使用的是阿里云的软件源,/etc/yum.repos.d/ 里会有 Alinux 官方仓库配置。在有网环境下,直接 dnf install xxx 就能从阿里云内网拉包,速度非常快。这个默认配置是"开箱即用"的。
但如果你所在的网络环境访问外网受限,或者你就是想离线使用,需要自己准备本地源。方案通常是这样的:找一台能联网的机器,用 dnf reposync 把整个仓库同步到本地:
bash复制dnf reposync --repoid=BaseOS --downloaddir=/data/alinux-repo/
同步完成后,在本地机器上创建一个 repo 文件,指向这个本目录:
ini复制[alinux-local]
name=Alibaba Cloud Linux $releasever - Local
baseurl=file:///data/alinux-repo/
enabled=1
gpgcheck=0
注意这里把 gpgcheck 关掉了,因为本地仓库是你自己同步的,不需要额外验证签名。生产环境的离线仓库建议保留 GPG 校验,但内网自用可以省事。
3.2 网络配置:从 NAT 到静态 IP 的完整切换
VirtualBox 的 NAT 模式默认能上网,但宿主机访问不到虚拟机。如果你打算在本地拿它当开发服务器,就需要把网络模式切换为桥接模式(Bridged Adapter),让虚拟机直接成为局域网内的一台独立设备。
切换后,虚拟机网卡会拿到 DHCP 分配的局域网地址。为了让地址保持稳定,建议配置静态 IP。Alibaba Cloud Linux 3 使用 NetworkManager 管理网络,用 nmcli 命令操作是最干净的方案:
bash复制# 查看当前连接名称,通常是 ens3 或 ens33
nmcli connection show
# 将目标连接改为静态 IP
sudo nmcli connection modify ens3 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "223.5.5.5 8.8.8.8"
# 重新加载连接
sudo nmcli connection up ens3
223.5.5.5 是阿里云公共 DNS,在本地环境同样可用,国内网络环境下解析速度比直接裸用 8.8.8.8 稳定不少。改完后再 ping 一下宿主机或者网关,确认网络通了,后面用 SSH 连接它就会方便很多。
3.3 开启 SSH 远程管理
如果安装了图形桌面,直接在终端里敲 SSH 命令就好,但更舒服的是开启 sshd 服务,这样以后就能从宿主机直接远程管理虚拟机,不再需要被 VirtualBox 的窗口绑定住。
bash复制sudo systemctl enable --now sshd
sudo systemctl status sshd
然后查看虚拟机的 IP:
bash复制ip addr show
宿主机用终端:
bash复制ssh root@192.168.1.100
默认允许 root 直接登录,但生产环境强烈建议关闭 root 远程登录并用普通用户 + sudo 替代。本地实验环境可以先用 root 省事,但心里要有个数,这不是生产配置。
3.4 LTS 与滚动更新策略:本地该用哪种心理预期
在云上,Alibaba Cloud Linux 的内核和安全补丁是持续滚动更新的。在本地同样会收到定期更新推送,dnf update 会拉取安全补丁和内核更新。需要注意一点,如果你在本地用 dnf update 升级了内核,重启后 uname -r 才会变成新版本。不要升级完发现版本没变就以为更新失败——那是还没重启。
4. 本地环境与云端环境的真实差异:不要掉进"换了平台就完全不同"的坑
4.1 包管理、内核参数、系统服务的一致性
这是 Alibaba Cloud Linux 做得最让开发者省心的一点:本地和云上的差异,比你想象中小得多。
在云上,阿里云 ECS 会额外为你启用一些优化项,比如:
- 针对 Xen/KVM 虚拟化环境优化的内核模块
- 阿里云自研的
ecs-utils等驱动工具 - 默认启用的一些性能和稳定性相关的内核参数(如
sysctl配置)
但在本地,这些都不影响核心用法。你在本地用 dnf install nginx,在云上也是同样的命令。你在本地用 systemctl start docker,云上也是。软件包构建、脚本运行、容器编排,行为都是一致的。
这意味着你完全可以本地把环境搭好,写一套部署脚本,推到云端 ECS 上直接跑,不会遇到"我这台机器上好好的,上云就崩了"的经典问题。
4.2 内核模块与硬件驱动的差异
本地虚拟机里,网卡、磁盘、显示设备都是虚拟化设备,驱动跟云上的半虚拟化驱动完全不同。这也是为什么虚拟机上 dmesg 看到的设备名可能跟云端 ECS 不一样。
但问题不大。Alibaba Cloud Linux 内置了大量通用硬件驱动,VirtualBox、VMware、KVM 这三大主流虚拟化平台的虚拟设备驱动,系统安装时基本都会自动带上。物理机安装则需要特别留意无线网卡和显卡驱动——特别是 NVIDIA 显卡,可能需要去 NVIDIA 官网下载对应驱动,从 RPMFusion 或 EPEL 源里不一定有完整支持。
4.3 云厂商增强组件在本地会缺失什么
如果你在云上买了 ECS,控制台自带云监控、云盘快照、自动扩容等能力。本地使用 Alibaba Cloud Linux,这些都没有。
但这不是"系统被阉割",而是本来就属于云平台能力的部分。本地使用的时候,你需要自己搞定一些"运维替代方案":
| 云上能力 | 本地替代方案 |
|---|---|
| 云监控 | prometheus + node_exporter |
| 云盘快照 | VirtualBox 快照功能 |
| 安全组 | 宿主机的防火墙规则 |
| 负载均衡 | Nginx / HAProxy |
| 对象存储备份 | rsync + 外部磁盘 |
这也算是本地折腾这套系统的一个好处的——它能逼你把"应用的运行依赖"和"平台的托管能力"分开理解,对后续做架构设计其实是加分的。
5. 本地使用 Alibaba Cloud Linux 能干什么:实操场景分享
5.1 跑一个本地容器开发环境
Alibaba Cloud Linux 3 对容器支持相当积极,内置了完整的 cgroup v2 支持,并预置了 iptables-nft 等容器网络依赖的组件。这跟 CentOS 7 时代需要在宿主机上改一堆内核参数才能稳定跑 Docker 的体验完全不同。
本地安装 Docker 非常直接:
bash复制sudo dnf install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
注意:官方源里自带的 docker 包是 docker(不是 docker-ce),版本可能稍旧但足够日常开发。如果你一定要用 Docker 官方仓库的最新版,先加 Docker 官方源:
bash复制sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Alibaba Cloud Linux 3 跟 CentOS 8 兼容,所以这个源可以直接用。装完跑个 hello-world 验证一下,整个过程大概五分钟。
5.2 编译高性能软件(GCC / 内核模块)
本地使用最大的快乐之一,就是 Alibaba Cloud Linux 3 自带的 GCC 版本很新(10.x),对 C++20 的支持已经很完善。如果你要编译一些 CMake 工程、DPDK 驱动、eBPF 程序,这套环境几乎不需要额外折腾工具链。
写个 eBPF 小例子验证一下环境,先装内核开发包:
bash复制sudo dnf install -y kernel-devel kernel-headers
sudo dnf install -y bcc-tools
然后直接跑 BCC 自带的一个工具,比如跟踪 openat 系统调用:
bash复制sudo /usr/share/bcc/tools/opensnoop
会看到实时监控文件打开的日志。这说明内核的 eBPF 相关配置完全可用,本地写 BPF 程序一点问题都没有。
5.3 模拟生产服务器做架构验证
因为本地和云上核心软件栈一致,拿 Alibaba Cloud Linux 当实验场,模拟一套"生产级"架构是完全可以实现的。比如本地开三台虚拟机,一台装 Nginx + Keepalived 做高可用负载均衡,两台装后端服务,再用一台装 MySQL 主从,整体流程跟云上ECS 部署几乎无差别。
我实测过在上面部署一套 nginx + php-fpm + redis 三件套,跑 WordPress 和 Nextcloud 都没有出现"环境不兼容"的情况。对于一个企业级 Linux 发行版来说,这种稳定性本来就是它的本职,但本地能体验到,还是很加分的。
6. 实操踩坑记录与规避经验
这部分是我个人折腾下来的总结经验,希望能减少你踩坑的时间。
6.1 虚拟机增强功能(VirtualBox Guest Additions)装不上
VirtualBox 自带的 VBoxLinuxAdditions.run 在 Alibaba Cloud Linux 3 上偶尔会因为缺少 kernel-devel 而失败。解决办法是装增强功能之前先安装好对应版本的内核开发包:
bash复制sudo dnf install -y kernel-devel gcc make perl bzip2
sudo mount /dev/cdrom /mnt
sudo /mnt/VBoxLinuxAdditions.run
注意,如果先装了增强功能然后才升级内核,升级后需要重新编译安装一次增强功能模块,否则共享文件夹、动态桌面分辨率都会失效。
6.2 不要裸加 EPEL 源
看到 Alibaba Cloud Linux 跟 CentOS 8 兼容,就顺手加上 EPEL 源想多装点软件包,这是最容易踩的坑。原因在于 EPEL 的包依赖关系是以 CentOS 8 的软件包版本为基准的,而 Alibaba Cloud Linux 3 的部分基础库版本和 CentOS 8 存在细微差别,强行混用可能拉入不兼容的依赖版本,把环境搞乱。
如果需要 CentOS 生态的额外软件包,先去阿里云的 Plus 源或 PowerTools 源里找,这两个仓库在默认源里就有配置,只是默认禁用,需要手动 enable:
bash复制sudo dnf config-manager --set-enabled PowerTools
sudo dnf config-manager --set-enabled Plus
开启后软件选择面就广很多了。再用 EPEL 之前一定要先确认没有其他可替代的源,实在要加也要设置 includepkgs 只拉特定的几个包,不要整源 enable。
6.3 默认防火墙的端口开放
Alibaba Cloud Linux 3 默认安装了 firewalld 服务并开启了防火墙。跟 CentOS 7 的默认行为一样,只放行 SSH 端口。本地当开发机用的时候,最容易遇到的问题就是:"为什么我在 VirtualBox 里装了 Nginx,宿主机怎么都访问不了 :8080?"
排查顺序是:
- 确认 Nginx 服务是 listening 的:
ss -lntp | grep 8080 - 确认防火墙放行了:
sudo firewall-cmd --add-port=8080/tcp --permanent && sudo firewall-cmd --reload
这两步做完,90% 的"外部访问不了"问题都能解决。剩下10%是 VirtualBox 网络模式选成了 NAT,切桥接即可(参考第 3.2 节)。
6.4 systemd 版本带来的服务管理变化
Alibaba Cloud Linux 3 的 systemd 版本高于 CentOS 7,这意味着你在老系统上用的某些服务管理习惯需要调整。比如,有些老的 init 脚本在 systemd 下已经不被支持,服务文件必须写 .service 单元;chkconfig 命令已完全被 systemctl 取代;有些网络管理工具(如 network 服务)默认并不启用,而是由 NetworkManager 统一管理。
这项配置在我看来反而是个"好处"——能逼迫你用更现代的系统管理方式,尽早适应未来所有 RHEL 系系统的主流趋势。
7. 从 CentOS 迁移到 Alibaba Cloud Linux:本地先行的可行性判断
很多团队现在正面临 CentOS 7 生命周期结束、CentOS 8 也停止了维护的问题,必须考虑迁移。当"是否要迁移到 Alibaba Cloud Linux"这个决策摆到桌面上时,本地先行试用其实是个非常合理的验证路径。
7.1 兼容性验证清单
把 Alibaba Cloud Linux 跑在本地之后,你可以对照以下清单进行逐项验证:
- 已安装软件包清单:在旧 CentOS 上执行
dnf list installed,到 Alinux 上逐个验证可安装性(注意排除云厂商特定组件) - 编译环境:确认项目源码在新内核头文件下能正常编译
- 服务脚本:所有
init.d脚本迁移到 systemd 的行为是否变化 - 数据库兼容:MySQL/PostgreSQL/Redis 在新系统上的运行稳定性
- 网络策略:iptables/firewalld 规则是否有不兼容项
这些验证在本地做,成本极低,一旦发现严重不兼容项,还可以从容调整方案,而不是等到上云了才紧急回滚。
7.2 本地迁移模拟的操作建议
我的建议是不要只装一台 Alinux 虚拟机,然后把 CentOS 里的操作重敲一遍。
更有效的方式是:
- 在本地开两台虚拟机,一台 CentOS 7 一台 Alinux 3,把两边的软件包列表导出对比:
bash复制
dnf list installed > centos7-packages.txt dnf list installed > alinux3-packages.txt diff centos7-packages.txt alinux3-packages.txt - 把你们的应用部署脚本在 Alinux 3 上完整跑一遍,记录每一步的 warning 和 error。
- 针对报错项逐一排查,区分是"脚本写法问题"还是"系统环境根本性差异"。
根据我的经验,绝大多数报错都源自「把 RHEL 7 时代的假设带到了 RHEL 8 世代环境」,而这些在 Alinux 3 上同样会遇到。反而是 Alibaba Cloud Linux 自己独特的东西(比如内核配置、默认优化参数)很少成为迁移障碍。
8. 多平台对比:Alibaba Cloud Linux 本地体验与 CentOS 的差异
很多人听到"跟 CentOS 兼容",就直接把 Alibaba Cloud Linux 当作"另一个 CentOS"。我在本地实测下来的感受是,这个说法只对了一半——它们确实是同源的,但 Alibaba Cloud Linux 在很多细节上做了改进,让它比原版 CentOS 更好用。
8.1 开箱可用性对比
| 对比项 | CentOS 7 | CentOS 8 | Alibaba Cloud Linux 3 |
|---|---|---|---|
| 默认内核 | 3.10 | 4.18 | 5.10+ |
| cgroup v2 | 不支持 | 可选 | 默认启用 |
| eBPF | 基础支持 | 增强 | 完整支持 |
| 默认 GCC | 4.8 | 8.x | 10.x |
| 维护周期 | 已结束 | 已结束 | 长期支持 |
这个对比表的价值在于,如果你还在为"CentOS 7 停止维护后去哪"发愁,Alibaba Cloud Linux 3 在技术栈上直接跳过了中间两代,相当于免费升级了一批基础软件。
8.2 与 RHEL 生态的兼容表现
Red Hat 系生态(包括 CentOS Stream、Rocky Linux、AlmaLinux)使用的软件包格式和目录规范,Alibaba Cloud Linux 基本全盘继承。本地用它编译出来的 RPM 包,放到 Rocky 或 AlmaLinux 上绝大多数情况一样可以安装(反之同理)。
不过有个细节值得注意:Alibaba Cloud Linux 的软件包签名密钥是阿里云自己的,不会纳入 RPM-GPG-KEY-CentOS 等官方密钥环里。如果你用 rpm 命令手动安装某些包时遇到签名校验失败,可以加 --nogpgcheck 跳过。用 dnf 安装则不会遇到这个问题,因为仓库配置已经带上了正确的密钥。
这里顺带分享一个经验:在本地 Windows 宿主机 + VirtualBox 的组合里跑 Alibaba Cloud Linux,共享文件夹功能(vboxsf)是最容易出问题的组件之一。如果你的应用对磁盘 IO 性能要求高,建议用 NFS 或 Samba 取代 VirtualBox 共享文件夹,性能差距非常明显。
9. 最后的实用建议:本地用 Alibaba Cloud Linux 应该怎么开始
聊了这么多,实际操作起来到底怎么开始?如果你现在想立刻体验这套系统,我的建议是分三步走。
第一,先不要动物理机。在 VirtualBox 或 VMware 里装一台虚拟机,用最小化安装,把系统跑起来,感受一下 DNF 包管理、systemd 服务和内核版本。这一步的目的是"破除陌生感",让你确认这套系统和你的认知差距有多大。
第二,配置好开发环境。装上 Git、Docker、Python/Go/Node 这些常用工具链,把一个你熟悉的小项目在它上面跑起来。这一阶段你会慢慢体会到 Alibaba Cloud Linux 的默认软件版本比 CentOS 7 时代新不少,比 CentOS 8 也更新,很多旧坑不用再踩。
第三,再评估迁移价值。如果你只是需要一个稳定的 Linux 开发环境,Alibaba Cloud Linux 3 完全够格当日常主力系统;如果你是为了给公司业务做迁移验证,那更应该早点把环境搭起来,早发现兼容性问题,早做应对方案。
这套系统不是完美的,它没有 Ubuntu 那么庞大的社区教程生态,也跟 Debian 的包管理完全不兼容,但它要解决的"CentOS 停更后企业级 Linux 迁移"这个问题,确实做得很扎实。如果你之前用的是 CentOS 7 甚至 CentOS 8,完全可以把 Alibaba Cloud Linux 3 当作它的延续,而不是一个全新的系统。
最后再提醒一次:本地使用 Alibaba Cloud Linux 完全合法、完全官方支持,不需要任何什么特殊"本地化工具"之类的操作,老老实实下载 ISO 安装就行。装上之后你会慢慢理解,它并不是为了锁死用户到阿里云,而是一套实实在在的通用操作系统——只不过恰好出身于云厂商之手罢了。
