码迷,mamicode.com
首页 > 其他好文 > 详细

yum

时间:2014-07-19 12:28:24      阅读:218      评论:0      收藏:0      [点我收藏+]

标签: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

标签:yum

原文地址:http://wukui.blog.51cto.com/1080241/1440117

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!