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

yum小叙

时间:2015-04-17 11:53:59      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:yum

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仓库位置即可。

 

结束,写的匆忙,有些不是很详细,看往上还有很多其他的可用的东西,以后慢慢添加。


yum小叙

标签:yum

原文地址:http://cthlj.blog.51cto.com/9694348/1633667

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