首页 > 代码库 > yum
yum
yum Yellowdog Uupdate Modifier
yum 属于C/S架构,从yum仓库中获取所需的软件包。yum仓库中存储两类数据。软件包本身和包的元数据。数据就是各个rpm包本身。元数据包括:包名,版本信息,各包所包含的文件列表,包之间的依赖关系,包分组信息
centos5 使用的xml来保存这元数据,而centos6以上使用一个关系型数据库sqlite保存元数据。
yum安装软件请求过程
第一步:获取元数据,缓存于本地。/var/cache/yum
第二步:yum客户端程序在本地分析元数据文件,并结合本地系统环境(查看本地都安装了那些包)获取依赖关系。然后分析需要那些依赖的程序包
第三步:根据分析的结果,联系yum仓库下载各个程序包后,一并安装。
第四步:删除下载的数据包,以释放空间。
yum仓库的各类,以级优先级。
base库通常为发行版光盘中所提供的程序包
updates库 最新的软件更新包。
epel库是fedora的仓库
优先级为,base , updates, epel
extra库,其它不常用的包
使用yum机制
1,确保有yum repo可用,常用的网络源有搜狐 http://mirrors.sohu.com 网易http://mirrors.163.com 。 rpm包的文件服务器上repodata目录的父目录便是可用的仓库
rpm访问时使用的协议有ftp,http,nfs,文件协议(file:///)
2,yum客户端
提供repo配置文件,主配置文件在/etc/yum.conf。,yum仓库配置文件在/etc/yum.repo.d/*.repo
yum仓库配置格式
[REPOID]
name=仓库描述
baseurl=file:///mnt/cdrom
ftp://172.16.0.1/pub/ftp/centos
enable={0|1}如果不定义,默认为启用些配置文件
gpgcheck={0|1}1表示检测0为不检测
gpgkey=url #指定key文件的位置
mirrorlist=url to a file#这个文件中有多个镜像列表
cost=1000#如果指定了多个仓库,指定一个访问的开销。范围1-1000,默认为1000
yum 客户端命令的子命令
repolist {enable|disabled|all} 列出可用的repo仓库名
list {all|installed|avail} 列出仓库中的软件包,all全部,installed已安装的,available为可以安装的
示例:yum list php* 这句命令可以显示已经安装与可安装的包
info 软件包名称:查看软件包的描述信息,无论安装过与未安装过的包都会显示
grouplist 显示软件包组信息。
groupinfo “包组名” :显示包组属性信息,包组名要用隐号隐起来
CentOS6 与开发相关的包组
Development Tools
Server Platform Development
Desktop Platform Development
clean all 清理缓存
install 安装程序包,后面跟上软件包名。
yum installl <包的绝对路径> 这种方法可以安装不属于仓库中的软件包,但会解决依赖关系。前师是仓库中有此包所需的包。适用centos6。
groupinstall 安装包组,后面要跟上包组名,包组要用双隐号隐起来
reinstall 重新安装软件包,后面跟上软件包名。
update 升级软件包,后面跟上要升级的软件包名。
可以直接跟上软件包的名称和版本号,直接升级到指定版本。
downgrade 降级软件版本,后面跟上指定的软件版
remove 卸载软件包,如果其它软件包依赖此软件包,其它软件包也会被卸载
erase 卸载软件包
whatprovides 查询某个文件由那个软件包生成的
provides 同上
groupremove 卸载包组,包组要用双隐号隐起来
check-update 检查可用的升级包。
yum仓库建仓
前题需要一个文件共享服务器,把rpm包放在文件服务器上的一个目录下,并用createrepo命令创建yum库。然后把客户端向此yum源
把rpm包都复制到文件服务的目录里,然后需要安装createrepo命令的软件包,
#yum install createrepo-0.9.9-18.el6.noarch.rpm #createrepo /data/yum/
配置客户端使用此仓库就可以了
[test] name=test baseurl=http://192.168.1.66:8000/yum/ http://172.16.2.100:8000/yum/ enable=1 gpgcheck=1 gpgkey=http://192.168.1.66:8000/yum/RPM-GPG-KEY-CentOS-6
本文出自 “红颜易逝豪情长” 博客,请务必保留此出处http://wukui.blog.51cto.com/1080241/1440117
yum