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

详解程序包管理YUM

时间:2015-04-12 06:57:12      阅读:322      评论:0      收藏:0      [点我收藏+]

标签:linux   yum   程序管理   

一、定义
      Yum(全称为 Yellowdog Updater Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软包,无须繁琐地一次次下载、安装
二、 yum组成部分:
 (1)、文件服务器(共享rpm包):
    原理:通过yum所支持的文件共享机制将各rpm包通过文件服务共享
    repository: 仓库
      1、数据:程序包;
      2、元数据:程序包的属性,包括大小,版本,依赖关系等,通过createrepo命令生成,保存在repodata中
(2)、yum客户端:
      1、配置文件:指定各可用的yum仓库;
      2、缓存元数据:yum会到各可用yum仓库获取元数据,并缓存至本地;
      3、分析元数据:根据具体操作请求完成元数据分析, 可能包括检查依赖关系、文件列表等信息;
      4、执行具体操作:
  客户端配置文件指定对应服务器访问方式:
        ftp   ftp://server/path/to/repo
        http  http://server/path/to/repo
        nfs   nfs://server/nfs_path
        file  file:///path/to/repository
三、配置文件:
     (1)、配置文件内容  
      要使用yum管理应用程序,首先得配置其可用的yum仓库,保存在配置文件中:
      主配置文件:保存在/etc/yum.conf中
      仓库配置文件:保存在/etc/yum.repos.d/*.repo中
      配置repo:
        [repo_ID]   repoID必须唯一
        name=String   仓库描述信息
        baseurl=仓库的访问路径
        enabled={1|0}   仓库是否可以使用
        gpgcheck={1|0}   是否对程序做校验
        gpgkey=公钥文件(可以在本地,也可是服务器端路径)
        cost=定义此仓库开销,默认为1000
      Ex:

技术分享               说明:本配置baseurl地址是局域网文件服务器地址。
     (2)、配置文件变量
          yum有内置变量,用于保存当前平台的相信息;
          1、$releasever: 当前OS发行版的主版本号;
            例如,对CentOS 6.6 x86_64,主版本号为6;
          2、$arch:平台
          3、$basearch: 基础平台, 例如i686, i586, i486以及i386的基础平台同为i386;
          4、$YUM0-$YUM9:可定义变量
      假如:
        baseurl=http://repo.magedu.com/centos/$releasever/$basearch
        若当前系统为:CentOS 6.6 x86_64
        实际路径:http://repo.magedu.com/centos/6/x86_64
四、yum命令
  1、仓库管理:
     yum repolist [all|enabled|disabled]   
       all:列出所有yum仓库
       enabled:列出开启的yum仓库
       disabled:列出关闭的yum仓库
  2、缓存管理:
       1)、清理缓存:          
      yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]  
         packages:清理数据包缓存
         metadata:清理元数据缓存
         expire:清理过期缓存
         rpmdb:i清理rpm数据库缓存
         plugins:清理插件缓存
         all:清理所有缓存 
       2)、创建缓存
      yum makecache     
      说明:只下载在线yum仓库元数据,将其创建为缓存;
   3、程序包管理
       1)、程序包查看
         yum list {avaiable|updates|installed}  
         avaiable:查看未安装程序包
         updates:查看更新程序包
         installed:查看已安装程序包
         yum check-update:查看需要升级的程序包
       2)程序包的管理
        (1)、安装
          yum install package...
         (2)、升级
           yum update package...
         (3)、卸载
         yum remove|erase package...
         说明:所有依赖的程序包一并卸载
         (4)、重新安装
         yum reinstall package...
         (5)、降级
         yum downgrade package...
        3)程序包组的管理
         (1)、安装
          yum groupinstall group...
         (2)、升级
           yum groupupdate group...
         (3)、卸载
         yum groupremove group...      
         (4)、显示指定包组详细
         yum groupinfo group...
   4、可用选项
    -y:自动回答为“yes”
    --disablerepo= 临时禁用指定的repo
    --enablerepo= 临时启用指定的repo
    --nogpgcheck:禁止做包校验 
五、制作yum repository
  1、利用发行版光盘做yum repository
   (1) 挂载光盘到指定挂载点,如/media/cdrom
      #mkdir /media/cdrom
      #mount -r -t iso9660 /dev/cdrom /media/cdrom
  (2) 新建yum repo配置文件,类似如下所示:
      #cd /etc/yum.repos.d
      #vim local.repo
      输入以下内容:

  技术分享 

     #yum repolist   查看在线repo

技术分享

#yum install php  测试利用光盘安装程序

技术分享

2、创建本地yum repository
      #yum install createrepo    安装创建元数据命令(先要完成光盘做yum repository)
      #mkdir -pv /var/test/yum/xen4  递归创建yum repository目录
      #yum install lftp  安装lftp
      #cd /var/test/yum/xen4  
      #lftp 172.16.0.1/pub/Soureces/6.x86_64/xen-4.1   进入文件服务器中     
      >mget *.rpm  下载rpm包到本地
      >bye 退出
      #createrepo /var/test/yum/xen4  创建数据包元数据
      #cd /etc/yum.repos.d
      #vim local.repo
       在内容下面加以下内容

技术分享 

      #yum repolist  查看所有在线repo

技术分享

      #yum list all xen* 查看所有xen开头的包
      #yum install xen 测试安装xen包
  3、创建ftp yum repository
     #yum install vsftpd   安装vsftpd服务包
      #cd /var/ftp/pub
      #cp -r /var/test/yum/xen4/ ./  复制xen4及内容到pub目录下
      #service vsftpd start   启动vsftpd服务
      #service iptables stop  关闭防火墙
      #cd /etc/yum.repos.d
      #vim localtest.repo
      输入以下内容
技术分享   
        在浏览器中输入:
        ftp://172.16.21.67  能正常看到文件夹内容OK
  4、内容补充
    创建ftp后,能显示自建的文件夹,而不显示内容
       1.关闭防火墙
       setup -->firewall configuration
       2.关闭selinux
       #vim /etc/selinux/config
       修改 SELINUX=disable
     如何让vsftpd随开机启动
      #chkconfig --list vsftpd  查看vsftpd状态
      #chkconfig vsftpd on  修改vsftpd开机启动

本文出自 “linux课堂笔记” 博客,请务必保留此出处http://wangxinjian.blog.51cto.com/6334977/1631351

详解程序包管理YUM

标签:linux   yum   程序管理   

原文地址:http://wangxinjian.blog.51cto.com/6334977/1631351

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