YUM
是一个RPM的前段程序,其主要目的是为了自动解决RPM的自动依赖关系。他不像RPM一样, YUM不是一种新的软件封装形式,它是专门用来管理RPM的,其特点如下:
-自动解决依赖关系
-可以对RPM进行分组,并基于组进行安装操作
-引进了仓库的概念,支持多个仓库(后边会说)
-配置简单
YUM的出现是为了解决软件间的依赖关系,那么安装一个软件时候如果依赖另一个软件,YUM会自动寻找这个软件,但是怎么去找呢? 于是就引入了仓库(repo)的概念
YUM仓库
仓库用来存放所有现有的rpm软件包, 当YUM安装一个rpm软件包的时候,如果存在依赖关系,它会在仓库中查找软件并安装, 如果仓库中没有要找的rpm软件包那么yum也就解
决不了该软件的依赖关系。
仓库可以是本地的, 也可以通过HTTP,FTP或者NFS等形式集中的、统一的网络仓库(网上会提供很多YUM仓库的服务器)。
yum使用仓库保存管理rpm软件包,将配置文件存放在 /etc/yum.repos.d/ 下格式如下:
【reponame】 //reponame 为仓库的名字
name = this is repo of huntinggo! //虽然写的是name,但是后边是对仓库的简介
baseurl = http://hehe.com/yum/rpms //这里也可以是本地的目录
enabled = 1 //是不是开启这个配置选项
gpgcheck = 1 //是否打开校验,防止别人修改rpm包
该配置文件的文件名字是随便起的,但是最后必须得以.repo 后缀名结尾
在/etc/yum.repos.d/ 目录下可以有多个配置文件
一个配置文间内可以存放多个仓库信息(也就是上边的5行), 如图:
YUM基本命令
yum install softwarename 安装指定软件
yum remove softwarename 卸载指定软件
yum update softwarename 升级指定软件
YUM查询命令
yum search hehe 查询关键字里变含有hehe的所有rpm软件包的描述
yum list(all/installed/recent/updates) 列出全部,安装过的,最近的,
yum info softwarename 查询软件的信息和rpm -qi 的功能是一样的
yum whatprovides filename 查询那个rpm软件包含目标文件
以上都是说的是baseurl为http 或者其他, 从互联网上下载rpm包,那么怎么创建本地yum仓库呢?
YUM本地仓库
可以通过一下方式手工创建yum仓库:
1.将所有的rpm文件拷到一个文件加下
2.yum不可能每次安装都扫描整个文件夹,太慢了, 必须创建一个索引文件, 通过rpm -ivh安装createrepo
3.通过createrepo -v yum仓库的目录 创建索引文件, 这时候会在当前目录下出现repodata的一个文件夹
4.这时候就按如上所说的,在 /etc/yum.repos.d/ 目录下新建一个文件,假设其名为 hunting.repo 其中的内容可以如下
【hunting】
name = hunting‘s repo
baseurl = file:///yum仓库的目录
enabled = 1
gpgcheck = 1
通过yum clear all 可以清除安装软件时的缓存。