飘零的叶子 發表於 2023-9-14 00:00:00

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

<p>
        <strong>一、yum 简介</strong></p>
<p>
        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 并加以分析,才能自动化地完成余下的任务。</p>
<p>
        yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了linux 用户一直头痛的dependencies 的问题。这一点上,yum 和apt 相同。apt 原为debian 的deb 类型软件管理所使用,但是现在也能用到redhat 门下的rpm 了。</p>
<p>
        yum 主要功能是更方便的添加/删除/更新rpm 包,自动解决包的倚赖性问题,便于管理大量系统的更新问题。</p>
<p>
        yum 可以同时配置多个资源库(repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm 包时遇到的依赖性问题,保持与rpm 数据库的一致性。</p>
<p>
        <strong>二、yum 安装</strong></p>
<p>
        centos 默认已经安装了yum,不需要另外安装,这里为了实验目的,先将yum 卸载再重新安装。</p>
<p>
        1、查看系统默认安装的yum</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_190498">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># rpm -qa|grep yum</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS中yum 源的配置与使用详解" alt="CentOS中yum 源的配置与使用详解" src="https://zhuji.jb51.net/uploads/img/202305/d07589d9863fb98b92c405fc51d10025.jpg"></p>
<p>
        2、卸载yum</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_815705">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># rpm -e yum-fastestmirror-1.1.16-14.el5.centos.1 yum-metadata-parser-1.1.2-3.el5.centos yum-3.2.22-33.el5.centos</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS中yum 源的配置与使用详解" alt="CentOS中yum 源的配置与使用详解" src="https://zhuji.jb51.net/uploads/img/202305/6551083b3829bd49f3f5b56c7cb4af2e.jpg"></p>
<p>
        3、重新安装yum</p>
<p>
        这里可以通过wget 从网上下载相关包安装,也可以挂载系统安装光盘进行安装,这里选择挂载系统安装光盘进行安装。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_801020">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># mount /dev/cdrom /mnt/cdrom/</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                         </div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash comments"># rpm -ivh yum-3.2.22-33.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                         </div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash comments"># yum -v</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        yum 的基础安装包包括:</p>
<ul>
<li>
                yum  //rpm installer/updater</li>
        <li>
                yum-fastestmirror  //yum plugin which chooses fastest repository from a mirrorlist</li>
        <li>
                yum-metadata-parser  //a fast metadata parser for yum</li>
</ul>
<p>
        其他安装包根据自己需要安装。</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS中yum 源的配置与使用详解" alt="CentOS中yum 源的配置与使用详解" src="https://zhuji.jb51.net/uploads/img/202305/5704e81d2fe92f0f6cbc18a916713cdf.jpg"></p>
<p>
        <strong>三、yum 配置</strong></p>
<p>
        yum 的配置文件分为两部分:main 和repository</p>
<ul>
<li>
                main 部分定义了全局配置选项,整个yum 配置文件应该只有一个main。常位于/etc/yum.conf 中。</li>
        <li>
                repository 部分定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d 目录下的各文件中。</li>
</ul>
<p>
        yum.conf 文件一般位于/etc目录下,一般其中只包含main部分的配置选项。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_301415">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># cat /etc/yum.conf</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_220419">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                        <div class="line number19 index18 alt2">
                                                                19</div>
                                                        <div class="line number20 index19 alt1">
                                                                20</div>
                                                        <div class="line number21 index20 alt2">
                                                                21</div>
                                                        <div class="line number22 index21 alt1">
                                                                22</div>
                                                        <div class="line number23 index22 alt2">
                                                                23</div>
                                                        <div class="line number24 index23 alt1">
                                                                24</div>
                                                        <div class="line number25 index24 alt2">
                                                                25</div>
                                                        <div class="line number26 index25 alt1">
                                                                26</div>
                                                        <div class="line number27 index26 alt2">
                                                                27</div>
                                                        <div class="line number28 index27 alt1">
                                                                28</div>
                                                        <div class="line number29 index28 alt2">
                                                                29</div>
                                                        <div class="line number30 index29 alt1">
                                                                30</div>
                                                        <div class="line number31 index30 alt2">
                                                                31</div>
                                                        <div class="line number32 index31 alt1">
                                                                32</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">cachedir=</code><code class="bash plain">/var/cache/yum</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">  </code><code class="bash plain">//yum</code> <code class="bash plain">缓存的目录,yum 在此存储下载的rpm 包和数据库,默认设置为</code><code class="bash plain">/var/cache/yum</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">keepcache=0</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">  </code><code class="bash plain">//</code><code class="bash plain">安装完成后是否保留软件包,0为不保留(默认为0),1为保留</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">debuglevel=2</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">  </code><code class="bash plain">//debug</code> <code class="bash plain">信息输出等级,范围为0-10,缺省为2</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">logfile=</code><code class="bash plain">/var/log/yum</code><code class="bash plain">.log</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">  </code><code class="bash plain">//yum</code> <code class="bash plain">日志文件位置。用户可以到</code><code class="bash plain">/var/log/yum</code><code class="bash plain">.log 文件去查询过去所做的更新。</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">pkgpolicy=newest</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">  </code><code class="bash plain">//</code><code class="bash plain">包的策略。一共有两个选项,newest 和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository 中同时存在,yum 应该安装哪一个,如果是newest,则yum 会安装最新的那个版本。如果是last,则yum 会将服务器</code><code class="bash functions">id</code> <code class="bash plain">以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash plain">distroverpkg=redhat-release</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash plain">  </code><code class="bash plain">//</code><code class="bash plain">指定一个软件包,yum 会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm 包。</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="bash plain">tolerant=1</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="bash plain">  </code><code class="bash plain">//</code><code class="bash plain">有1和0两个选项,表示yum 是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum 不会出现错误信息。默认是0。</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="bash plain">exactarch=1</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="bash plain">  </code><code class="bash plain">//</code><code class="bash plain">有1和0两个选项,设置为1,则yum 只会安装和系统架构匹配的软件包,例如,yum 不会将i686的软件包安装在适合i386的系统中。默认为1。</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="bash plain">retries=6</code>
</div>
                                                                <div class="line number19 index18 alt2">
                                                                        <code class="bash plain">  </code><code class="bash plain">//</code><code class="bash plain">网络连接发生错误后的重试次数,如果设为0,则会无限重试。默认值为6.</code>
</div>
                                                                <div class="line number20 index19 alt1">
                                                                        <code class="bash plain">obsoletes=1</code>
</div>
                                                                <div class="line number21 index20 alt2">
                                                                        <code class="bash plain">  </code><code class="bash plain">//</code><code class="bash plain">这是一个update 的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的rpm包。</code>
</div>
                                                                <div class="line number22 index21 alt1">
                                                                        <code class="bash plain">plugins=1</code>
</div>
                                                                <div class="line number23 index22 alt2">
                                                                        <code class="bash plain">  </code><code class="bash plain">//</code><code class="bash plain">是否启用插件,默认1为允许,0表示不允许。我们一般会用yum-fastestmirror这个插件。</code>
</div>
                                                                <div class="line number24 index23 alt1">
                                                                        <code class="bash plain">bugtracker_url=http:</code><code class="bash plain">//bugs</code><code class="bash plain">.centos.org</code><code class="bash plain">/set_project</code><code class="bash plain">.php?project_id=16&amp;ref=http:</code><code class="bash plain">//bugs</code><code class="bash plain">.centos.org</code><code class="bash plain">/bug_report_page</code><code class="bash plain">.php?category=yum</code>
</div>
                                                                <div class="line number25 index24 alt2">
                                                                         </div>
                                                                <div class="line number26 index25 alt1">
                                                                        <code class="bash comments"># note: yum-rhn-plugin doesn't honor this.</code>
</div>
                                                                <div class="line number27 index26 alt2">
                                                                        <code class="bash plain">metadata_expire=1h</code>
</div>
                                                                <div class="line number28 index27 alt1">
                                                                         </div>
                                                                <div class="line number29 index28 alt2">
                                                                        <code class="bash plain">installonly_limit = 5</code>
</div>
                                                                <div class="line number30 index29 alt1">
                                                                         </div>
                                                                <div class="line number31 index30 alt2">
                                                                        <code class="bash comments"># put your repos here or in separate files named file.repo</code>
</div>
                                                                <div class="line number32 index31 alt1">
                                                                        <code class="bash comments"># in /etc/yum.repos.d</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        除了上述之外,还有一些可以添加的选项,如:</p>
<p>
        exclude=selinux*  // 排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。</p>
<p>
        gpgcheck=1  // 有1和0两个选择,分别代表是否是否进行gpg(gnu private guard) 校验,以确定rpm 包的来源是有效和安全的。这个选项如果设置在部分,则对每个repository 都有效。默认值为0。</p>
<p>
        <strong>四、配置本地yum源</strong></p>
<p>
        1、挂载系统安装光盘</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_192351">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># mount /dev/cdrom /mnt/cdrom/</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        2、配置本地yum源</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_128879">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># cd /etc/yum.repos.d/</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                         </div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash comments"># ls</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        会看到四个repo 文件</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS中yum 源的配置与使用详解" alt="CentOS中yum 源的配置与使用详解" src="https://zhuji.jb51.net/uploads/img/202305/44736d095105d98a4f593102f1587c64.jpg"></p>
<p>
        centos-base.repo 是yum 网络源的配置文件</p>
<p>
        centos-media.repo 是yum 本地源的配置文件</p>
<p>
        修改centos-media.repo</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_890280">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># cat centos-media.repo</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_47937">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                        <div class="line number19 index18 alt2">
                                                                19</div>
                                                        <div class="line number20 index19 alt1">
                                                                20</div>
                                                        <div class="line number21 index20 alt2">
                                                                21</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># centos-media.repo</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash comments">#</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash comments"># this repo is used to mount the default locations for a cdrom / dvd on</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash comments"># centos-5. you can use this repo and yum to install items directly off the</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash comments"># dvd iso that we release.</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash comments">#</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash comments"># to use this repo, put in your dvd and use it with the other repos too:</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash comments"># yum --enablerepo=c5-media </code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash comments"># </code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash comments"># or for only the media repo, do this:</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash comments">#</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash comments"># yum --disablerepo=\* --enablerepo=c5-media </code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash spaces"> </code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="bash plain"></code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="bash plain">name=centos-$releasever - media</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="bash plain">baseurl=</code><code class="bash functions">file</code><code class="bash plain">:</code><code class="bash plain">///media/centos/</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="bash spaces">  </code><code class="bash functions">file</code><code class="bash plain">:</code><code class="bash plain">///mnt/cdrom/</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="bash spaces">  </code><code class="bash functions">file</code><code class="bash plain">:</code><code class="bash plain">///media/cdrecorder/</code>
</div>
                                                                <div class="line number19 index18 alt2">
                                                                        <code class="bash plain">gpgcheck=1</code>
</div>
                                                                <div class="line number20 index19 alt1">
                                                                        <code class="bash plain">enabled=1</code>
</div>
                                                                <div class="line number21 index20 alt2">
                                                                        <code class="bash plain">gpgkey=</code><code class="bash functions">file</code><code class="bash plain">:</code><code class="bash plain">///etc/pki/rpm-gpg/rpm-gpg-key-centos-5</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        在baseurl 中修改第2个路径为/mnt/cdrom(即为光盘挂载点)</p>
<p>
        将enabled=0改为1</p>
<p>
        <strong>3、禁用默认的yum 网络源</strong></p>
<p>
        将yum 网络源配置文件改名为centos-base.repo.bak,否则会先在网络源中寻找适合的包,改名之后直接从本地源读取。</p>
<p>
        <strong>4、执行yum 命令</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_994189">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># yum install postgresql</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS中yum 源的配置与使用详解" alt="CentOS中yum 源的配置与使用详解" src="https://zhuji.jb51.net/uploads/img/202305/2b3548850088e72e6f4e05437eaff231.jpg"></p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS中yum 源的配置与使用详解" alt="CentOS中yum 源的配置与使用详解" src="https://zhuji.jb51.net/uploads/img/202305/690459575e8938297027f61193804755.jpg"></p>
<p>
        <strong>关于repo 文件的格式</strong></p>
<p>
        所有repository 服务器设置都应该遵循如下格式:</p>
<p>
        <br>
        name=some name for this server<br>
        baseurl=url://path/to/repository/</p>
<ul>
<li>
                serverid 是用于区别各个不同的repository,必须有一个独一无二的名称;</li>
        <li>
                name 是对repository 的描述,支持像$releasever $basearch这样的变量;</li>
        <li>
                baseurl 是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:</li>
</ul>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_893526">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">baseurl=url://server1/path/to/repository/</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">     url://server2/path/to/repository/</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">     url://server3/path/to/repository/</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        其中url 支持的协议有 http:// ftp:// file:// 三种。baseurl 后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl 只能有一个,也就是说不能像如下格式:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_905277">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">baseurl=url://server1/path/to/repository/</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">baseurl=url://server2/path/to/repository/</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">baseurl=url://server3/path/to/repository/</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        其中url 指向的目录必须是这个repository header 目录的上一级,它也支持$releasever $basearch 这样的变量。<br>
        url 之后可以加上多个选项,如gpgcheck、exclude、failovermethod 等,比如:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_393223">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain"></code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">name=fedora core $releasever - $basearch - released updates</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">baseurl=http://download.atrpms.net/mirrors/fedoracore/updates/$releasever/$basearch</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain plain">     http://redhat.linux.ee/pub/fedora/linux/core/updates/$releasever/$basearch</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="plain plain">     http://fr2.rpmfind.net/linux/fedora/core/updates/$releasever/$basearch</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="plain plain">gpgcheck=1</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="plain plain">exclude=gaim</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="plain plain">failovermethod=priority</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        其中gpgcheck,exclude 的含义和 部分相同,但只对此服务器起作用,failovermethode 有两个选项roundrobin 和priority,意思分别是有多个url可供选择时,yum 选择的次序,roundrobin 是随机选择,如果连接失败则使用下一个,依次循环,priority 则根据url 的次序从第一个开始。如果不指明,默认是roundrobin。</p>
<p>
        <strong>五、配置国内yum源</strong></p>
<p>
        系统默认的yum 源速度往往不尽人意,为了达到快速安装的目的,在这里修改yum源为国内源。</p>
<p>
        上海交通大学yum源</p>
<p>
        a. 修改/etc/yum.repos.d/centos-base.repo为:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_644217">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                        <div class="line number19 index18 alt2">
                                                                19</div>
                                                        <div class="line number20 index19 alt1">
                                                                20</div>
                                                        <div class="line number21 index20 alt2">
                                                                21</div>
                                                        <div class="line number22 index21 alt1">
                                                                22</div>
                                                        <div class="line number23 index22 alt2">
                                                                23</div>
                                                        <div class="line number24 index23 alt1">
                                                                24</div>
                                                        <div class="line number25 index24 alt2">
                                                                25</div>
                                                        <div class="line number26 index25 alt1">
                                                                26</div>
                                                        <div class="line number27 index26 alt2">
                                                                27</div>
                                                        <div class="line number28 index27 alt1">
                                                                28</div>
                                                        <div class="line number29 index28 alt2">
                                                                29</div>
                                                        <div class="line number30 index29 alt1">
                                                                30</div>
                                                        <div class="line number31 index30 alt2">
                                                                31</div>
                                                        <div class="line number32 index31 alt1">
                                                                32</div>
                                                        <div class="line number33 index32 alt2">
                                                                33</div>
                                                        <div class="line number34 index33 alt1">
                                                                34</div>
                                                        <div class="line number35 index34 alt2">
                                                                35</div>
                                                        <div class="line number36 index35 alt1">
                                                                36</div>
                                                        <div class="line number37 index36 alt2">
                                                                37</div>
                                                        <div class="line number38 index37 alt1">
                                                                38</div>
                                                        <div class="line number39 index38 alt2">
                                                                39</div>
                                                        <div class="line number40 index39 alt1">
                                                                40</div>
                                                        <div class="line number41 index40 alt2">
                                                                41</div>
                                                        <div class="line number42 index41 alt1">
                                                                42</div>
                                                        <div class="line number43 index42 alt2">
                                                                43</div>
                                                        <div class="line number44 index43 alt1">
                                                                44</div>
                                                        <div class="line number45 index44 alt2">
                                                                45</div>
                                                        <div class="line number46 index45 alt1">
                                                                46</div>
                                                        <div class="line number47 index46 alt2">
                                                                47</div>
                                                        <div class="line number48 index47 alt1">
                                                                48</div>
                                                        <div class="line number49 index48 alt2">
                                                                49</div>
                                                        <div class="line number50 index49 alt1">
                                                                50</div>
                                                        <div class="line number51 index50 alt2">
                                                                51</div>
                                                        <div class="line number52 index51 alt1">
                                                                52</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># centos-base.repo</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash comments">#</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash comments"># the mirror system uses the connecting ip address of the client and the</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash comments"># update status of each mirror to pick mirrors that are updated to and</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash comments"># geographically close to the client. you should use this for centos updates</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash comments"># unless you are manually picking other mirrors.</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash comments">#</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash comments"># if the mirrorlist= does not work for you, as a fall back you can try the </code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash comments"># remarked out baseurl= line instead.</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash comments">#</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash comments">#</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                         </div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash plain"></code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="bash plain">name=centos-$releasever - base</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="bash comments">#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=os</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="bash plain">baseurl=http:</code><code class="bash plain">//ftp</code><code class="bash plain">.sjtu.edu.cn</code><code class="bash plain">/centos/</code><code class="bash plain">$releasever</code><code class="bash plain">/os/</code><code class="bash plain">$basearch/</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="bash plain">gpgcheck=1</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="bash plain">gpgkey=</code><code class="bash functions">file</code><code class="bash plain">:</code><code class="bash plain">///etc/pki/rpm-gpg/rpm-gpg-key-centos-5</code>
</div>
                                                                <div class="line number19 index18 alt2">
                                                                         </div>
                                                                <div class="line number20 index19 alt1">
                                                                        <code class="bash comments">#released updates </code>
</div>
                                                                <div class="line number21 index20 alt2">
                                                                        <code class="bash plain"></code>
</div>
                                                                <div class="line number22 index21 alt1">
                                                                        <code class="bash plain">name=centos-$releasever - updates</code>
</div>
                                                                <div class="line number23 index22 alt2">
                                                                        <code class="bash comments">#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=updates</code>
</div>
                                                                <div class="line number24 index23 alt1">
                                                                        <code class="bash plain">baseurl=http:</code><code class="bash plain">//ftp</code><code class="bash plain">.sjtu.edu.cn</code><code class="bash plain">/centos/</code><code class="bash plain">$releasever</code><code class="bash plain">/updates/</code><code class="bash plain">$basearch/</code>
</div>
                                                                <div class="line number25 index24 alt2">
                                                                        <code class="bash plain">gpgcheck=1</code>
</div>
                                                                <div class="line number26 index25 alt1">
                                                                        <code class="bash plain">gpgkey=</code><code class="bash functions">file</code><code class="bash plain">:</code><code class="bash plain">///etc/pki/rpm-gpg/rpm-gpg-key-centos-5</code>
</div>
                                                                <div class="line number27 index26 alt2">
                                                                         </div>
                                                                <div class="line number28 index27 alt1">
                                                                        <code class="bash comments">#additional packages that may be useful</code>
</div>
                                                                <div class="line number29 index28 alt2">
                                                                        <code class="bash plain"></code>
</div>
                                                                <div class="line number30 index29 alt1">
                                                                        <code class="bash plain">name=centos-$releasever - extras</code>
</div>
                                                                <div class="line number31 index30 alt2">
                                                                        <code class="bash comments">#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=extras</code>
</div>
                                                                <div class="line number32 index31 alt1">
                                                                        <code class="bash plain">baseurl=http:</code><code class="bash plain">//ftp</code><code class="bash plain">.sjtu.edu.cn</code><code class="bash plain">/centos/</code><code class="bash plain">$releasever</code><code class="bash plain">/extras/</code><code class="bash plain">$basearch/</code>
</div>
                                                                <div class="line number33 index32 alt2">
                                                                        <code class="bash plain">gpgcheck=1</code>
</div>
                                                                <div class="line number34 index33 alt1">
                                                                        <code class="bash plain">gpgkey=</code><code class="bash functions">file</code><code class="bash plain">:</code><code class="bash plain">///etc/pki/rpm-gpg/rpm-gpg-key-centos-5</code>
</div>
                                                                <div class="line number35 index34 alt2">
                                                                         </div>
                                                                <div class="line number36 index35 alt1">
                                                                        <code class="bash comments">#additional packages that extend functionality of existing packages</code>
</div>
                                                                <div class="line number37 index36 alt2">
                                                                        <code class="bash plain"></code>
</div>
                                                                <div class="line number38 index37 alt1">
                                                                        <code class="bash plain">name=centos-$releasever - plus</code>
</div>
                                                                <div class="line number39 index38 alt2">
                                                                        <code class="bash comments">#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=centosplus</code>
</div>
                                                                <div class="line number40 index39 alt1">
                                                                        <code class="bash plain">baseurl=http:</code><code class="bash plain">//ftp</code><code class="bash plain">.sjtu.edu.cn</code><code class="bash plain">/centos/</code><code class="bash plain">$releasever</code><code class="bash plain">/centosplus/</code><code class="bash plain">$basearch/</code>
</div>
                                                                <div class="line number41 index40 alt2">
                                                                        <code class="bash plain">gpgcheck=1</code>
</div>
                                                                <div class="line number42 index41 alt1">
                                                                        <code class="bash plain">enabled=0</code>
</div>
                                                                <div class="line number43 index42 alt2">
                                                                        <code class="bash plain">gpgkey=</code><code class="bash functions">file</code><code class="bash plain">:</code><code class="bash plain">///etc/pki/rpm-gpg/rpm-gpg-key-centos-5</code>
</div>
                                                                <div class="line number44 index43 alt1">
                                                                         </div>
                                                                <div class="line number45 index44 alt2">
                                                                        <code class="bash comments">#contrib - packages by centos users</code>
</div>
                                                                <div class="line number46 index45 alt1">
                                                                        <code class="bash plain"></code>
</div>
                                                                <div class="line number47 index46 alt2">
                                                                        <code class="bash plain">name=centos-$releasever - contrib</code>
</div>
                                                                <div class="line number48 index47 alt1">
                                                                        <code class="bash comments">#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=contrib</code>
</div>
                                                                <div class="line number49 index48 alt2">
                                                                        <code class="bash plain">baseurl=http:</code><code class="bash plain">//ftp</code><code class="bash plain">.sjtu.edu.cn</code><code class="bash plain">/centos/</code><code class="bash plain">$releasever</code><code class="bash plain">/contrib/</code><code class="bash plain">$basearch/</code>
</div>
                                                                <div class="line number50 index49 alt1">
                                                                        <code class="bash plain">gpgcheck=1</code>
</div>
                                                                <div class="line number51 index50 alt2">
                                                                        <code class="bash plain">enabled=0</code>
</div>
                                                                <div class="line number52 index51 alt1">
                                                                        <code class="bash plain">gpgkey=</code><code class="bash functions">file</code><code class="bash plain">:</code><code class="bash plain">///etc/pki/rpm-gpg/rpm-gpg-key-centos-5</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <strong>关于变量</strong></p>
<ul>
<li>
                $releasever:代表发行版的版本,从部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。</li>
        <li>
                $arch:cpu体系,如i686,athlon等</li>
        <li>
                $basearch:cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。</li>
</ul>
<p>
        b. 导入gpg key</p>
<p>
        yum 可以使用gpg 对包进行校验,确保下载包的完整性,所以我们先要到各个repository 站点找到gpg key,一般都会放在首页的醒目位置,一些名字诸如rpm-gpg-key-centos-5 之类的纯文本文件,把它们下载下来,然后用rpm --import rpm-gpg-key-centos-5 命令将key 导入。</p>
<p>
        c. 执行yum 命令</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS中yum 源的配置与使用详解" alt="CentOS中yum 源的配置与使用详解" src="https://zhuji.jb51.net/uploads/img/202305/98beb52ca40bdf9fac563f011b79bc1e.jpg"></p>
<p>
        其他国内yum源列表如下:</p>
<p>
        1. 企业贡献:<br>
        搜狐开源镜像站:http://mirrors.sohu.com/<br>
        网易开源镜像站:http://mirrors.163.com/</p>
<p>
        2. 大学教学:<br>
        北京理工大学:<br>
        http://mirror.bit.edu.cn (IPv4 only)<br>
        http://mirror.bit6.edu.cn (IPv6 only)<br>
        北京交通大学:<br>
        http://mirror.bjtu.edu.cn (IPv4 only)<br>
        http://mirror6.bjtu.edu.cn (IPv6 only)<br>
        http://debian.bjtu.edu.cn (IPv4+IPv6)<br>
        兰州大学:http://mirror.lzu.edu.cn/<br>
        厦门大学:http://mirrors.xmu.edu.cn/<br>
        清华大学:<br>
        http://mirrors.tuna.tsinghua.edu.cn/ (IPv4+IPv6)<br>
        http://mirrors.6.tuna.tsinghua.edu.cn/ (IPv6 only)<br>
        http://mirrors.4.tuna.tsinghua.edu.cn/ (IPv4 only)<br>
        天津大学:http://mirror.tju.edu.cn/<br>
        中国科学技术大学:<br>
        http://mirrors.ustc.edu.cn/ (IPv4+IPv6)<br>
        http://mirrors4.ustc.edu.cn/<br>
        http://mirrors6.ustc.edu.cn/<br>
        东北大学:<br>
        http://mirror.neu.edu.cn/ (IPv4 only)<br>
        http://mirror.neu6.edu.cn/ (IPv6 only)<br>
        电子科技大学:http://ubuntu.uestc.edu.cn/</p>
<p>
        <strong>六、使用第三方软件库</strong></p>
<p>
        centos/rhel默认的yum软件仓库非常有限,仅仅限于发行版本那几张盘里面的常规包和一些软件包的更新,利用rpmforge,可以增加非常多的第三方rpm软件包。rpmforge库现在已经拥有超过10000种的centos的软件包,被centos社区认为是最安全也是最稳定的一个第三方软件库。</p>
<p>
        <strong>1、安装yum-priorities插件</strong></p>
<p>
        这个插件是用来设置yum在调用软件源时的顺序的。因为官方提供的软件源,都是比较稳定和被推荐使用的。因此,官方源的顺序要高于第三方源的顺序。如何保证这个顺序,就需要安装yum-priorities这插件了。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_111441">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># yum -y install yum-priorities</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
         <img style="max-width:100%!important;height:auto!important;"title="CentOS中yum 源的配置与使用详解" alt="CentOS中yum 源的配置与使用详解" src="https://zhuji.jb51.net/uploads/img/202305/ad45bf891248c6bc0a50b71f86354055.jpg"></p>
<p>
        <strong>2、</strong>安装完yum-priorities插件后需要设置/etc/yum.repos.d/ 目录下的.repo相关文件(如centos-base.repo),在这些文件中插入顺序指令:priority=n (n为1到99的正整数,数值越小越优先)</p>
<p>
        一般配置, , , 的priority=1,, 的priority=2,其他第三的软件源为:priority=n (推荐n&gt;10)</p>
<p>
        以centos-base.repo 为例:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_87064">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">name=centos-$releasever - base</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash comments">#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=os</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">baseurl=http:</code><code class="bash plain">//ftp</code><code class="bash plain">.sjtu.edu.cn</code><code class="bash plain">/centos/</code><code class="bash plain">$releasever</code><code class="bash plain">/os/</code><code class="bash plain">$basearch/</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">gpgcheck=1</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">gpgkey=</code><code class="bash functions">file</code><code class="bash plain">:</code><code class="bash plain">///etc/pki/rpm-gpg/rpm-gpg-key-centos-5</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">priority=1</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <strong>3、下载与安装相应rpmforge的rpm文件包</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_185201">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <strong>4、安装dag的pgp key</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_513359">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># rpm --import http://apt.sw.be/rpm-gpg-key.dag.txt</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <strong>5、验证rpmforge的rpm文件包</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_437584">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># rpm -k rpmforge-release-0.5.2-2.el5.rf.*.rpm</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <strong>6、安装rpmforge的rpm文件包</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_961049">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># rpm -i rpmforge-release-0.5.2-2.el5.rf.i386.rpm</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS中yum 源的配置与使用详解" alt="CentOS中yum 源的配置与使用详解" src="https://zhuji.jb51.net/uploads/img/202305/e321ef63b73fc05d2475ae0138d44360.jpg"></p>
<p>
        <strong>7、设置/etc/yum.repos.d/rpmforge.repo文件中源的级别</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_805200">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># cat rpmforge.repo</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
         </p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_979869">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">### name: rpmforge rpm repository for rhel 5 - dag</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash comments">### url: http://rpmforge.net/</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain"></code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">name = rhel $releasever - rpmforge.net - dag</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">baseurl = http:</code><code class="bash plain">//apt</code><code class="bash plain">.sw.be</code><code class="bash plain">/redhat/el5/en/</code><code class="bash plain">$basearch</code><code class="bash plain">/rpmforge</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">mirrorlist = http:</code><code class="bash plain">//apt</code><code class="bash plain">.sw.be</code><code class="bash plain">/redhat/el5/en/mirrors-rpmforge</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash comments">#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">enabled = 1</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">protect = 0</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">gpgkey = </code><code class="bash functions">file</code><code class="bash plain">:</code><code class="bash plain">///etc/pki/rpm-gpg/rpm-gpg-key-rpmforge-dag</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">gpgcheck = 1</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash plain">priority=12</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <strong>8、测试安装</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_390087">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments"># yum install htop</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS中yum 源的配置与使用详解" alt="CentOS中yum 源的配置与使用详解" src="https://zhuji.jb51.net/uploads/img/202305/1650fac25163480eb16e5008e42f3d2e.jpg"></p>
<p>
        其他第三方软件库如 epel(extra packages for enterprise linux ) 和 rpmfusion 的安装与使用和rpmforge类似,可自行查找资料安装。</p>
<p>
        以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。</p>
<p>
        原文链接:http://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html</p>
頁: [1]
查看完整版本: CentOS中yum 源的配置与使用详解