Chinaunix首页 | 论坛 | 博客
  • 博客访问: 108579
  • 博文数量: 16
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 160
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-09 17:08
个人简介

GOOD GOOD STUDY , DAY DAY UP

文章分类

全部博文(16)

文章存档

2013年(16)

我的朋友

分类: LINUX

2013-03-20 16:41:09

一、yum简介
Yum(全称为 Yellow dog Updater,Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。 系统一般默认安装了yum,若无可到rpm中找到yum.3.2*****.rpm进行安装。
Yum的全局配置文件:#vi /etc/yum.conf
[main]
cachedir=/var/cache/yum           // yum缓存的目录,yum在此存储下载的rpm包和数据库
keepcache=0
debuglevel=2                      //除错级别,0-10,默认是2
logfile=/var/log/yum.log          //yum的日志文件
distroverpkg=redhat-release       //指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包
tolerant=1                     //也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum不会出现错误信息。
exactarch=1                   //有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用1686的包来升级
obsoletes=1
gpgcheck=1                //有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认也是检查的
plugins=1  

# Note: yum-RHN-plugin doesn't honor this.
metadata_expire=1h

# Default.
# installonly_limit = 3

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

二、搭建本地yum源
  (1)准备本地yum源
     可直接将光盘里的rpm包文件直接挂载到系统一个指定目录(在虚拟机中使用ISO镜像也是一个道理)
      #mkdir –p /home/yum      //新建一目录用来放Yum源文件包 (源库)    
      #mount -t iso9660  /dev/cdrom  /home/yum  //将光盘里的文件挂载到/home/yum/目录下
 或   #cp –rf  /media/RHEL.i386.DVD/*  /home/yum/   //直接将光盘里的文件复制保存在系统目录
源库可存放在磁盘任意位置,根据磁盘空间使用情况而定,可用df命令查看磁盘使用情况。
      # rm -rf /home/yum/*.html         删除无用的HTML文件。
  (2)修改相关配置文件 /etc/yum.repos.d/rhel-debuginfo.repo    
      #cd /etc/yum.repos.d/                       //配置文件的目录
      #cp rhel-debuginfo.repo  rhel-local.repo   //复制文件并命名为rhel-local.repo
      #vi  local.repo                           //修改配置文件
下面是初始的配置文件内容:
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/Debuginfo/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
配置文件讲解:
   [rhel-debuginfo]:rhel-debuginfo是用于区别各个不同的repository,必须独一无二
   name= 名字,是对repository的描述,支持像$releasever $basearch这样的变量
   baseurl=  baseurl是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:
           baseurl=url://server1/path/to/repository/
           url://server2/path/to/repository/
           url://server3/path/to/repository/
    其中url支持的协议有 http:// ftp:// file://三种。baseurl后可以跟多个url,你可以自己改为          
    速度比较快的镜像站,但baseurl只能有一个。也就是说不能像如下格式:
          baseurl=url://server1/path/to/repository/
          baseurl=url://server2/path/to/repository/
          baseurl=url://server3/path/to/repository/
其中url指向的目录必须是这个repository header目录的上一级,它也支持$releasever $basearch这样的变量。url之后可以加上多个选项,如gpgcheck、exclude、failovermethod等,比如:
1. [updates-released]
2. name=Fedora Core $releasever - $basearch - Released Updates
3. baseurl=
4.
5.
6. gpgcheck=1
7. exclude=gaim
8. failovermethod=priority
其中gpgcheck,exclude的含义和[main]部分相同,但只对此服务器起作用,failovermethode 有两个选项roundrobin和priority,意思分别是有多个url可供选择时,yum选择的次序,roundrobin是随机选择,如果连接失 败则使用下一个,依次循环,priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。
几个变量
$releasever,发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。
$arch,cpu体系,如i686,athlon等
$basearch,cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。
   enabled=0 :是否开启,1是开启。0是关闭
   gpgcheck=:是否进行gpg校验。不校验选0
   gpgkey=:这个是gpg校验的地址。
改好后的是:
[rhel-local]
name=Server
baseurl=file:///home/yum/Server/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release  //此行可以不要
   (3)生成依赖关系
    如果开始光盘是挂载的,在Server目录里有个repodata文件夹,这是自带的依赖文件。如果我们是自建的源库或是在以前源库中新添加了RPM包,此时我们就得重新生成依赖文件。
    # rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm    //安装creatrepo包
    #createrepo   --update  /home/yum/
 或 #createrepo  -v  /home/yum/            //生成软件仓库
    # createrepo -g /home/yum/repodata/ /home/yum/   生成repodata数据
   (4)清除yum缓存
     #yum claean all  
     #yum list
这样就搭建好自己的本地yum源了.
阅读(1748) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~