Anolis OS 使用指南
Anolis OS 是由阿里巴巴发起、OpenAnolis 社区维护的 EL 生态发行版。Anolis OS 7/8 分别与 RHEL 7/8 兼容;Anolis OS 23 则走独立演进路线(ANCK 6.6 内核)。它在保持 EL 生态兼容的同时,引入了 Cloud Kernel(ANCK)、LoongArch 架构支持等独有特性,是阿里云生态中的核心操作系统选择。
Anolis OS 版本与定位
Section titled “Anolis OS 版本与定位”| 版本 | 上游基础 | 生命周期 | 说明 |
|---|---|---|---|
| Anolis OS 7 | RHEL 7 | 常规支持已于 2024-06 结束;现为 ELS 延保至 2028-06 | 兼容 CentOS 7;新项目不要再选,存量系统按 ELS 计划迁出 |
| Anolis OS 8 | RHEL 8 | 以 openanolis 官方公告为准(本站事实源未登记 EOL) | 兼容 CentOS 8 / AlmaLinux 8 |
| Anolis OS 23 | 独立演进 | 版本节奏由社区决定(非 RHEL 时间线) | 自主技术路线,不追求与 RHEL 二进制兼容 |
上表只写能核到的信息:Anolis 7 的常规支持结束时间与 ELS 期限来自官方公告;Anolis 8 的具体年限、Anolis 23 的小版本(如 23.5)本站没有可核验的来源,引用前请查 openanolis 官方发布说明,不要照抄二手文章里的年份。
Anolis OS 23 是 Anolis 社区的创新版本,采用了更激进的技术选型(如更新的工具链、独立的包版本管理),不再严格追求与 RHEL 的二进制兼容。阿里云上的「Alibaba Cloud Linux 3」基于 Anolis OS 8,「Alibaba Cloud Linux 4」则基于 Anolis OS 23。
与标准 EL 发行版的差异
Section titled “与标准 EL 发行版的差异”Anolis OS 最大的差异在于内核。7/8 系(RHEL 兼容线)在标准 RHEL 兼容内核之外还提供 Cloud Kernel(ANCK)双选;23 系为独立演进线,内核基于上游 LTS(ANCK 6.6 系),不存在 RHEL 回移内核。ANCK 是龙蜥的核心竞争力。
Anolis OS 8 的用户态软件包与 RHEL 8 保持高度一致,可以直接使用 RHEL/CentOS 8 的 RPM 包。Anolis OS 23 的部分包版本会领先于 RHEL 9。
- SELinux 默认处于 enforcing 模式(与 RHEL 一致)
- 防火墙默认使用 firewalld
- 网络管理使用 NetworkManager
- 在阿里云 ECS 上运行时,cloud-init 预配置了阿里云数据源
$ cat /etc/anolis-release$ sudo dnf update$ sudo dnf install nginxAnolis OS 8 仓库
Section titled “Anolis OS 8 仓库”$ dnf repolistAnolis OS 8 默认启用以下仓库:
| 仓库 ID | 说明 |
|---|---|
BaseOS | 基础操作系统包,与 RHEL 8 BaseOS 对应 |
AppStream | 应用流包,与 RHEL 8 AppStream 对应 |
PowerTools | 开发者工具包(对应 RHEL 的 CodeReady Builder) |
Plus | Anolis 社区额外维护的增强包 |
Extras | 额外的常用软件包 |
仓库配置文件
Section titled “仓库配置文件”$ ls /etc/yum.repos.d/$ cat /etc/yum.repos.d/AnolisOS-BaseOS.repoEPEL 支持
Section titled “EPEL 支持”Anolis OS 8 兼容 EPEL 仓库:
$ sudo dnf install epel-release -yAnolis OS 23 仓库差异
Section titled “Anolis OS 23 仓库差异”Anolis OS 23 的仓库结构有所不同,使用 os、update、extras 等仓库名:
$ dnf repolistCloud Kernel(ANCK)
Section titled “Cloud Kernel(ANCK)”Cloud Kernel 是 Anolis OS 的核心特性,全称为 Alibaba Cloud Linux Kernel(ANCK)。它基于上游 LTS 内核,针对云场景做了大量优化。
ANCK 与标准内核对比(适用于 Anolis OS 8)
Section titled “ANCK 与标准内核对比(适用于 Anolis OS 8)”Anolis OS 8 提供 RHEL 兼容标准内核与 ANCK 双选;Anolis OS 23 为独立演进线(基于 ANCK 6.6 上游内核,无 RHEL 回移标准内核):
| 特性 | 标准内核(仅 8 系) | ANCK(包名随版本/仓库,以官方 Cloud-Kernel 文档为准) |
|---|---|---|
| 基础版本 | RHEL 回移内核 | 上游 LTS + 阿里云补丁 |
| 更新频率 | 跟随 RHEL 节奏 | 独立更新,更频繁 |
| 云优化 | 通用配置 | 针对云虚拟化深度优化 |
| 新特性 | 保守引入 | 积极引入上游新特性 |
安装 ANCK
Section titled “安装 ANCK”在阿里云 ECS 上,Alibaba Cloud Linux 默认使用 ANCK。手动安装时,包名与命令随版本系/仓库不同(7 系用 yum、8/23 系用 dnf,且 ANCK 包名以官方 Cloud-Kernel SIG 文档为准)——本页不内嵌具体命令以免过时,请查 OpenAnolis Cloud-Kernel 文档。
$ rpm -qa | grep kernel$ sudo grubby --set-default /boot/vmlinuz-*anck*$ uname -r输出中包含 anck 字样表示正在使用 Cloud Kernel。
ANCK 主要优化特性
Section titled “ANCK 主要优化特性”容器与调度优化
Section titled “容器与调度优化”- Group Identity:为容器提供基于 cgroup 的调度优先级,确保高优先级任务的 CPU 时间
- CPU Burst:允许容器在短时间内突发使用超出 CPU 限额的资源,减少延迟毛刺
- Memory QoS:基于 cgroup v2 的内存 QoS 支持,精细控制容器内存行为
$ cat /sys/fs/cgroup/cpu/cpu.cfs_burst_us存储与文件系统
Section titled “存储与文件系统”- io_uring 增强:对 io_uring 的异步 I/O 框架做了额外优化
- ext4/XFS 优化:针对云盘场景的文件系统性能改进
- EROFS:增强型只读文件系统,适合容器镜像场景
- BBR 拥塞控制:默认可用的 TCP BBR 算法
- XDP 增强:eXpress Data Path 的性能改进
$ sudo sysctl -w net.core.default_qdisc=fq$ sudo sysctl -w net.ipv4.tcp_congestion_control=bbr$ echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.d/99-bbr.conf$ echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.d/99-bbr.conf- China SM 国密算法:内核级别支持 SM2/SM3/SM4 国密算法
- KASLR 增强:内核地址空间布局随机化改进
sysAK 系统运维工具
Section titled “sysAK 系统运维工具”Anolis OS 提供 sysAK(System Analyse Kit)工具集,用于性能分析和故障诊断:
$ sudo dnf install sysak# 查看可用的诊断工具$ sysak list
# CPU 性能分析$ sudo sysak cpu_flamegraph -t 10
# 内存泄漏检测$ sudo sysak memleak -p <pid>
# I/O 延迟分析$ sudo sysak iolatAnolis OS 支持多种处理器架构,这是其相比其他 EL 生态发行版的一个显著优势:
| 架构 | Anolis OS 8 | Anolis OS 23 | 说明 |
|---|---|---|---|
| x86_64 | 支持 | 支持 | Intel/AMD 64 位 |
| aarch64 | 支持 | 支持 | ARM 64 位(如鲲鹏、飞腾) |
| LoongArch | - | 支持 | 龙芯架构 |
| RISC-V | - | 实验性 | 正在适配中 |
在 ARM 服务器上使用
Section titled “在 ARM 服务器上使用”阿里云提供基于倚天 710(ARM 架构)的 ECS 实例(g8y/c8y/r8y 系列)。Anolis OS 在这些实例上有良好支持:
$ uname -m# 输出 aarch64 表示 ARM 64 位
$ cat /proc/cpuinfo | head -20ARM 实例上使用 Anolis OS 与 x86 基本一致,大部分命令和配置通用。少数软件可能尚未提供 ARM 版本,安装前确认仓库中是否有对应架构的包。
从 CentOS 迁移到 Anolis OS
Section titled “从 CentOS 迁移到 Anolis OS”CentOS 7 迁移到 Anolis OS 7
Section titled “CentOS 7 迁移到 Anolis OS 7”OpenAnolis 社区提供了官方迁移工具 anolis-migration:
$ sudo yum install -y yum-utils$ sudo curl -o /etc/yum.repos.d/anolis-migration.repo \ https://mirrors.openanolis.cn/anolis/migration/anolis-migration.repo$ sudo yum install -y anolis-migration$ sudo anolis-migration --check预检查会扫描以下内容:
- 当前系统版本和架构是否支持
- 已安装的第三方包是否兼容
- 内核版本和模块是否兼容
- 磁盘空间是否充足
$ sudo anolis-migration --migrate迁移过程会:
- 替换 CentOS 仓库为 Anolis OS 仓库
- 替换系统标识包(
centos-release→anolis-release) - 更新所有系统包到 Anolis OS 版本
- 重建 RPM 数据库
$ cat /etc/anolis-release$ rpm -qa | grep centos# 应该没有输出,表示所有 CentOS 包已被替换CentOS 8 迁移到 Anolis OS 8
Section titled “CentOS 8 迁移到 Anolis OS 8”流程与 CentOS 7 类似:
$ sudo dnf install -y dnf-utils$ sudo curl -o /etc/yum.repos.d/anolis-migration.repo \ https://mirrors.openanolis.cn/anolis/migration/anolis-migration.repo$ sudo dnf install -y anolis-migration$ sudo anolis-migration --check$ sudo anolis-migration --migrate迁移注意事项
Section titled “迁移注意事项”- 迁移前务必做好完整备份(快照、数据备份)
- 迁移过程中不要中断,否则可能导致系统不可用
- 第三方仓库的包(如 EPEL、Remi)需要在迁移后重新配置
- 自编译的内核模块需要在新内核上重新编译
- 迁移后建议重启系统以加载新内核
- 生产环境建议先在测试机上验证迁移流程
$ sudo reboot$ cat /etc/anolis-release$ uname -r$ systemctl is-system-running$ dnf check阿里云集成特性
Section titled “阿里云集成特性”在阿里云 ECS 上运行 Anolis OS / Alibaba Cloud Linux 时,有以下专属集成特性:
阿里云 agent 预装
Section titled “阿里云 agent 预装”Alibaba Cloud Linux 镜像预装了以下阿里云组件:
- cloud-init:实例初始化工具,配置了阿里云数据源
- aliyun-cli:阿里云命令行工具(部分镜像)
- aegis:阿里云安全 agent(云安全中心)
- cloudmonitor:云监控 agent
$ rpm -qa | grep -E "(cloud-init|aegis|cloudmonitor|aliyun)"内核热补丁(Kernel Live Patching)
Section titled “内核热补丁(Kernel Live Patching)”阿里云为 ANCK 提供内核热补丁功能,可以在不重启的情况下修复内核漏洞:
$ sudo dnf list available | grep kpatch$ sudo dnf install kpatch-patch-<kernel-version>针对阿里云实例的优化
Section titled “针对阿里云实例的优化”Alibaba Cloud Linux 在 ECS 上的默认配置针对阿里云做了调优:
- 虚拟化驱动优化:virtio 驱动调优,提升 I/O 性能
- 内存管理:针对 ECS 实例的内存回收策略调优
- 网络参数:TCP 缓冲区和拥塞控制针对阿里云网络调优
- 存储优化:云盘 I/O 调度和预读参数调优
$ sudo sysctl -a | grep alibaba$ cat /etc/sysctl.d/*ali* 2>/dev/null使用阿里云 Yum 源镜像
Section titled “使用阿里云 Yum 源镜像”在 ECS 实例上,Anolis OS 仓库默认指向阿里云内网镜像源,速度快且不消耗公网带宽:
$ dnf repoinfo BaseOS | grep "Repo-baseurl"如果在非阿里云环境使用 Anolis OS,可以将仓库指向公网镜像:
# Anolis OS 的官方公网镜像是 mirrors.openanolis.cn;阿里云镜像站不保证有 anolis 仓库路径$ sudo sed -i 's|http://mirrors.cloud.aliyuncs.com|https://mirrors.openanolis.cn|g' /etc/yum.repos.d/AnolisOS-*.repo$ sudo dnf makecache替换前先确认目标站有对应仓库路径(https://mirrors.openanolis.cn/anolis/),否则 dnf makecache 会报 404;企业内网也可用自建镜像,把 baseurl 指到自己的地址。
ANCK 内核与标准内核如何切换
Section titled “ANCK 内核与标准内核如何切换”$ sudo grubby --info=ALL | grep title# 切换到标准内核$ sudo grubby --set-default /boot/vmlinuz-4.18.0-xxx.el8.x86_64
# 切换到 ANCK$ sudo grubby --set-default /boot/vmlinuz-4.19.91-xxx.anck.x86_64$ sudo reboot第三方软件兼容性
Section titled “第三方软件兼容性”Anolis OS 8 与 RHEL 8 高度兼容,绝大多数为 RHEL/CentOS 8 编译的软件可以直接运行。如遇兼容性问题:
- 检查软件是否有针对 Anolis OS 的版本
- 使用 RHEL 8 版本的包通常可以直接安装
- 检查是否缺少依赖库
$ ldd /path/to/binary- 阿里云 ECS 实践 — 在阿里云 ECS 上部署 EL 发行版
- 发行版概览 — Enterprise Linux 发行版全景对比
- 从 CentOS 迁移 — 迁移路径总览
- Cloud-Init 配置 — Cloud-Init 详细配置指南