Anolis OS 8 更新源配置全攻略:从零到一键自动化

张开发
2026/4/15 9:08:22 15 分钟阅读

分享文章

Anolis OS 8 更新源配置全攻略:从零到一键自动化
1. 为什么需要配置Anolis OS 8更新源第一次接触Anolis OS 8的朋友可能会疑惑为什么不能直接用系统自带的源这个问题我刚开始也遇到过。实际上默认源往往存在两个痛点一是下载速度慢特别是对于国内用户二是软件包版本可能不是最新的。记得去年我在部署一个Kubernetes集群时就因为默认源的docker-ce版本太旧折腾了大半天。Anolis OS作为国产操作系统的代表其官方源和社区源的选择非常关键。目前主流的源包括阿里云镜像站速度最快腾讯云镜像站华南地区优化华为云镜像站企业级支持实测下来阿里云的镜像同步频率最高基本能做到与上游源实时同步。我曾经用curl -I测试过响应时间阿里云节点比默认源快了近10倍。对于需要批量部署的场景这种差异会直接影响到整个运维效率。2. 手动配置更新源详解2.1 备份原有源配置安全操作的第一步永远是备份。我吃过没备份的亏有一次误删了所有repo文件导致系统连yum都用不了。正确的做法是mkdir -p /etc/yum.repos.d/backup cp /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/这个命令会创建备份目录并复制所有.repo文件。建议在操作前用ls -l /etc/yum.repos.d/确认下原始文件列表我遇到过某些特殊环境会有非标准命名的repo文件。2.2 配置阿里云源阿里云的Anolis源配置其实很简单但有几个细节需要注意。新建一个/etc/yum.repos.d/anolis.repo文件内容如下[baseos] nameAnolisOS-$releasever - BaseOS baseurlhttps://mirrors.aliyun.com/anolis/$releasever/BaseOS/$basearch/os/ gpgcheck1 gpgkeyhttps://mirrors.aliyun.com/anolis/RPM-GPG-KEY-ANOLIS这里有个坑要注意$releasever和$basearch是yum的变量不要手动替换成具体值。有次我手贱写成8结果在Anolis OS 8.2上就出问题了。配置完成后记得执行yum clean all yum makecache这个组合命令我称为yum二连前者清理缓存后者重建元数据。如果看到Metadata cache created就说明成功了。3. 一键自动化脚本实战3.1 脚本编写要点手动配置适合单机但如果是机房几十台机器就得用脚本了。下面这个增强版脚本是我在多次实践中优化出来的#!/bin/bash # 定义颜色代码让输出更醒目 RED\033[0;31m GREEN\033[0;32m NC\033[0m # 检查是否为root用户 if [ $(id -u) -ne 0 ]; then echo -e ${RED}错误必须使用root权限运行此脚本${NC} exit 1 fi # 备份原有源 echo -e ${GREEN}[1/4] 备份原有yum源...${NC} mkdir -p /etc/yum.repos.d/backup_$(date %Y%m%d) mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup_$(date %Y%m%d)/ 2/dev/null # 配置Anolis源 echo -e ${GREEN}[2/4] 配置Anolis源...${NC} cat /etc/yum.repos.d/anolis.repo EOF [baseos] nameAnolisOS-\$releasever - BaseOS baseurlhttps://mirrors.aliyun.com/anolis/\$releasever/BaseOS/\$basearch/os/ gpgcheck1 gpgkeyhttps://mirrors.aliyun.com/anolis/RPM-GPG-KEY-ANOLIS [appstream] nameAnolisOS-\$releasever - AppStream baseurlhttps://mirrors.aliyun.com/anolis/\$releasever/AppStream/\$basearch/os/ gpgcheck1 gpgkeyhttps://mirrors.aliyun.com/anolis/RPM-GPG-KEY-ANOLIS EOF # 更新缓存 echo -e ${GREEN}[3/4] 更新yum缓存...${NC} yum clean all /dev/null yum makecache /dev/null # 验证结果 echo -e ${GREEN}[4/4] 验证配置...${NC} yum repolist | grep -i anolis这个脚本增加了三个实用功能权限检查避免普通用户误执行带时间戳的备份方便追溯彩色输出一目了然3.2 脚本执行与调试保存为anolis_repo.sh后给执行权限chmod x anolis_repo.sh执行时建议加上-x参数显示详细过程bash -x anolis_repo.sh如果遇到问题重点关注这几个点网络连通性ping mirrors.aliyun.com变量解析echo $releasever看输出权限问题/etc/yum.repos.d/是否可写4. 常见问题解决方案4.1 GPG密钥验证失败这个问题困扰了我很久典型报错是GPG key retrieval failed。解决方法分三步手动导入密钥rpm --import https://mirrors.aliyun.com/anolis/RPM-GPG-KEY-ANOLIS修改repo文件增加gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS清除旧缓存rm -rf /var/cache/yum/*4.2 速度慢或超时如果是内网环境可以尝试更换镜像站将aliyun换成其他镜像使用代理需配置yum的proxy参数搭建本地镜像适合大规模部署我曾经给某企业做内网部署时就用reposync命令同步了整套源到本地服务器reposync --repobaseos -p /data/mirror/anolis4.3 版本兼容性问题Anolis OS 8有多个子版本如8.2、8.4有时会遇到包冲突。建议明确指定releaseverecho 8 /etc/yum/vars/releasever或者使用--releasever参数yum --releasever8.4 update5. 进阶技巧定时自动更新对于生产环境我推荐配置定时任务自动更新源。具体步骤创建每周执行的cron任务(crontab -l 2/dev/null; echo 0 3 * * 1 /path/to/anolis_repo.sh) | crontab -增加日志记录功能修改脚本尾部{ yum clean all yum makecache } /var/log/yum_cache_update.log 21配置logrotate防止日志过大cat /etc/logrotate.d/yum_cache EOF /var/log/yum_cache_update.log { weekly missingok rotate 4 compress } EOF这套方案在我们公司200节点的环境运行了一年多稳定性非常好。关键是要监控/var/log/yum_cache_update.log文件我见过最奇葩的问题是磁盘inode用尽导致更新失败。

更多文章