Linux程序包管理之yum
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;
本文出自 “囊萤映雪” 博客,请务必保留此出处http://664778789.blog.51cto.com/7534952/1582778
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。