YUM软件包管理工具与yum命令的详细介绍
<p><span><strong>一、yum介绍</strong></span></p>
<p>
Yum (Yellow dog Updater, Modified) 是一个在 Fedora 中的字符前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。</p>
<p>
rpm命令只能安装下载到本的.rpm格式的安装包,但是rpm并不能处理软件包之间的依赖关系,尤其是软件由多个.rpm包组成时,这时可以使用yum。</p>
<p>
yum的主要是更方便的添加、删除、更新RPM包,自动解决软件包之间的依赖关系,方便系统更新及软件管理。yum通过软件仓库(repository)进行软件的下载、安装等,软件仓库可以是一个HTTP或FTP站点,也可以是一个本软件池,资源仓库也可以是多个,在/etc/yum.conf文件中进行相关配置即可。在yum的资源库中,会包括rpm的头信息(header),头信息中包括了软件的功能描述、依赖关系等。通过分析这些信息,yum计算出依赖关系并进行相关的升级、安装、删除等操作。</p>
<p>
<span><strong>二、yum命令</strong></span></p>
<p>
命令格式:</p>
<p>
<code>yum COMMAND</code></p>
<p>
命令(COMMAND)列表:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_86258">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain">check 检测 rpmdb 是否有问题</code>
</div>
<div class="line number2 index1 alt1">
<code class="plain plain">check-update 检查可更新的包</code>
</div>
<div class="line number3 index2 alt2">
<code class="plain plain">clean 清除缓存的数据</code>
</div>
<div class="line number4 index3 alt1">
<code class="plain plain">deplist 显示包的依赖关系</code>
</div>
<div class="line number5 index4 alt2">
<code class="plain plain">distribution-synchronization 将已安装的包同步到最新的可用版本</code>
</div>
<div class="line number6 index5 alt1">
<code class="plain plain">downgrade 降级一个包</code>
</div>
<div class="line number7 index6 alt2">
<code class="plain plain">erase 删除包</code>
</div>
<div class="line number8 index7 alt1">
<code class="plain plain">groupinfo 显示包组的详细信息</code>
</div>
<div class="line number9 index8 alt2">
<code class="plain plain">groupinstall 安装指定的包组</code>
</div>
<div class="line number10 index9 alt1">
<code class="plain plain">grouplist 显示可用包组信息</code>
</div>
<div class="line number11 index10 alt2">
<code class="plain plain">groupremove 从系统删除已安装的包组</code>
</div>
<div class="line number12 index11 alt1">
<code class="plain plain">help 删除帮助信息</code>
</div>
<div class="line number13 index12 alt2">
<code class="plain plain">history 显示或使用交互历史</code>
</div>
<div class="line number14 index13 alt1">
<code class="plain plain">info 显示包或包组的详细信息</code>
</div>
<div class="line number15 index14 alt2">
<code class="plain plain">install 安装包</code>
</div>
<div class="line number16 index15 alt1">
<code class="plain plain">list 显示可安装或可更新的包</code>
</div>
<div class="line number17 index16 alt2">
<code class="plain plain">makecache 生成元数据缓存</code>
</div>
<div class="line number18 index17 alt1">
<code class="plain plain">provides 搜索特定包文件名</code>
</div>
<div class="line number19 index18 alt2">
<code class="plain plain">reinstall 重新安装包</code>
</div>
<div class="line number20 index19 alt1">
<code class="plain plain">repolist 显示已配置的资源库</code>
</div>
<div class="line number21 index20 alt2">
<code class="plain plain">resolvedep 指事实上依赖</code>
</div>
<div class="line number22 index21 alt1">
<code class="plain plain">search 搜索包</code>
</div>
<div class="line number23 index22 alt2">
<code class="plain plain">shell 进入yum的shell提示符</code>
</div>
<div class="line number24 index23 alt1">
<code class="plain plain">update 更新系统中的包</code>
</div>
<div class="line number25 index24 alt2">
<code class="plain plain">upgrade 升级系统中的包</code>
</div>
<div class="line number26 index25 alt1">
<code class="plain plain">version 显示机器可用源的版本</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
常用选项(options)列表:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_553876">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain">-h, --help 显示帮助信息</code>
</div>
<div class="line number2 index1 alt1">
<code class="plain plain">-t, --tolerant 容错</code>
</div>
<div class="line number3 index2 alt2">
<code class="plain plain">-C, --cacheonly 完全从系统缓存中运行,不更新缓存</code>
</div>
<div class="line number4 index3 alt1">
<code class="plain plain">-c , --config=</code>
</div>
<div class="line number5 index4 alt2">
<code class="plain spaces"> </code><code class="plain plain">本地配置文件</code>
</div>
<div class="line number6 index5 alt1">
<code class="plain plain">-R , --randomwait=</code>
</div>
<div class="line number7 index6 alt2">
<code class="plain spaces"> </code><code class="plain plain">命令最大等待时间</code>
</div>
<div class="line number8 index7 alt1">
<code class="plain plain">-d , --debuglevel=</code>
</div>
<div class="line number9 index8 alt2">
<code class="plain spaces"> </code><code class="plain plain">设置调试级别</code>
</div>
<div class="line number10 index9 alt1">
<code class="plain plain">-e , --errorlevel=</code>
</div>
<div class="line number11 index10 alt2">
<code class="plain spaces"> </code><code class="plain plain">设置错误等级</code>
</div>
<div class="line number12 index11 alt1">
<code class="plain plain">-q, --quiet 退出运行</code>
</div>
<div class="line number13 index12 alt2">
<code class="plain plain">-v, --verbose 详细模式</code>
</div>
<div class="line number14 index13 alt1">
<code class="plain plain">-y, --assumeyes 对所有交互提问都回答“yes”</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>注:</strong></span>以上可用命令和选项由于yum版本的不同可能会有所有不同</p>
<p>
<span><strong>三、yum使用示例</strong></span></p>
<p>
<strong>3.1 安装</strong></p>
<p>
安装软件时,较常用的安装方式有单独安装、包组安装两种方式:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_342471">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># 安装软件包 foo</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">yum </code><code class="bash functions">install</code> <code class="bash plain">foo</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># 安装 Web server 软件包组</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">yum groupinsall </code><code class="bash string">"Web server"</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>注:</strong></span>groupinsall是一种快捷安装方式,他会将包组中所需的软件包一次性全部安装。如,上例中的"Web server"包组可能会包含:httpd、 crypto-utils等软件包</p>
<p>
<strong>3.2 更新、升级</strong></p>
<p>
对于已安装的程序,可以进行升级操作,有以下几种升级方式:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_621969">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># 检查可用更新</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">yum check-update </code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># 全部更机关报</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">yum update</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash comments"># 更新 foo 软件包</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">yum update foo</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash comments"># 或</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">yum upgrade foo</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash comments"># 升级 Web server 软件包组</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">yum groupupdate </code><code class="bash string">"Web server"</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
更新安装包时,可以使用update或upgrade,二者区别如下:</p>
<ol>
<li>
yum update是更新下载源里面的metadata,包括这个源有什么包、每个包什么版本之类的</li>
<li>
yum upgrade会根据update后的元信息对软件包进行升级</li>
</ol>
<p>
<strong>3.3 删除</strong></p>
<p>
删除时,可以删除单个软件包或软件包组:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_270293">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># 删除软件 foo</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">yum remove foo</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># 删除 Web server 软件包组</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">yum groupremove </code><code class="bash string">"Web server"</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>3.4 查找</strong></p>
<p>
通过search命令可以查找软件包,而info命令可以用来显示软件包信息:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_992444">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># 查找名称包含 foo 的软件包</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">yum search foo</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># 显示名为 foo 的软件包信息</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">yum info foo</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash comments"># 显示软件包 foo 的依赖关系</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">yum deplist foo</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash comments"># 显示软件包组 Web server 的信息</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">yum groupinfo </code><code class="bash string">"Web server"</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash comments"># 显示已安装的软件包 </code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">yum list installed</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>四、yum的配置</strong></span></p>
<p>
YUM的配置文件分为main和repository两部分:</p>
<ol>
<li>
main-这个文件定义了全局配置选项,该文件只有一个。通常位于/etc/yum.conf</li>
<li>
repository-定义了源-服务器的具体配置,可能是一或多个。通常位于/etc/yum.repo.d目录</li>
</ol>
<p>
可以通过以下命令查看yum的配置:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_47626">
<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 functions">cat</code> <code class="bash plain">/etc/yum</code><code class="bash plain">.conf</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
主要配置项如下:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_905411">
<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>
</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><code class="bash plain">$basearch/$releasever</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash spaces"> </code><code class="bash comments"># yum 的缓存目录,用于存储下载的RPM包和数据库</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 spaces"> </code><code class="bash comments"># 安装完成后是否保留软件包,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 spaces"> </code><code class="bash comments"># Debug 信息输出等级,范围为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 spaces"> </code><code class="bash comments"># yum 日志文件位置,用户通过该文件查询做过的更新</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">exactarch=1</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash spaces"> </code><code class="bash comments"># 是否只安装和系统架构匹配的软件包。可选项为:1、0,默认 1。设置为1时不会将i686的软件包安装在适合i386的系统中。</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash plain">obsoletes=1</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash spaces"> </code><code class="bash comments"># update 设置,是否允许更新陈旧的RPM包,相当于upgrade</code>
</div>
<div class="line number14 index13 alt1">
<code class="bash plain">gpgcheck=1</code>
</div>
<div class="line number15 index14 alt2">
<code class="bash spaces"> </code><code class="bash comments"># 是否进行 GPG(GNU Private Guard) 校验,以确定rpm 包的来源是有效和安全。当在这个选项设置在部分,则对每个repository 都有效</code>
</div>
<div class="line number16 index15 alt1">
<code class="bash plain">plugins=1</code>
</div>
<div class="line number17 index16 alt2">
<code class="bash spaces"> </code><code class="bash comments"># 是否启用插件,默认1为允许,0表示不允许</code>
</div>
<div class="line number18 index17 alt1">
<code class="bash plain">exclude=*.i?86 kernel kernel-xen kernel-debug</code>
</div>
<div class="line number19 index18 alt2">
<code class="bash spaces"> </code><code class="bash comments"># 排除某些软件在升级名单之外,可以用通配符,各个项目用空格隔开</code>
</div>
<div class="line number20 index19 alt1">
<code class="bash plain">installonly_limit=5</code>
</div>
<div class="line number21 index20 alt2">
<code class="bash spaces"> </code><code class="bash comments"># 可同时安装多少程序包</code>
</div>
<div class="line number22 index21 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&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 number23 index22 alt2">
<code class="bash spaces"> </code><code class="bash comments"># Bug 追踪路径</code>
</div>
<div class="line number24 index23 alt1">
<code class="bash plain">distroverpkg=centos-release</code>
</div>
<div class="line number25 index24 alt2">
<code class="bash spaces"> </code><code class="bash comments"># 当前发行版版本号</code>
</div>
<div class="line number26 index25 alt1">
</div>
<div class="line number27 index26 alt2">
<code class="bash comments"># PUT YOUR REPOS HERE OR IN separate files named file.repo</code>
</div>
<div class="line number28 index27 alt1">
<code class="bash comments"># in /etc/yum.repos.d</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>五、配置yum源</strong></span></p>
<p>
yum源配置文件通常位于<code>/etc/yum.repo.d</code>目录下,笔录所使用的CentOS 6.3发生版中包含以下几个配置文件:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_759203">
<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>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">$ </code><code class="bash comments"># ll</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">总用量 16</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">-rw-r--r--. 1 root root 1926 6月 26 2012 CentOS-Base.repo</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">-rw-r--r--. 1 root root 637 6月 26 2012 CentOS-Debuginfo.repo</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">-rw-r--r--. 1 root root 626 6月 26 2012 CentOS-Media.repo</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">-rw-r--r--. 1 root root 2593 6月 26 2012 CentOS-Vault.repo</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
其中:</p>
<ol>
<li>
CentOS-Base.repo - 用于配置yum网络源</li>
<li>
CentOS-Media.repo - 用于配置yum本地源</li>
</ol>
<p>
<strong>5.1 启用yum本地源</strong></p>
<p>
编辑CentOS-Media.repo文件:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_306728">
<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 functions">vi</code> <code class="bash plain">CentOS-Media.repo</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_712061">
<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>
</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-6. 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=c6-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=c6-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 comments"># 本地源路径</code>
</div>
<div class="line number17 index16 alt2">
<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 number18 index17 alt1">
<code class="bash spaces"> </code><code class="bash functions">file</code><code class="bash plain">:</code><code class="bash plain">///media/cdrom/</code>
</div>
<div class="line number19 index18 alt2">
<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 number20 index19 alt1">
<code class="bash plain">gpgcheck=1</code>
</div>
<div class="line number21 index20 alt2">
<code class="bash comments"># enabled=0</code>
</div>
<div class="line number22 index21 alt1">
<code class="bash comments"># 启用本地源</code>
</div>
<div class="line number23 index22 alt2">
<code class="bash plain">enabled=1</code>
</div>
<div class="line number24 index23 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-6</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
配置后,修改CentOS-Base.repo中的enabled配置项为<code>enabled=0</code>,或将CentOS-Base.repo文件删除或重命名,就会从本地源安装软件</p>
<p>
<strong>5.2 添加yum网络源</strong></p>
<p>
网络源通地CentOS-Base.repo文件配置,配置一个源包括以下几个部分:</p>
<ol>
<li>
- 源标识,必须唯一</li>
<li>
name - 源名称,支付$releasever等变量名</li>
<li>
mirrorlist或baseurl - 其中,</li>
</ol>
<p>
mirrorlist是一个保存了镜像列表列表的网站</p>
<p>
baseurl是一个包库</p>
<p>
如,以下是CentOS 6.3中的一个配置镜像:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_886352">
<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 - Contrib</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">mirrorlist=http:</code><code class="bash plain">//mirrorlist</code><code class="bash plain">.centos.org/?release=$releasever&arch=$basearch&repo=contrib</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash comments">#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$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">enabled=0</code>
</div>
<div class="line number7 index6 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-6</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>总结</strong></span></p>
<p>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。</p>
頁:
[1]