yum全称为yellow dog updatemodifier ,基于rpm包管理,完美的解决了安装程序时各程序之间的依赖关系,也就是类似于windows中的一键安装,它可以从指定的本地路径或服务器自动下载rpm包并且安装,于此来说yum作为升级版rpm着实给我们带来了更便捷的操作体验。
但是yum这个命令需要有一些支持,因为我们安装的程序包是需要有来源的,就好似在windows下安装程序需要先从网上下载下来程序包,或者说本地有此程序包,才能使用yum命令来安装此包,所以说,使用yum命令的前提是有程序包,并且这些程序包要有个统一的存放位置,这就引出了yum仓库(yum repo)的概念,yum仓库就是统一存放这些安装包的“库房”,yum仓库分为本地和在线两种仓库,一种是在本地创造yum仓库,这里又分从安装盘读取的和从网上下载后制作的yum仓库,另一种是在服务器端的yum仓库。
服务器端的yum仓库中有元数据和数据(安装包),yum仓库可以有很多个,本地的yum仓库也可有多个,但客户端的yum缓存只有一个,yum缓存是什么呢,客户端中的yum缓存去服务器端下载yum仓库的元数据和数据(安装包),安装包安装完毕后,数据(安装包)清除,但元数据会长期保存,直至本地安装需求与yum仓库中的文件有差异时本地yum缓存与服务器端yum仓库做校验后更新本地缓存中的元数据。本地yum命令执行时可以随意选择从哪个yum仓库中下载安装程序包,这样就减少了每次安装必须遍历所有yum repo的繁琐,可以直接从yum缓存中调用元数据之后下载安装。
yum的配置文件:
指仓库的位置,以及相关的各种配置信息,每个yum命令行可以同时指向多个仓库,仓库之间可以配置优先级等操作,它的配置文件主要有两部分组成
(1) 主配置文件:/etc/yum.conf为各仓库指向提供公共配置信息,也就类似于公共缓存
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
(2) 各仓库的独立的定义:/etc/yum.repos.d/*.repo每个文件中可以配置1-多个仓库
下面简单说一下yum命令的使用方法:
格式:yum [options] [command] [package]
我们可以用yum repolist [all|enabled|disabled]列出已经配置的仓库,其中如不指定repolist后面的参数,默认是enabled。
local | 4.0 kB 00:00 ...
repo id repo name status
local localyum 6,518
repolist: 6,518
以上这些就是我的电脑里有的yum repo
yum clean [package|metadata|expirecache|rpmdb|plugins|all]这些是yum clean 后面可以接的一些选项,主要是清理缓存的命令用法
yuminstall package是安装程序包命令,仅仅需要提供安装包的名称即可,如果一个包在不同仓库里有不同版本,默认安装最新版本,如需安装其他版本可以制定版本号安装
yum reinstallpackage重新安装
yum updatepackage升级
yum downgradepackage降级
yum check-updatepackage查看有哪些可升级版本
yum remove|erasepackage卸载,注:所有依赖于卸载的程序包会一并卸载
yum info package查询程序相关简要信息
yumprovides|whatprovides /PATH/TO/SOMEFILE查询指定文件由哪个安装包生成
这里要注意的是:yum命令一次只能运行一个,是全局事物独占的,不允许其他yum命令运行。
下面说一下yum包组管理
yum grouplist 列出所有包组(查看可能批量安装的列表)
yum groupinfogroup1 [group2]…查看包组的简要信息
yum groupinstallgroup1 [group2]…安装
yum groupremovegroup1 [group2]…卸载
yum groupupdategroup1 [group2]…升级
yum命令的可用选项:就是[options]
-y:自动回答为yes
-q:不显示安装过程
-h:帮助
-
--disablerepo:临时禁用在配置文件中配置并启用的某repository
--enablerepo: 临时启用制定的某repo
--nogpcheck:禁止做包校验
以上就是yum命令基本的一些用法,但是之前说过yum是要有仓库的,我们应该怎么搭建仓库也是个问题,下面了解下本地yum仓库和在线yum仓库制作方法:
本地yum仓库
(1) 使用光盘作为Yum repository
挂在光盘到指定挂载点,如/media/cdrom
用vim编辑一个本地yum配置文件/etc/yum.repo.d/localyum.repo
[local]
name=localyum
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
清除缓存,用yumrepolist重新加载配置文件即可
(2) 在ftp服务器上使用mget *.rpm 一次把所有安装包都下载到本地
使用createrepo /PATH/TO/SOMEFILE将下载的文件目录做成yum仓库后编辑配置文件,接下来的和上面相同
在线yum仓库
这个只需要指定一下服务器上的yum仓库位置即可。
结束,写的匆忙,有些不是很详细,看往上还有很多其他的可用的东西,以后慢慢添加。