update, Yellowdog Update Modifier, YUM yum是什么? yum是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无需繁琐的一次次下载、安装。yum是基于yum数据库,它所支持的文件服务有4种,可以使用ftp、web、nfs还可使用本地文件file。yum实际是存储rpm包的仓库,它有一个缓存,缓存yum仓库中的元数据文件。 为什么使用yum软件包管理器? rpm包的安装有一个很大的缺点就是文件的关联性太大,有时候装一个软件要安装很多其它的软件包,很麻烦,所以为此RedHat开发了yum安装方法,可以彻底解决关联性的问题。 yum repository: yum仓库 存储了众多rpm包,以及包的相关元数据的文件(放在repodata目录中)服务器 文件服务: http:// 【这两个//表示转义符】 ftp:// 【这两个//表示转义符】 nfs:// 【这两个//表示转义符】 file:/// 【后一个/表示本地路径的根】 yum客户端: 配置文件:指向仓库的位置以及各种配置信息;每个yum客户可以有多个可用的yum仓库; 主配置文件:/etc/yum.conf /etc/yum.repos.d/*.repo 仓库定义: [REPO_ID] 仓库ID,标识符 name=REPO description 描述符 baseurl=ftp://172.16.0.1/pub/CentOS6/ 仓库具体所在路径 enabled={1|0} 表示当前仓库是否被使用,默认为1启用 gpgcheck={1|0} 是否以gpg格式来验证数据的完整性,如果为1时,必须指定gpgkey=file的具体路径 gpgkey=ftp://172.16.0.1/pub/CentOS6/gpg-key 表示gpg具体的指定路径,这个路径可能在ftp、web上,也可能在本地路径上,要指定清楚 yum命令: yum [options] [command] [package ...] yum仓库相关的命令: 列出所有可用仓库:# yum repolist 列出所有程序包: # yum list {all|installed|available} 支持 globbing通配符:* 列出所有包组 : # yum grouplist 缓存管理: # yum clean {all|packages} # yum makecache 安装:yum install PACKAGE_NAME ... 如果要安装指定的版本的程序:yum install PACKAGE-VERSION 重装指定的程序包:yum reinstall PACKAGE_NAME ... 升级:yum update PACKAGE_NAME 如果有多个版本的升级包可用,且仅期望升级到指定版本: yum update PACKAGE-VERSION 降级:yum downgrade PACKAGE_NAME 检查可用升级:yum check-update 卸载:yum erase|remove PACKAGE_NAME 依赖于指定程序包的其它包,会被一并卸载; 查询:yum list yum info PACKAGE_NAME yum search KEYWORD: 根据关键字模糊查询包名或包的sumary信息包含此KEYWORD的相关列表; yum provides|whatprovides /path/to/somefile 包组管理: 显示所有包组:yum grouplist 显示某包组的相关信息:yum groupinfo "GROUP_NAME" 安装包组: yum groupinstall "GROUP_NAME" yum install @GROUP_NAME 卸载包组: yum groupremove "GROUP_NAME" yum remove @"GROUP_NAME" 升级包组: yum groupupdate "GROUP_NAME" yum命令还可用安装本地rpm包文件: yum localinstall /path/to/rpm_package_file ... CentOS 7: yum install /path/to/rpm_package_file ... 选项: --enablerepo= 后跟repoID表示启用某yum仓库 --disablerepo= 后跟repoID表示禁用某yum仓库 注意:优先级高于/etc/yum.repos.d/*.repo配置文件中定义的属性; -y: 自动回答为yes --nogpgcheck 如何构建yum仓库:createrepo yum客户端配置的高级用法: 1、在yum客户定义仓库时可使用cost定义仓库的使用开销,默认为1000; 2、baseurl中指定路径时可使用变量 $releasever: 当前OS发行版的主版本号 $arch: 平台 $basearch: 基础平台,例如i686,i586,i486,i386系列的基础平台都是i386; $YUM0-$YUM9 例如:http://mirrors.sohu.com/centos/$releasever/os/$basearch 3、可以使用mirrorlist指令替换baseurl: 指向一个URL,此URL是一个文本文件,其中保存了大量镜像服务器列表;用户使用yum仓库时,会获取此列表文件,而后通过fastestmirror插件判断哪一个镜像为访问速度最快的服务器,并以之做为本次访问的baseurl; |
|