CentOS中yum 源的配置与使用详解

  一、yum 简介

  yum,是yellow dog updater, modified 的简称,是杜克大学为了提高rpm 软件包安装性而开发的一种软件包管理器。起初是由yellow dog 这一发行版的开发者terra soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的linux@duke 开发团队进行改进,遂有此名。yum 的宗旨是自动化地升级,安装/移除rpm 包,收集rpm 包的相关信息,检查依赖性并自动提示用户解决。yum 的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http 或ftp 站点,也可以是本地软件池,但必须包含rpm 的header,header 包括了rpm 包的各种信息,包括描述,功能,提供的文件,依赖性等。正是收集了这些header 并加以分析,才能自动化地完成余下的任务。

  yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了linux 用户一直头痛的dependencies 的问题。这一点上,yum 和apt 相同。apt 原为debian 的deb 类型软件管理所使用,但是现在也能用到redhat 门下的rpm 了。

  yum 主要功能是更方便的添加/删除/更新rpm 包,自动解决包的倚赖性问题,便于管理大量系统的更新问题。

  yum 可以同时配置多个资源库(repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm 包时遇到的依赖性问题,保持与rpm 数据库的一致性。

  二、yum 安装

  centos 默认已经安装了yum,不需要另外安装,这里为了实验目的,先将yum 卸载再重新安装。

  1、查看系统默认安装的yum

  ?

  1

  2、卸载yum

  ?

  1

  3、重新安装yum

  这里可以通过wget 从网上下载相关包安装,也可以挂载系统安装光盘进行安装,这里选择挂载系统安装光盘进行安装。

  ?

  1

  2

  3

  4

  5

  yum 的基础安装包包括:

  其他安装包根据自己需要安装。

  三、yum 配置

  yum 的配置文件分为两部分:main 和repository

  yum.conf 文件一般位于/etc目录下,一般其中只包含main部分的配置选项。

  ?

  1

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  15

  16

  17

  18

  19

  20

  21

  22

  23

  24

  25

  26

  27

  28

  29

  30

  31

  32

  除了上述之外,还有一些可以添加的选项,如:

  exclude=selinux*  // 排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。

  gpgcheck=1  // 有1和0两个选择,分别代表是否是否进行gpg(gnu private guard) 校验,以确定rpm 包的来源是有效和安全的。这个选项如果设置在[main]部分,则对每个repository 都有效。默认值为0。

  四、配置本地yum源

  1、挂载系统安装光盘

  ?

  1

  2、配置本地yum源

  ?

  1

  2

  3

  会看到四个repo 文件

  centos-base.repo 是yum 网络源的配置文件

  centos-media.repo 是yum 本地源的配置文件

  修改centos-media.repo

  ?

  1

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  15

  16

  17

  18

  19

  20

  21

  在baseurl 中修改第2个路径为/mnt/cdrom(即为光盘挂载点)

  将enabled=0改为1

  3、禁用默认的yum 网络源

  将yum 网络源配置文件改名为centos-base.repo.bak,否则会先在网络源中寻找适合的包,改名之后直接从本地源读取。

  4、执行yum 命令

  ?

  1

  关于repo 文件的格式

  所有repository 服务器设置都应该遵循如下格式:

  [serverid]

  name=some name for this server

  baseurl=url://path/to/repository/

  ?

  1

  2

  3

  其中url 支持的协议有 http:// ftp:// file:// 三种。baseurl 后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl 只能有一个,也就是说不能像如下格式:

  ?

  1

  2

  3

  其中url 指向的目录必须是这个repository header 目录的上一级,它也支持$releasever $basearch 这样的变量。

  url 之后可以加上多个选项,如gpgcheck、exclude、failovermethod 等,比如:

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  其中gpgcheck,exclude 的含义和[main] 部分相同,但只对此服务器起作用,failovermethode 有两个选项roundrobin 和priority,意思分别是有多个url可供选择时,yum 选择的次序,roundrobin 是随机选择,如果连接失败则使用下一个,依次循环,priority 则根据url 的次序从第一个开始。如果不指明,默认是roundrobin。

  五、配置国内yum源

  系统默认的yum 源速度往往不尽人意,为了达到快速安装的目的,在这里修改yum源为国内源。

  上海交通大学yum源

  a. 修改/etc/yum.repos.d/centos-base.repo为:

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  15

  16

  17

  18

  19

  20

  21

  22

  23

  24

  25

  26

  27

  28

  29

  30

  31

  32

  33

  34

  35

  36

  37

  38

  39

  40

  41

  42

  43

  44

  45

  46

  47

  48

  49

  50

  51

  52

  关于变量

  b. 导入gpg key

  yum 可以使用gpg 对包进行校验,确保下载包的完整性,所以我们先要到各个repository 站点找到gpg key,一般都会放在首页的醒目位置,一些名字诸如rpm-gpg-key-centos-5 之类的纯文本文件,把它们下载下来,然后用rpm --import rpm-gpg-key-centos-5 命令将key 导入。

  c. 执行yum 命令

  其他国内yum源列表如下:

  1. 企业贡献:

  搜狐开源镜像站:http://mirrors.sohu.com/

  网易开源镜像站:http://mirrors.163.com/

  2. 大学教学:

  北京理工大学:

  http://mirror.bit.edu.cn (IPv4 only)

  http://mirror.bit6.edu.cn (IPv6 only)

  北京交通大学:

  http://mirror.bjtu.edu.cn (IPv4 only)

  http://mirror6.bjtu.edu.cn (IPv6 only)

  http://debian.bjtu.edu.cn (IPv4+IPv6)

  兰州大学:http://mirror.lzu.edu.cn/

  厦门大学:http://mirrors.xmu.edu.cn/

  清华大学:

  http://mirrors.tuna.tsinghua.edu.cn/ (IPv4+IPv6)

  http://mirrors.6.tuna.tsinghua.edu.cn/ (IPv6 only)

  http://mirrors.4.tuna.tsinghua.edu.cn/ (IPv4 only)

  天津大学:http://mirror.tju.edu.cn/

  中国科学技术大学:

  http://mirrors.ustc.edu.cn/ (IPv4+IPv6)

  http://mirrors4.ustc.edu.cn/

  http://mirrors6.ustc.edu.cn/

  东北大学:

  http://mirror.neu.edu.cn/ (IPv4 only)

  http://mirror.neu6.edu.cn/ (IPv6 only)

  电子科技大学:http://ubuntu.uestc.edu.cn/

  六、使用第三方软件库

  centos/rhel默认的yum软件仓库非常有限,仅仅限于发行版本那几张盘里面的常规包和一些软件包的更新,利用rpmforge,可以增加非常多的第三方rpm软件包。rpmforge库现在已经拥有超过10000种的centos的软件包,被centos社区认为是最安全也是最稳定的一个第三方软件库。

  1、安装yum-priorities插件

  这个插件是用来设置yum在调用软件源时的顺序的。因为官方提供的软件源,都是比较稳定和被推荐使用的。因此,官方源的顺序要高于第三方源的顺序。如何保证这个顺序,就需要安装yum-priorities这插件了。

  ?

  1

  2、安装完yum-priorities插件后需要设置/etc/yum.repos.d/ 目录下的.repo相关文件(如centos-base.repo),在这些文件中插入顺序指令:priority=n (n为1到99的正整数,数值越小越优先)

  一般配置[base], [addons], [updates], [extras] 的priority=1,[centosplus], [contrib] 的priority=2,其他第三的软件源为:priority=n (推荐n>10)

  以centos-base.repo 为例:

  ?

  1

  2

  3

  4

  5

  6

  7

  3、下载与安装相应rpmforge的rpm文件包

  ?

  1

  4、安装dag的pgp key

  ?

  1

  5、验证rpmforge的rpm文件包

  ?

  1

  6、安装rpmforge的rpm文件包

  ?

  1

  7、设置/etc/yum.repos.d/rpmforge.repo文件中源的级别

  ?

  1

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  8、测试安装

  ?

  1

  其他第三方软件库如 epel(extra packages for enterprise linux ) 和 rpmfusion 的安装与使用和rpmforge类似,可自行查找资料安装。

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

  原文链接:http://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html

  本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhuji.jb51.net/centos/1224.html