Loading... <h3><span style="font-size: 16px">一、什么是YUM</span></h3> <p><span style="font-size: 14px"> YUM的全称为 Yellowdog Update Modifier,其主要目的是为了解决RPM包安装时的依赖关系的问题。YUM只是一个用于软件安装的前端工具,其主要的服务对象还是RPM软件包。</span></p> <p><span style="font-size: 14px"> YUM采用C/S架构,即客户端与服务器的模式,下面分别进行说明。</span></p> <h3><span style="font-size: 16px">二、YUM客户端</span></h3> <p><span style="font-size: 14px"> 1、工作原理</span></p> <p><span style="font-size: 14px"> 1)获取仓库元数据</span></p> <p><span style="font-size: 14px"> yum会先将仓库的元数据缓存于本地的/var/cache/yum目录中。</span></p> <p><span style="font-size: 14px"> 2)安装程序包</span></p> <p><span style="font-size: 14px"> yum客户端程序在本地分析元数据文件,并结合本地系统环境(已安装的包)做出要安装的程序包的决策。</span></p> <p><span style="font-size: 14px"> 3)获取程序包</span></p> <p><span style="font-size: 14px"> 根据决策联系yum仓库,下载各程序包缓存于本地后,一并进行安装。</span></p> <p><span style="font-size: 14px"> 2、配置客户端</span></p> <p><span style="font-size: 14px"> 1)主配置文件(中心配置文件):/etc/yum.conf。</span></p> <p><span style="font-size: 14px"> 通常不需要进行修改,保持其默认配置即可。</span></p> <p><span style="font-size: 14px"> 2)提供repo配置文件,指明仓库访问路径及各种属性信息。</span></p> <p><span style="font-size: 14px"> 在目录/etc/yum.repos.d/目录中创建.repo文件,其格式如下:</span></p> <p><span style="font-size: 14px"> [REPOID] 任意字符即可;</span></p> <p><span style="font-size: 14px"> name=自定义 任意字符即可;</span></p> <p><span style="font-size: 14px"> baseurl=ftp:// 指明yum仓库的位置,支持服务器的类型包括ftp,nfs,http,file;</span></p> <p><span style="font-size: 14px"> file:/// 当用多个yum仓库时,可在每一行指定一个baseurl;</span></p> <p><span style="font-size: 14px"> enabled={0|1} 是否启用此repo的配置,默认为enabled=1;</span></p> <p><span style="font-size: 14px"> gpgcheck={0|1} 是否启用校验;</span></p> <p><span style="font-size: 14px"> gpgkey=URL 如启用校验,应指明密钥的位置;</span></p> <p><span style="font-size: 14px"> cost={1..n} 默认为1000,指定访问此仓库的开销;</span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160301-75.png" title="1431291411837594.png" alt="1.1.png" /></span></p> <p><span style="font-size: 14px"> 3、yum客户端命令的使用</span></p> <p><span style="font-size: 14px"> 1)列出所有可用repo</span></p> <p><span style="font-size: 14px"> yum repolist {enable|disabled|all}</span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160301-43.png" title="1431291348644286.png" alt="1.png" /></span></p> <p><span style="font-size: 14px"> 2)列出rpm包</span></p> <p><span style="font-size: 14px"> yum list {all|install|available}</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703160301-93.png" title="1431291573791021.png" alt="2.png" /></p> <p><span style="font-size: 14px"> 3)包的描述信息</span></p> <p><span style="font-size: 14px"> yum info Package_name</span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160302-51.png" title="1431291567130553.png" alt="3.png" /></span></p> <p><span style="font-size: 14px"> 4)列出所有包组信息</span></p> <p><span style="font-size: 14px"> yum grouplist</span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160302-17.png" title="1431291621824739.png" alt="4.png" /></span></p> <p><span style="font-size: 14px"> 5)显示包组的信息:例如组中包含的程序包列表</span></p> <p><span style="font-size: 14px"> yum groupinfo “group_name”</span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160302-57.png" title="1431291703119954.png" alt="5.png" /></span></p> <p><span style="font-size: 14px"> 6)清理缓存</span></p> <p><span style="font-size: 14px"> yum clean {all|packages|metadata|expire-cache|rpmdb|plugins}</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703160302-52.png" title="1431291813891800.png" alt="6.png" /></p> <p><span style="font-size: 14px"> 7)安装程序包</span></p> <p><span style="font-size: 14px"> yum install package_name</span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160302-15.png" title="1431291895272734.png" alt="7.png" /></span></p> <p><span style="font-size: 14px"> 8)重新安装程序包</span></p> <p><span style="font-size: 14px"> yum reinstall package_name</span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160302-40.png" title="1431291949209252.png" alt="8.png" /></span></p> <p><span style="font-size: 14px"> 9)升级</span></p> <p><span style="font-size: 14px"> 检查可用的升级包</span></p> <p><span style="font-size: 14px"> yum check-update </span></p> <p><span style="font-size: 14px"> 升级软件包 </span></p> <p><span style="font-size: 14px"> yum update package_name</span></p> <p><span style="font-size: 14px"> 指定软件包升级的版本 </span></p> <p><span style="font-size: 14px"> yum downgrade package_name</span></p> <p><span style="font-size: 14px"> 10)卸载</span></p> <p><span style="font-size: 14px"> yum remove|erase package_name</span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160303-77.png" title="1431292048584145.png" alt="9.png" /></span></p> <p><span style="font-size: 14px"> 11)查询某文件是由哪个包安装生成的</span></p> <p><span style="font-size: 14px"> yum provides filename</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703160303-82.png" title="1431292345768871.png" alt="10.png" /></p> <p><span style="font-size: 14px"> 12)安装包组</span></p> <p><span style="font-size: 14px"> yum groupinstall “group name”</span></p> <p><span style="font-size: 14px"> 13)卸载包组</span></p> <p><span style="font-size: 14px"> yum groupremove “group name”</span></p> <h3><span style="font-size: 16px">三、YUM仓库 </span><span style="font-size: 14px"> </span></h3> <p><span style="font-size: 14px"> 1、yum仓库类型</span></p> <p><span style="font-size: 14px"> base库:通常为系统发行版所提供的程序包。</span></p> <p><span style="font-size: 14px"> updates库:为软件提供更新程序包。</span></p> <p><span style="font-size: 14px"> epel库:提供额外的程序包。</span></p> <p><span style="font-size: 14px"> 2、yum仓库的服务器类型</span></p> <p><span style="font-size: 14px"> ftp服务器</span></p> <p><span style="font-size: 14px"> http服务器</span></p> <p><span style="font-size: 14px"> nfs服务器</span></p> <p><span style="font-size: 14px"> file本地服务器</span></p> <p><span style="font-size: 14px"> 3、自建yum仓库</span></p> <p><span style="font-size: 14px"> yum仓库所在的目录中必须是repodata目录所在的目录,下面来举例说明:<br /></span></p> <p><span style="font-size: 14px"> 1)基于光盘镜像的repo</span></p> <p><span style="font-size: 14px"> 在CentOS 6的光盘镜像中已经制作好了repodata目录,我们只需将yum源的路径指向挂载目录即可。<br /></span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160303-44.png" title="1431292656316211.png" alt="11.png" /></span></p> <p><span style="font-size: 14px"> 此方法适合于创建本地的yum仓库。 </span></p> <p><span style="font-size: 14px"> 2)基于服务器的repo</span></p> <p><span style="font-size: 14px"> 下面以http服务为例创建yum仓库:</span></p> <p><span style="font-size: 14px"> (1)安装httpd程序,并启动服务;</span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160303-31.png" title="1431293041134973.png" alt="13.png" /><img src="//cto.wang/usr/uploads/2016/07/20160703160303-97.png" title="1431293044345889.png" alt="14.png" /></span></p> <p><span style="font-size: 14px"> (2) 在httpd的文档根目录/var/www/html中</span><span style="font-size: 14px">创建子目录,用于存放某相关rpm包;</span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160303-90.png" title="1431293361530255.png" alt="15.png" /></span></p> <p><span style="font-size: 14px"> (3) 为仓库生成元数据文件,以使用能够作为仓库使用</span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160303-1.png" title="1431293806136513.png" alt="16.png" /></span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160303-51.png" title="1431293823131383.png" alt="17.png" /></span></p> <p><span style="font-size: 14px"> (4) 配置yum客户端使用此仓库</span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160304-97.png" title="1431293903877233.png" alt="19.png" /></span></p> <p><span style="font-size: 14px"><img src="//cto.wang/usr/uploads/2016/07/20160703160304-20.png" title="1431293856785696.png" alt="18.png" /></span></p> <p> 使用yum安装hadoop进行测试:</p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703160304-88.png" title="1431294043125712.png" alt="20.png" /><img src="/upload/4zl32hriatp.png" title="1431294048687139.png" alt="21.png" /></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信