一、简介
每次yum安装的时候,都可以发现yum使用了fast-mirrors,但这个过程可能很慢,为了加快速度,对这个过程进行了分析;
[[email protected] ~]$ yum makecache 已加载插件:fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager Determining fastest mirrors #这里是在判断哪个是最快的源 * base: mirrors.aliyun.com #前面包含mirrors的,都是说明有多个yum源 * extras: mirrors.aliyun.com * rpmfusion-free-updates: mirrors.ustc.edu.cn * updates: mirrors.aliyun.com * webtatic: uk.repo.webtatic.com
二、步骤
1、yum安装软件的时候,刚开始做的是什么
①yum安装软件的时候,必然会弹出下面的这些,这些步骤到底是什么;
[[email protected] ~]$ yum makecache
已加载插件:fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager
Determining fastest mirrors #这里是在判断哪个是最快的源
* base: mirrors.aliyun.com #前面包含mirrors的,都是说明有多个yum源
* extras: mirrors.aliyun.com
* rpmfusion-free-updates: mirrors.ustc.edu.cn
* updates: mirrors.aliyun.com
* webtatic: uk.repo.webtatic.com②根据查询得知,这一步是把yum的目标的源内容缓存到本地,缓存的本地目录是/var/cache/yum ;
这一步可以使用yum clean all;yum makecache;检查/var/cache/yum文件下是否有变化;
2、为何yum第一步缓存会很慢呢(抓包后,发现没使用最快的源)
①yum配置文件检查
查看下面的配置文件,可以看到yum使用了mirrorlist,这个url里面包含了许多仓库地址
[[email protected] ~]$ cat /etc/yum.repos.d/remi-safe.repo |grep mirrors
mirrorlist=https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/7/safe/mirror
[[email protected] ~]$
打开这个ur(lhttps://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/7/safe/mirror),可以看到内容如下
http://rpms.remirepo.net/enterprise/7/safe/$basearch/
http://fr2.rpmfind.net/linux/remi/enterprise/7/safe/$basearch/
http://mirrors.mediatemple.net/remi/enterprise/7/safe/$basearch/
http://mirror.tuna.tsinghua.edu.cn/enterprise/7/safe/$basearch/
http://remi.schlundtech.de/enterprise/7/safe/$basearch/
...省率了53个
https://mirror.dogado.de/remi/enterprise/7/safe/$basearch/②哪会如何使用这些仓库其中的哪个呢
根据查询得知,会使用yum-fastestmirror自动判断用哪个,判断的结果文件在/var/cache/yum/timedhosts.txt中;
安装yum-fastestmirror:yum install yum-fastestmirror -y;这个默认安装了;
查看yum-fastestmirror的配置文件;
[[email protected] ~]$ cat /etc/yum/pluginconf.d/fastestmirror.conf [main] enabled=1 verbose=0 always_print_best_host = true socket_timeout=3 # Relative paths are relative to the cachedir (and so works for users as well # as root). hostfilepath=timedhosts.txt maxhostfileage=10 maxthreads=15 #exclude=.gov, facebook #include_only=.nl,.de,.uk,.ie [[email protected] ~]$查看/var/cache/yum/timedhosts.txt
[[email protected] ~]# cat -n /var/cache/yum/x86_64/7/timedhosts.txt|sort -n -k 3|more #排序查看 17 mirrors.aliyun.com 0.0298199653625 16 mirrors.163.com 0.0301778316498 11 mirror.tuna.tsinghua.edu.cn 0.0316710472107 8 ftp.sjtu.edu.cn 0.0334181785583 ......省略了其他的 [[email protected] ~]#从上面的判断结果看,清华的源mirror.tuna.tsinghua.edu.cn是排在前面的,但真实抓包过程中,发现排在最前面的几个都没有使用,使用的是其他排在后面的源;截图如下:
3、加快下载速度的方法【参考3】
注释mirrorlist的行,使用一个源即可,将源改成国内的源,修改后的配置文件如下:
使用多个源就是给自己找麻烦,特别是判断哪个源的速度快后,却没有使用;
[[email protected] ~]# cat /etc/yum.repos.d/remi-safe.repo
[remi-safe]
baseurl=https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/7/safe//$basearch/
#baseurl=http://rpms.remirepo.net/enterprise/7/safe/$basearch/
#mirrorlist=http://cdn.remirepo.net/enterprise/7/safe/mirror
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
[[email protected] ~]#4、查看yum的配置
[[email protected] ~]$ rpm -ql yum /etc/logrotate.d/yum /etc/yum /etc/yum.conf #yum的配置文件,包含是否配置使用最快的源fast-mirrors、最快源的判断文件、缓存的源的位置; /etc/yum.repos.d /etc/yum/pluginconf.d /usr/bin/yum /usr/lib/yum-plugins /usr/share/doc/yum-3.4.3 /var/cache/yum #yum 缓存的文件的位置; /var/lib/yum /var/lib/yum/plugins ...... [[email protected] ~]$
cache的位置)参考1:https://blog.csdn.net/windone0109/article/details/15813353
yum-fastestmirror)参考2:https://www.cnblogs.com/xiaoshi1991/archive/2012/09/18/2690398.html
使用国内的源)参考3:https://www.jianshu.com/p/281ee3db7c15
时间:2020-11-04