跳转到内容
搜索 RunEntLinux 文档

仅搜索 RunEntLinux 通用文档,各发行版文档使用各自的搜索入口。

    浏览当前文档目录

    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 7RHEL 7常规支持已于 2024-06 结束;现为 ELS 延保至 2028-06兼容 CentOS 7;新项目不要再选,存量系统按 ELS 计划迁出
    Anolis OS 8RHEL 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。

    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 预配置了阿里云数据源
    查看当前 Anolis OS 版本
    $ cat /etc/anolis-release
    Anolis OS 8 使用 DNF 管理软件包
    $ sudo dnf update
    $ sudo dnf install nginx
    查看已启用的仓库
    $ dnf repolist

    Anolis OS 8 默认启用以下仓库:

    仓库 ID说明
    BaseOS基础操作系统包,与 RHEL 8 BaseOS 对应
    AppStream应用流包,与 RHEL 8 AppStream 对应
    PowerTools开发者工具包(对应 RHEL 的 CodeReady Builder)
    PlusAnolis 社区额外维护的增强包
    Extras额外的常用软件包
    查看仓库配置
    $ ls /etc/yum.repos.d/
    查看 BaseOS 仓库配置
    $ cat /etc/yum.repos.d/AnolisOS-BaseOS.repo

    Anolis OS 8 兼容 EPEL 仓库:

    启用 EPEL 仓库
    $ sudo dnf install epel-release -y

    Anolis OS 23 的仓库结构有所不同,使用 os、update、extras 等仓库名:

    Anolis OS 23 仓库列表
    $ dnf repolist

    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 节奏独立更新,更频繁
    云优化通用配置针对云虚拟化深度优化
    新特性保守引入积极引入上游新特性

    在阿里云 ECS 上,Alibaba Cloud Linux 默认使用 ANCK。手动安装时,包名与命令随版本系/仓库不同(7 系用 yum、8/23 系用 dnf,且 ANCK 包名以官方 Cloud-Kernel SIG 文档为准)——本页不内嵌具体命令以免过时,请查 OpenAnolis Cloud-Kernel 文档。

    查看已安装的内核
    $ rpm -qa | grep kernel
    设置 ANCK 为默认启动内核
    $ sudo grubby --set-default /boot/vmlinuz-*anck*
    重启后验证
    $ uname -r

    输出中包含 anck 字样表示正在使用 Cloud Kernel。

    • Group Identity:为容器提供基于 cgroup 的调度优先级,确保高优先级任务的 CPU 时间
    • CPU Burst:允许容器在短时间内突发使用超出 CPU 限额的资源,减少延迟毛刺
    • Memory QoS:基于 cgroup v2 的内存 QoS 支持,精细控制容器内存行为
    查看 CPU Burst 支持
    $ cat /sys/fs/cgroup/cpu/cpu.cfs_burst_us
    • io_uring 增强:对 io_uring 的异步 I/O 框架做了额外优化
    • ext4/XFS 优化:针对云盘场景的文件系统性能改进
    • EROFS:增强型只读文件系统,适合容器镜像场景
    • BBR 拥塞控制:默认可用的 TCP BBR 算法
    • XDP 增强:eXpress Data Path 的性能改进
    启用 BBR 拥塞控制
    $ sudo sysctl -w net.core.default_qdisc=fq
    $ sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
    持久化 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 增强:内核地址空间布局随机化改进

    Anolis OS 提供 sysAK(System Analyse Kit)工具集,用于性能分析和故障诊断:

    安装 sysAK
    $ sudo dnf install sysak
    使用 sysAK 进行性能分析
    # 查看可用的诊断工具
    $ sysak list
    # CPU 性能分析
    $ sudo sysak cpu_flamegraph -t 10
    # 内存泄漏检测
    $ sudo sysak memleak -p <pid>
    # I/O 延迟分析
    $ sudo sysak iolat

    Anolis OS 支持多种处理器架构,这是其相比其他 EL 生态发行版的一个显著优势:

    架构Anolis OS 8Anolis OS 23说明
    x86_64支持支持Intel/AMD 64 位
    aarch64支持支持ARM 64 位(如鲲鹏、飞腾)
    LoongArch-支持龙芯架构
    RISC-V-实验性正在适配中

    阿里云提供基于倚天 710(ARM 架构)的 ECS 实例(g8y/c8y/r8y 系列)。Anolis OS 在这些实例上有良好支持:

    查看系统架构
    $ uname -m
    # 输出 aarch64 表示 ARM 64 位
    $ cat /proc/cpuinfo | head -20

    ARM 实例上使用 Anolis OS 与 x86 基本一致,大部分命令和配置通用。少数软件可能尚未提供 ARM 版本,安装前确认仓库中是否有对应架构的包。

    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

    迁移过程会:

    1. 替换 CentOS 仓库为 Anolis OS 仓库
    2. 替换系统标识包(centos-release → anolis-release)
    3. 更新所有系统包到 Anolis OS 版本
    4. 重建 RPM 数据库
    迁移后验证
    $ cat /etc/anolis-release
    $ rpm -qa | grep centos
    # 应该没有输出,表示所有 CentOS 包已被替换

    流程与 CentOS 7 类似:

    CentOS 8 迁移到 Anolis OS 8
    $ 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
    • 迁移前务必做好完整备份(快照、数据备份)
    • 迁移过程中不要中断,否则可能导致系统不可用
    • 第三方仓库的包(如 EPEL、Remi)需要在迁移后重新配置
    • 自编译的内核模块需要在新内核上重新编译
    • 迁移后建议重启系统以加载新内核
    • 生产环境建议先在测试机上验证迁移流程
    迁移后重启
    $ sudo reboot
    重启后确认系统状态
    $ cat /etc/anolis-release
    $ uname -r
    $ systemctl is-system-running
    $ dnf check

    在阿里云 ECS 上运行 Anolis OS / Alibaba Cloud Linux 时,有以下专属集成特性:

    Alibaba Cloud Linux 镜像预装了以下阿里云组件:

    • cloud-init:实例初始化工具,配置了阿里云数据源
    • aliyun-cli:阿里云命令行工具(部分镜像)
    • aegis:阿里云安全 agent(云安全中心)
    • cloudmonitor:云监控 agent
    查看预装的阿里云组件
    $ rpm -qa | grep -E "(cloud-init|aegis|cloudmonitor|aliyun)"

    阿里云为 ANCK 提供内核热补丁功能,可以在不重启的情况下修复内核漏洞:

    查看可用的内核热补丁
    $ sudo dnf list available | grep kpatch
    安装内核热补丁
    $ sudo dnf install kpatch-patch-<kernel-version>

    Alibaba Cloud Linux 在 ECS 上的默认配置针对阿里云做了调优:

    • 虚拟化驱动优化:virtio 驱动调优,提升 I/O 性能
    • 内存管理:针对 ECS 实例的内存回收策略调优
    • 网络参数:TCP 缓冲区和拥塞控制针对阿里云网络调优
    • 存储优化:云盘 I/O 调度和预读参数调优
    查看阿里云专属调优参数
    $ sudo sysctl -a | grep alibaba
    $ cat /etc/sysctl.d/*ali* 2>/dev/null

    在 ECS 实例上,Anolis OS 仓库默认指向阿里云内网镜像源,速度快且不消耗公网带宽:

    查看仓库指向的镜像源
    $ dnf repoinfo BaseOS | grep "Repo-baseurl"

    如果在非阿里云环境使用 Anolis OS,可以将仓库指向公网镜像:

    切换到 Anolis 官方公网镜像源
    # 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 指到自己的地址。

    查看所有已安装内核
    $ 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

    Anolis OS 8 与 RHEL 8 高度兼容,绝大多数为 RHEL/CentOS 8 编译的软件可以直接运行。如遇兼容性问题:

    1. 检查软件是否有针对 Anolis OS 的版本
    2. 使用 RHEL 8 版本的包通常可以直接安装
    3. 检查是否缺少依赖库
    检查共享库依赖
    $ ldd /path/to/binary