yum 运行原理
yum的工作需要两部分来合作,一部分是yum服务器,还有就是client的yum工具。下面分别介绍两部分工作原理。
-
yum服务器
所有要发行的rpm包都放在yum服务器上以提供别人来下载,rpm包根据kernel的版本号,cpu的版本号分别编译发布。yum服务器只要提供简单的下载就可以了,ftp或者httpd的形式都可以。yum服务器有一个最重要的环节就是整理出每个rpm包的基本信息,包括rpm包对应的版本号,conf文件,binary信息,以及很关键的依赖信息。在yum服务器上提供了createrepo工具,用于把rpm包的基本概要信息做成一张"清单",这张"清单""就是描述每个rpm包的spec文件中信息。
-
yum 客户端
client每次调用yum install或者search的时候,都会去解析/etc/yum.repos.d下面所有以.repo结尾的配置文件,这些配置文件指定了yum服务器的地址。yum会定期去"更新"yum服务器上的rpm包"清单",然后把"清单"下载保存到yum自己的cache里面,根据/etc/yum.conf里配置(默认是在/var/cache/yum下面),每次调用yum装包的时候都会去这个cache目录下去找"清单",根据"清单"里的rpm包描述从而来确定安装包的名字,版本号,所需要的依赖包等,然后再去yum服务器下载rpm包安装。(前提是不存在rpm包的cache)
yum的使用
1 查询:
# yum search raid //搜索某个软件名称或者描述的重要关键字
# yum info mdadm //列出软件功能
# yum list //列出yum服务器上面所有的软件名称
# yum list pam* //找出以pam开头的软件名称
# yum list updates //列出yum服务器上可提供本机进行升级的软件
2 安装/升级:
# yum install/update 软件名称
# yum install 软件名称 -y //安装过程中免输入y确认
- 权限不够可以在命令前加sudo
3 删除:
# yum remove 软件名称
4 软件组功能:
# yum grouplist //查看容器和本机上可用与安装过的软件组
# yum groupinfo group_name //查看group内所有组名称
# yum install/remove group_name //安装与删除
全系统升级:
yum -y update 升级所有包,改变软件设置和系统设置,系统版本内核都升级
yum -y upgrade 升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变
已经上线的用yum -y upgrade 比较稳
全新的用yum -y update 会更好