YUM软件管理

如上篇博文说的那样,RPM很方便,不过RPM也有它的不方便之处, 不重复开发*的开源开发的理念使得安装某个开源软件时候,总是需要手动的解决软件之间的依赖关系, 很多软件安装之前必须提前安装一个或者几个其他软件, 手工解决非常麻烦, 可以使用YUM来解决这个困难


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基本命令

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  可以清除安装软件时的缓存。




YUM软件管理

上一篇:ORACLE 尽量不使用隐式转换


下一篇:9魔法方法,属性和迭代器(上)