活动公告

系统通知
05-18 21:22
系统通知
通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,资源失效请在帖子内回复要求补档,会尽快处理!
10-23 09:31

AlmaLinux系统下如何快速更换yum源提升软件下载速度的详细教程与常见问题解决方法

SunJu_FaceMall

3万

主题

2860

科技点

3万

积分

白金月票

碾压王

积分
32872

塔罗立华奏

<font color=白金月票" /> 发表于 2025-9-28 14:00:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
引言

AlmaLinux是一个开源的、社区驱动的Linux操作系统,作为CentOS的替代品,旨在提供一个稳定、可靠的企业级操作系统。yum(Yellowdog Updater Modified)是AlmaLinux中的软件包管理器,负责安装、更新和删除软件包。yum源是存储软件包的服务器,默认情况下,AlmaLinux使用官方的yum源,但由于地理位置和网络原因,可能会导致下载速度较慢。因此,更换为地理位置更近或网络连接更稳定的yum源,可以显著提升软件下载速度。

准备工作

在更换yum源之前,需要确保以下几点:

1. 确保系统已连接到互联网
2. 确保具有root权限或sudo权限
3. 确保已安装wget或curl工具(如果需要下载新的yum源配置文件)

可以通过以下命令检查是否安装了wget或curl:
  1. # 检查wget是否安装
  2. which wget
  3. # 检查curl是否安装
  4. which curl
  5. # 如果都没有安装,可以使用以下命令安装
  6. sudo yum install -y wget curl
复制代码

备份原有yum源配置

在更换yum源之前,建议先备份原有的yum源配置文件,以便在出现问题时可以恢复。
  1. # 创建备份目录
  2. sudo mkdir /etc/yum.repos.d/backup
  3. # 备份原有的repo文件
  4. sudo cp /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
  5. # 查看备份是否成功
  6. ls -l /etc/yum.repos.d/backup/
复制代码

选择合适的yum源

在中国大陆地区,常用的yum源包括:

1. 阿里云yum源 - 速度快,更新及时,覆盖全面
2. 腾讯云yum源 - 稳定可靠,适合腾讯云服务器用户
3. 网易yum源 - 老牌镜像源,稳定性好
4. 清华大学yum源 - 教育网用户首选,更新及时
5. 中科大yum源 - 教育网用户备选,稳定性好

这些源通常都提供了完整的AlmaLinux软件包镜像,并且更新及时,网络连接稳定。根据您的网络环境选择最适合的源,通常阿里云和腾讯云源对大多数用户来说速度较快。

更换yum源的详细步骤

手动更换方法

以更换为阿里云yum源为例:

1. 下载阿里云的AlmaLinux yum源配置文件:
  1. # 下载BaseOS源
  2. sudo wget -O /etc/yum.repos.d/almalinux.repo https://mirrors.aliyun.com/repo/almalinux.repo
  3. # 或者使用curl
  4. # sudo curl -o /etc/yum.repos.d/almalinux.repo https://mirrors.aliyun.com/repo/almalinux.repo
复制代码

1. 如果需要EPEL(Extra Packages for Enterprise Linux)源,可以下载:
  1. # 安装epel-release包
  2. sudo yum install -y epel-release
  3. # 备份原有的epel.repo
  4. sudo cp /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
  5. # 下载阿里云的EPEL源
  6. sudo wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-8.repo
  7. # 如果是AlmaLinux 9,则使用以下命令
  8. # sudo wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-9.repo
复制代码

1. 清除yum缓存:
  1. sudo yum clean all
复制代码

1. 生成新的缓存:
  1. sudo yum makecache
复制代码

使用脚本自动更换方法

为了简化更换过程,可以使用以下脚本自动更换yum源:

1. 创建一个脚本文件:
  1. sudo nano /opt/change_yum_source.sh
复制代码

1. 将以下内容复制到脚本文件中:
  1. #!/bin/bash
  2. # 备份原有的yum源
  3. echo "正在备份原有的yum源..."
  4. mkdir -p /etc/yum.repos.d/backup
  5. cp /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ 2>/dev/null
  6. # 选择yum源
  7. echo "请选择要更换的yum源:"
  8. echo "1) 阿里云"
  9. echo "2) 腾讯云"
  10. echo "3) 网易"
  11. echo "4) 清华大学"
  12. echo "5) 中科大"
  13. read -p "请输入选项(1-5): " choice
  14. case $choice in
  15.     1)
  16.         echo "正在更换为阿里云yum源..."
  17.         # 下载阿里云的AlmaLinux yum源
  18.         wget -O /etc/yum.repos.d/almalinux.repo https://mirrors.aliyun.com/repo/almalinux.repo
  19.         
  20.         # 安装并配置EPEL源
  21.         yum install -y epel-release
  22.         cp /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
  23.         if [ -f /etc/almalinux-release ]; then
  24.             version=$(rpm -q --queryformat '%{VERSION}' almalinux-release | cut -d. -f1)
  25.             wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-${version}.repo
  26.         fi
  27.         ;;
  28.     2)
  29.         echo "正在更换为腾讯云yum源..."
  30.         # 下载腾讯云的AlmaLinux yum源
  31.         wget -O /etc/yum.repos.d/almalinux.repo https://mirrors.cloud.tencent.com/repo/almalinux.repo
  32.         
  33.         # 安装并配置EPEL源
  34.         yum install -y epel-release
  35.         cp /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
  36.         if [ -f /etc/almalinux-release ]; then
  37.             version=$(rpm -q --queryformat '%{VERSION}' almalinux-release | cut -d. -f1)
  38.             wget -O /etc/yum.repos.d/epel.repo https://mirrors.cloud.tencent.com/repo/epel-${version}.repo
  39.         fi
  40.         ;;
  41.     3)
  42.         echo "正在更换为网易yum源..."
  43.         # 下载网易的AlmaLinux yum源
  44.         wget -O /etc/yum.repos.d/almalinux.repo http://mirrors.163.com/.help/CentOS-Base-8.repo
  45.         
  46.         # 安装并配置EPEL源
  47.         yum install -y epel-release
  48.         cp /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
  49.         if [ -f /etc/almalinux-release ]; then
  50.             version=$(rpm -q --queryformat '%{VERSION}' almalinux-release | cut -d. -f1)
  51.             wget -O /etc/yum.repos.d/epel.repo http://mirrors.163.com/.help/epel-${version}.repo
  52.         fi
  53.         ;;
  54.     4)
  55.         echo "正在更换为清华大学yum源..."
  56.         # 下载清华大学的AlmaLinux yum源
  57.         wget -O /etc/yum.repos.d/almalinux.repo https://mirrors.tuna.tsinghua.edu.cn/help/almalinux/
  58.         
  59.         # 安装并配置EPEL源
  60.         yum install -y epel-release
  61.         cp /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
  62.         if [ -f /etc/almalinux-release ]; then
  63.             version=$(rpm -q --queryformat '%{VERSION}' almalinux-release | cut -d. -f1)
  64.             wget -O /etc/yum.repos.d/epel.repo https://mirrors.tuna.tsinghua.edu.cn/help/epel/
  65.         fi
  66.         ;;
  67.     5)
  68.         echo "正在更换为中科大yum源..."
  69.         # 下载中科大的AlmaLinux yum源
  70.         wget -O /etc/yum.repos.d/almalinux.repo https://mirrors.ustc.edu.cn/help/almalinux.html
  71.         
  72.         # 安装并配置EPEL源
  73.         yum install -y epel-release
  74.         cp /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
  75.         if [ -f /etc/almalinux-release ]; then
  76.             version=$(rpm -q --queryformat '%{VERSION}' almalinux-release | cut -d. -f1)
  77.             wget -O /etc/yum.repos.d/epel.repo https://mirrors.ustc.edu.cn/help/epel.html
  78.         fi
  79.         ;;
  80.     *)
  81.         echo "无效的选项,退出脚本"
  82.         exit 1
  83.         ;;
  84. esac
  85. # 清除yum缓存
  86. echo "正在清除yum缓存..."
  87. yum clean all
  88. # 生成新的缓存
  89. echo "正在生成新的yum缓存..."
  90. yum makecache
  91. echo "yum源更换完成!"
复制代码

1. 给脚本添加执行权限:
  1. sudo chmod +x /opt/change_yum_source.sh
复制代码

1. 运行脚本:
  1. sudo /opt/change_yum_source.sh
复制代码

验证yum源是否更换成功

1. 查看当前启用的yum源:
  1. yum repolist enabled
复制代码

执行后,您应该能看到列表中显示的是您刚刚更换的源,例如阿里云源会显示类似”aliyun”字样。

1. 查看yum源配置文件中的URL:
  1. grep -i "baseurl" /etc/yum.repos.d/*.repo
复制代码

检查输出的URL是否为您选择的镜像源地址。

1. 测试下载速度:
  1. yum update -y
复制代码

观察下载速度,如果明显提升,说明yum源更换成功。您也可以使用以下命令测试下载速度:
  1. time yum install -y htop
复制代码

通过比较更换前后的下载时间,可以直观地感受到速度的提升。

常见问题及解决方法

1. 更换yum源后,执行yum命令报错

问题描述:更换yum源后,执行yum命令时出现类似以下错误:
  1. Could not resolve host: mirrors.aliyun.com; Unknown error
复制代码

解决方法:

1. 检查网络连接是否正常:
  1. ping mirrors.aliyun.com
复制代码

1. 如果无法ping通,可能是DNS配置问题,可以尝试修改DNS服务器:
  1. sudo nano /etc/resolv.conf
复制代码

在文件中添加以下内容(以阿里云DNS为例):
  1. nameserver 223.5.5.5
  2. nameserver 223.6.6.6
复制代码

1. 如果网络连接正常但仍然报错,可能是yum源配置文件有问题,可以尝试恢复备份:
  1. sudo cp /etc/yum.repos.d/backup/*.repo /etc/yum.repos.d/
  2. sudo yum clean all
  3. sudo yum makecache
复制代码

2. 更换yum源后,软件包版本不一致

问题描述:更换yum源后,发现某些软件包的版本与之前不同。

解决方法:

1. 不同的yum源可能会有软件包更新时间的差异,这是正常现象。
2. 如果需要特定版本的软件包,可以尝试使用版本锁定功能:
  1. # 安装yum-plugin-versionlock插件
  2. sudo yum install -y yum-plugin-versionlock
  3. # 锁定特定软件包的版本
  4. sudo yum versionlock <软件包名称>
  5. # 查看已锁定的软件包
  6. sudo yum versionlock list
  7. # 解除软件包版本锁定
  8. sudo yum versionlock clear <软件包名称>
复制代码

3. 更换yum源后,某些软件包无法找到

问题描述:更换yum源后,执行yum install安装某些软件包时提示”没有可用的软件包”。

解决方法:

1. 确认所需的软件包名称是否正确:
  1. yum search <关键词>
复制代码

1. 检查是否启用了EPEL源:
  1. yum repolist enabled | grep epel
复制代码

如果没有启用,可以安装并启用EPEL源:
  1. sudo yum install -y epel-release
复制代码

1. 某些特殊软件包可能需要第三方源,可以添加相应的源:
  1. # 例如,添加RPM Fusion源
  2. sudo yum localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm
复制代码

4. 更换yum源后,更新软件包时出现GPG密钥错误

问题描述:更换yum源后,执行yum update时出现类似以下错误:
  1. Public key for *.rpm is not installed
复制代码

解决方法:

1. 导入相应的GPG密钥:
  1. # 对于AlmaLinux官方源
  2. sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
  3. # 对于EPEL源
  4. sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$(rpm -E %rhel)
复制代码

1. 或者临时禁用GPG检查(不推荐,仅用于测试):
  1. yum update --nogpgcheck
复制代码

5. 如何恢复默认的yum源

问题描述:更换yum源后,想要恢复为默认的官方yum源。

解决方法:

1. 如果之前有备份,可以直接恢复:
  1. sudo cp /etc/yum.repos.d/backup/*.repo /etc/yum.repos.d/
  2. sudo yum clean all
  3. sudo yum makecache
复制代码

1. 如果没有备份,可以重新安装almalinux-release包:
  1. sudo yum reinstall -y almalinux-release
  2. sudo yum clean all
  3. sudo yum makecache
复制代码

6. 更换yum源后,下载速度仍然很慢

问题描述:更换yum源后,软件下载速度仍然很慢。

解决方法:

1. 尝试更换其他yum源,不同的网络环境对不同源的连接速度可能不同。
2. 使用yum-fastestmirror插件自动选择最快的镜像:
  1. # 安装yum-fastestmirror插件
  2. sudo yum install -y yum-plugin-fastestmirror
  3. # 启用插件
  4. sudo sed -i 's/enabled=0/enabled=1/g' /etc/yum/pluginconf.d/fastestmirror.conf
  5. # 清除缓存并重新生成
  6. sudo yum clean all
  7. sudo yum makecache
复制代码

1. 检查系统是否有其他网络限制,如防火墙、代理等。

7. yum源配置文件语法错误

问题描述:更换yum源后,执行yum命令时出现类似以下错误:
  1. Error: Config file /etc/yum.repos.d/almalinux.repo not parsed correctly
复制代码

解决方法:

1. 检查配置文件语法是否正确:
  1. sudo nano /etc/yum.repos.d/almalinux.repo
复制代码

1. 确保每个section都有正确的格式,例如:
  1. [baseos]
  2. name=AlmaLinux $releasever - BaseOS
  3. baseurl=https://mirrors.aliyun.com/almalinux/$releasever/BaseOS/$basearch/os/
  4. gpgcheck=1
  5. enabled=1
  6. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
复制代码

1. 如果不确定如何修复,可以删除当前配置文件,重新下载:
  1. sudo rm /etc/yum.repos.d/almalinux.repo
  2. sudo wget -O /etc/yum.repos.d/almalinux.repo https://mirrors.aliyun.com/repo/almalinux.repo
复制代码

总结

更换AlmaLinux的yum源是提升软件下载速度的有效方法。本文详细介绍了如何备份原有yum源、选择合适的yum源、手动和自动更换yum源的方法,以及如何验证更换是否成功。同时,本文还提供了常见问题的解决方法,帮助用户在更换yum源过程中遇到问题时能够快速解决。

通过更换为地理位置更近或网络连接更稳定的yum源,用户可以显著提升软件包的下载速度,提高系统维护和软件安装的效率。希望本文能够帮助AlmaLinux用户更好地管理和优化自己的系统。

最后,建议定期检查和更新yum源配置,以确保系统始终保持最佳的软件包下载性能。同时,也建议在执行重要系统更新前,先备份重要数据,以防万一。
「七転び八起き(ななころびやおき)」
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则