解决 CentOS yum 安装软件速度慢的最佳方法


嘿,各位技术小伙伴们,大家好!

今天我们来聊一个在 CentOS 上老生常谈的话题:yum 安装软件为什么那么慢?以及,如何让它快到飞起!相信我,通过这篇文章,你将彻底告别 yum 安装时的漫长等待。

为什么你的 yum 像“老爷车”?

在解决问题之前,我们得先搞清楚问题出在哪儿。yum 安装慢,主要有两大“元凶”:

  1. “身在曹营心在汉”的镜像源:CentOS 默认的 yum 源服务器都在国外,咱们在国内访问,那速度就像跨洋电话,延迟高,速度慢,体验自然好不了。
  2. “单线程”的耿直 Boyyum 在下载软件包的时候,默认是单线程下载,一个一个来,效率自然不高。

知道了问题所在,咱们就可以“对症下药”了。下面我给大家介绍几种立竿见影的提速方法,总有一款适合你!


方案一:换个“国内镜像”,快人一步!

这是最常用,也是最有效的方法。简单来说,就是把 yum 的下载地址换成国内的服务器,比如阿里云、网易、清华大学等都提供了免费的镜像服务。这里我们以阿里云为例,手把手教你操作。

操作步骤

1. 备份你当前的 yum 源配置文件

不怕一万,就怕万一。我们先给当前的配置文件做个备份,方便“反悔”。

sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2. 下载阿里云的 yum 源配置文件

这里需要注意,不同的 CentOS 版本,配置文件的下载地址是不一样的。你可以根据自己的系统版本选择对应的命令。

  • 对于 CentOS 7:

    sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • 对于 CentOS 8:

    sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

    注意: CentOS 8 已经停止了官方支持,但你仍然可以使用归档的镜像源。

3. 清理并生成新的缓存

换了源之后,需要清理一下旧的缓存,然后生成新的缓存,让新源生效。

sudo yum clean all
sudo yum makecache

案例解析

假设你现在需要安装一个 nginx,在换源之前,yum install nginx 可能需要好几分钟,甚至更久。而换成国内的阿里云镜像后,你会发现下载速度有了质的飞跃,可能几十秒就搞定了。这就是离家近的好处啊!


方案二:让 fastestmirror 插件帮你“优中选优”

fastestmirror 是一个 yum 的插件,它的作用是自动帮你选择最快的镜像服务器。有时候,即使我们换了国内的源,国内的镜像服务器也有很多台,速度也不尽相同。这时候,fastestmirror 就能派上用场了。

操作步骤

1. 安装 fastestmirror 插件

这个插件一般系统会自带,如果没有的话,可以用下面的命令安装:

sudo yum install yum-plugin-fastestmirror

2. 确认插件是否启用

安装完成后,需要确保插件是启用状态。可以查看配置文件 /etc/yum.conf,确保有下面这行配置:

plugins=1

同时,检查 /etc/yum/pluginconf.d/fastestmirror.conf 文件,确保 enabled=1

案例解析

启用 fastestmirror 插件后,每次运行 yum 命令,它都会先测试各个镜像服务器的连接速度,然后选择最快的一个来下载软件包。 这就好比你点外卖,平台会自动给你匹配一个距离最近、出餐最快的外卖小哥,大大缩短了你的等待时间。


方案三:开启“并行下载”,火力全开!

如果你觉得上面的方法还不够快,那么可以试试开启并行下载。yum 本身并不直接支持并行下载,但我们可以通过安装一个名为 axel 的多线程下载工具,并让 yum 通过它来下载。

操作步骤

1. 安装 axel

首先,你需要安装 epel-release,然后才能安装 axel

sudo yum install -y epel-release
sudo yum install -y axel

2. 修改 yum 配置文件,启用并行下载

要让 yum 使用 axel 进行下载,你需要修改 yum 的配置文件。不过,直接修改 yum 的行为来调用 axel 相对复杂。一个更简单的思路是,在安装大文件或者大量依赖时,可以先使用 yumdownloader 结合 axel 下载,然后再进行本地安装。

一个更直接提升 yum 自身下载能力的方法是在 /etc/yum.conf 文件中添加以下配置,来增加 yum 的并行下载数(此功能在较新版本的 DNF/YUM 中支持):

max_parallel_downloads=10

这行配置告诉 yum 最多可以同时下载10个软件包。

案例解析

想象一下,你现在要下载一个很大的软件包,比如一个数据库。如果用单线程下载,速度可能会很慢。而开启并行下载后,yum 会同时启动多个线程去下载这个文件的不同部分,最后再拼接起来,下载速度自然就快了好几倍。


总结

好了,以上就是解决 CentOS yum 安装慢的几种最佳方法。我们来简单总结一下:

方法 优点 缺点
更换国内镜像 效果最明显,操作简单 需要根据系统版本选择合适的源
使用 fastestmirror 插件 自动选择最快镜像,智能化 提速效果不如直接换源明显
开启并行下载 下载大文件时效果显著 配置相对复杂一些

在实际使用中,我个人最推荐 “更换国内镜像” + “开启并行下载” 的组合拳,基本上可以解决绝大部分 yum 慢的问题。希望这篇文章能对你有所帮助,让你彻底摆脱 yum 的龟速困扰!


  目录