CentOS yum源设置priority优先查找本地源安装

CentOS的yum在安装时默认是将/etc/yum.repos.d/目录下.repo后缀文件都查找,然后用找到的第一个源。

如果安装有网络的源和光盘cdrom的源,在列表中CentOS-Base.repo被先找到,这里是网络源。那么光盘就不会在被安装。

可以设置文件优先级来让yum先搜索优先级高的,我们设置CentOS-Media.repo文件高,CentOS-Base.repo次之。

安装yum-priorities 来管理优先级

[root@Cent0S7 ]yum -y install yum-priorities 

 文件优先级设置,priority=N # N值为1-99,数字越大,优先级越低.(如果repo文件项里不写priority那默认是99,最低。)

 注意:priority=1这个要放到repo文件的项里,和enabled一样;而不是一个repo文件里放一个priority=1,另一个文件放priority=2就是priority=1文件优先级高了.

以 163.repo和aliyun.repo文件做例子,在[base_aliyun]项下和[base_163]分别放了priority代表,当使用到base里的链接时,优先使用[base_aliyun]项下地址。

其他项也是一样,当然如果有些链接报错感觉没用,直接在项下加入 enabled=0 关闭此项即可。

[root@Cent0S7 ~]# vi /etc/yum.repos.d/aliyun.repo
[base_aliyun]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
priority=1

[updates_aliyun]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful

  

[root@Cent0S7 ~]# vi /etc/yum.repos.d/163.repo
[base_163]
name=CentOS-$releasever - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
priority=2

[updates_163]
name=CentOS-$releasever - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo
=updates
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

启用CentOS-Media 这个光盘源

[root@Cent0S7 ~]# sed -i 's/enabled=0/enabled=1/g' /etc/yum.repos.d/CentOS-Media.repo 

安装httpd来测试:

网络和光盘Iso都设置好,没有设置优先级:

可以看到 Repository里是base也就是网络的源。

[root@Cent0S7 yum.repos.d]# yum install httpd                      
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * c7-media: 
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check

----   中间略  ---- Dependencies Resolved ===================================================================================================================== Package Arch Version Repository Size ===================================================================================================================== Installing: httpd x86_64 2.4.6-97.el7.centos updates 2.7 M Installing for dependencies: apr x86_64 1.4.8-7.el7 base 104 k apr-util x86_64 1.5.2-6.el7 base 92 k httpd-tools x86_64 2.4.6-97.el7.centos updates 93 k mailcap noarch 2.1.41-2.el7 base 31 k Transaction Summary ===================================================================================================================== Install 1 Package (+4 Dependent packages) Total download size: 3.0 M Installed size: 10 M Is this ok [y/d/N]:

  

设置优先级后:

可以看到先搜索c7-media 也就是光盘里 c7-media是repo文件里设置的name可以随意改。

[root@Cent0S7 yum.repos.d]# yum install httpd                        
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * c7-media: 
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
10867 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check

---- 中间略 ---- Dependencies Resolved ===================================================================================================================== Package Arch Version Repository Size ===================================================================================================================== Installing: httpd x86_64 2.4.6-93.el7.centos c7-media 2.7 M Installing for dependencies: apr x86_64 1.4.8-5.el7 c7-media 103 k apr-util x86_64 1.5.2-6.el7 c7-media 92 k httpd-tools x86_64 2.4.6-93.el7.centos c7-media 92 k mailcap noarch 2.1.41-2.el7 c7-media 31 k Transaction Summary ===================================================================================================================== Install 1 Package (+4 Dependent packages) Total download size: 3.0 M Installed size: 10 M Is this ok [y/d/N]:

 查看列表

[root@Cent0S7 ]# yum repolist 

 统计安装包个数

[root@Cent0S7 ]# yum list | wc -l
10498

  

 脚本安装:

[root@Cent0S7 ]# cat <<EOF | sudo tee  yum-localrepo.sh
#! /bin/bash

mkdir -p /media/cdrom/
mount /dev/cdrom /media/cdrom/

echo "/dev/cdrom    /mnt/cdrom     iso9660     defaults    0   0" >> /etc/fstab
sed -i 's/enabled=0/enabled=1/g' /etc/yum.repos.d/CentOS-Media.repo
echo "priority=1" >> /etc/yum.repos.d/CentOS-Media.repo
echo "priority=2" >> /etc/yum.repos.d/CentOS-Base.repo

yum -y install yum-priorities
yum makecache
EOF

  

执行脚本:

[root@CentOs7]# sh yum-localrepo.sh 

  

参考:

http://cnblogs.com/mountain2011/p/10224350.html

aliyun
原文地址:https://www.cnblogs.com/wutou/p/14068187.html