yum 构成简介
C/S架构:Client --> Server
yum仓库
base库:通常为系统发行版所提供的程序包
updates库:
extra库:
epel库:
数据:各个rpm包;元数据:数据文件包名、版本信息、各包所包含的文件列表、依赖关系、包分组信息centos5: xml, centos6,7: sqlitecreaterepo: 制作yum仓库元数据的工具yum客户端:
指供repo配置文件,指明仓库访问路径及各种属性信息
主配置文件(中心配置文件):/etc/yum.conf
一个或几个相关仓库的配置信息可保存为一个文件,文件名都以.repo结尾:/etc/yum.repos.d/
在.repo文件定义一个yum repo指向的格式:
[REPOID]
name=Some name for this repository
baseurl=file:///media/cdrom
ftp://172.16.0.1/pub/ftp/centos
Must be a URL to the directory where the yum repository's 'repodata' directory lives
enabled={0|1}
gpgcheck={0|1}
gpgkey=URL
mirrorlist=URL to a file
mirrorlist Specifies a URL to a file containing a list of baseurls
cost={1..n}
默认为1000,指定访问此仓库的开销
安装程序包第一步:获取仓库元数据,缓存于本地:/var/cache/yum第二步:安装程序包:yum客户端程序在本地分析元数据文件,并结合本地系统环境(已安装的包)做出要安装的程序包的决策第三步:获取程序包: 根据决策联系Yum仓库,下载各程序包缓存于本地后,一并进行安装;
yum客户端命令的使用
1、列出所有可用repoyum repolist {enabled|disabled|all}2、列出rpm包yum list {all|installed|available} yum list KEYWORD*3、包的描述信息yum info package_name4、列出所有的包组信息yum grouplist5、显示包组的信息:例如组中包含的程序包列表yum groupinfo "GROUP NAME"CentOS6 跟开发相关的包组:Development ToolsServer Platform DevelopmentDesktop Platform Development6、清理缓存yum clean {all|packages|metadata|expire-cache|rpmdb|plugins}7、安装程序包yum install package_name重新安装:yum reinstall package_name8、升级yum check-update: 检查可用的升级包yum update package_namex-1.3.1x-1.3.2, x-1.3.3, x-2.0.1yum update x-1.3.2yum downgrade package_name9、卸载yum remove|erase package_name10、查询某文件是由哪个包安装生成的yum whatprovides|provides /path/to/somefile11、安装包组yum groupinstall "GROUP NAME"12、卸载包组yum groupremove "GROUP NAME"假设:从其它处获得一个rpm包,如果此包依赖于其它包(在仓库中),如何安装?如果仅是单次安装需要: yum install /path/to/packe_file
自建yum仓库
自建提供yum仓库的中心服务器 ftp, http, nfshttp为例,创建步骤:(1) 安装httpd程序,并启动服务# rpm -ivh httpd- 或者# yum install httpd 启动服务# service httpd start# chkconfig httpd on (2) httpd的文档根目录为/var/www/html:创建子目录,存放某相关的所有rpm包(3) 为仓库生成元数据文件,以使能够作为仓库使用# rpm -ivh createrepo- 或者# yum install createrepo # createrepo /path/to/rpm_repo/ (4) 配置yum客户端使用此仓库即可