Loading... <p><strong><span style="font-size: 24px">简介</span></strong></p> <p> yum(Yellow dog Updater Modified)是CentOS中属于RPM前端软件包管理器,能从指定的服务器中下载RPM包,并自动分析和处理RPM包之间的依赖关系,最后将依次所依赖的软件包都安装了,而无需繁琐的一个一个安装。</p> <p></p> <p><strong><span style="font-size: 24px">一 yum repository:yum仓库</span></strong></p> <p>yum仓库的组成部分</p> <p> 1.数据 :包含所有的软件包文件</p> <p> 2.元数据:指的是数据文件:包括每个包的包名、版本信息、各包所包含的文件列表、包与包之间的依赖关系、包的分组信息.</p> <p></p> <p><strong><span style="font-size: 24px">二 yum的配置文件</span></strong></p> <p>yum 的配置文件有2种: </p> <p> /etc/yum.conf:为所有仓库提供公共配置</p> <p> /etc/yum.repos.d/*.repo:为仓库的指向提供配置</p> <ol class=" list-paddingleft-2"> <li> <p>主配置文件路径 /etc/yum.conf </p> <p></p> <p>[main]</p> <p>cachedir=/var/cache/yum/$basearch/$releasever #下载RPM包的缓存目录</p> <p>keepcache=0 #RPM缓存的程序包安装完成后是否保存,0表示不保存,1表示保存</p> <p>debuglevel=2 #调试级别 取值范围 0 – 10,默认值为2</p> <p>logfile=/var/log/yum.log #yum相关日志存放路径</p> <p>exactarch=1 #是否要平台完全匹配才能安装</p> <p>obsoletes=1 #需不需要检查已过期的仓库</p> <p>gpgcheck=1 #是否检查包的完整性和合法性</p> <p>plugins=1 #是否允许支持yum的插件功能,0 表示不允许 ,1表示允许</p> <p>installonly_limit=5 #允许保留多少个内核包</p> </li> </ol> <p>bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum</p> <p>distroverpkg=centos-release #指定一个软件包,yum 会根据这个包判断你的发行版本,默认 是redhat-release</p> <p></p> <p>2.仓库配置文件路径 /etc/yum.repos.d/*.repo</p> <p> [repositoryID] #容器名字,必须是唯一的</p> <p> name=Some name for this repository #仓库的名字,仅作一个标识</p> <p> baseurl=url://path/to/repository/ #指定真正仓库所在的路径,可以指多个仓库 </p> <p> enabled={1|0} #指是否启用这个仓库,1表示启用,0表示不启用</p> <p> gpgcheck={1|0} #是否要检测软件包的合法性,1表示启用,0表示不启用</p> <p> gpgkey=URL #软件包的公钥文件所在路径</p> <p> enablegroups={1|0} #是否基于组来批量管理程序包</p> <p><span class="Apple-tab-span"> </span>failovermethod={roundrobin|priority} #意思是有多个url可供选择时,yum选择的次序,roundrobin是随机选择</p> <p> 默认为:roundrobin,意为随机挑选;</p> <p> cost= #仓库优先级 ,默认为1000 </p> <p></p> <p></p> <p>备注:默认各仓库的用法:</p> <p></p> <p> base库:通常为系统发行版所提供的程序包(就是光盘)</p> <p></p> <p> updates库:存放更新包</p> <p></p> <p> extra库:存放额外包</p> <p></p> <p> epel库:epel库文件</p> <p></p> <p>3.仓库配置文件中的 baseurl 一项可以有多个写法,下面是各写法的格式</p> <p><span class="Apple-tab-span"> </span>ftp://</p> <p><span class="Apple-tab-span"> </span>http://</p> <p><span class="Apple-tab-span"> </span>nfs://</p> <p><span class="Apple-tab-span"> </span>file:///</p> <p><strong><span style="font-size: 24px">三 yum 命令的用法 </span></strong> </p> <p>1.yum查询功能</p> <p> yum [options] [command] [package …]</p> <p> -y:默认yum需要是交互模式,-y表示自动提供yes响应</p> <p></p> <p> search:搜索某个软件名或关键字</p> <p></p> <p> list:列出所有yum所管理的软件包和名称</p> <p></p> <p> info:同上,也类似rpm -qai</p> <p></p> <p> provides:查找该命令是由软件安装生成的,类似rpm -df的功能</p> <p></p> <p> repolist:列出所有可用的repo </p> <p></p> <p>示例1:查询bash 由那个软件生成的。</p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703180708-80.png" title="1454054902982327.png" alt="blob.png" /></p> <p>示例2:查询可用的repo</p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703180708-11.png" title="1454055027905765.png" alt="blob.png" /></p> <p></p> <p>2.yum 安装、升级、降级、卸载功能</p> <p></p> <p> install:后面接需要安装的软件</p> <p> </p> <p> reinstall:后面接需要重新安装的软件</p> <p> </p> <p> update:后面接需要升级到的软件</p> <p> </p> <p> check-update:检查可用的升级包</p> <p> </p> <p> downgrade:后面接需要降级到的版本</p> <p> </p> <p> remove:卸载软件</p> <p> </p> <p> erase:功能同上,卸载</p> <p> </p> <p>示例3:检查可以升级的软件</p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703180709-1.png" title="1454055255632325.png" alt="blob.png" /></p> <p></p> <p>3.和软件组相关的功能</p> <p> yum [组功能] [软件组]</p> <p></p> <p> grouplist:列出所有可使用的组列表</p> <p></p> <p> groupinfo:后面接group name,可用了解该group内含所有组的名称</p> <p></p> <p> groupinstall:安装整组的软件</p> <p></p> <p> groupremove:删除某个组的软件 </p> <p></p> <p>示例4:列出可使用的组列表</p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703180709-52.png" title="1454055515140371.png" alt="blob.png" /></p> <p></p> <p>4.清理缓存</p> <p> yum clean { all | package | headers }</p> <p></p> <p> all:将所有的数据删除,包括元数据和软件文件</p> <p></p> <p> package:将所有已下载的软件文件删除</p> <p></p> <p> headers:删除所有下载的元数据文件</p> <p>5. 构建缓存:</p> <p> yum makecache</p> <p> <span class="Apple-tab-span"> </span>makecache:构建缓存</p> <p></p> <p><strong><span style="font-size: 24px">四 配置本地yum 源</span></strong></p> <ol class=" list-paddingleft-2"> <li> <p>手动创建一个挂在目录/mnt/cdrom</p> <p>mkdir /mnt/cdrom</p> </li> </ol> <p><img src="//cto.wang/usr/uploads/2016/07/20160703180709-86.png" title="1454055947255635.png" alt="blob.png" /></p> <p>2.挂载系统安装光盘</p> <p>mount -r -t iso9660 /dev/cdrom /mnt/cdrom/</p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703180709-97.png" title="1454056418759242.png" alt="blob.png" /></p> <p>3.配置本地yum源配置文件 /etc/yum.repos.d/CentOS-Media.repo </p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703180709-56.png" title="1454056559526286.png" alt="blob.png" style="float: left" /></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p> CentOS-Base.repo 是yum 网络源的配置文件</p> <p> CentOS-Media.repo 是yum 本地源的配置文件</p> <p> 修改CentOS-Media.repo</p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703180709-46.png" title="1454056906262428.png" alt="blob.png" /></p> <p></p> <p>备注:将yum 网络源配置文件改名为CentOS-Base.repo.bak,否则会先在网络源中寻找适合的包,改名之后直接从本地源读取。</p> <p></p> <p><strong><span style="font-size: 24px">五 配置网络yum源</span></strong></p> <ol class=" list-paddingleft-2"> <li> <p>首先备份自己的网络源配置文件</p> <p>cd /etc/yum.repos.d/</p> <p>mv CentOS-Base.repo CentOS-Base.repo.bak</p> </li> </ol> <p><img src="//cto.wang/usr/uploads/2016/07/20160703180709-36.png" title="1454057928893918.png" alt="blob.png" /></p> <p>2.下载阿里云的CentOS-Base.repo配置文件 到/etc/yum.repos.d/</p> <p> wget http://mirrors.aliyun.com/repo/Centos-6.repo</p> <p> cd /etc/yum.repos.d/</p> <p> mv ~/Centos-6.repo .</p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703180709-83.png" title="1454058436610147.png" alt="blob.png" /></p> <p>3.运行yum makecache生成缓存</p> <p> yum clean all</p> <p> yum makecache</p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703180709-24.png" title="1454059753528424.png" alt="blob.png" /></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信