详解程序包管理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开机启动

时间: 2024-10-10 07:44:01

详解程序包管理YUM的相关文章

详解程序包管理RPM

一.定义      RPM是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux.S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了. 二.RPM包管理的用途 1.可以安装.删除.升级和管理软件:当然也支持在线安装和升级软件:2.通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包:3.可以在查询系统中的

程序包管理YUM

回顾: Linux程序包管理的实现,rpm管理器 rpm命令实现程序管理: 安装: -ivh,--nodeps, --replacepkgs 卸载:-e,--nodeps 升级:-Uvh,-Fvh, --nodeps, 降级:--oldpackage 查询:  -q, -qa, -qf, -qi, -qd, -qc, -q --scripts, -q--changlog, -q --provides, -q --requires 校验:-V 导入GPG秘钥: --import,-K, --nod

Linux系统程序包管理---YUM

YUM 一. CentOS: yum, dnf 1.YUM: (Yellow dogUpdate Modifier),rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包,up2date的替代工具 2.yum repository: yum repo 存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录下:repodata) 注意: repodata目录所在的位置就是仓库所指向的路径 3.文件服务器: ftp:// http:// file:///(本地的,默认是光盘)

程序包管理--yum

yum repository: yum仓库        存储了众多rpm包,以及包的相关元数据的文件(放在repodata目录中)服务器 文件服务:           http://            ftp://            nfs://            file:/// yum客户端:     配置文件:指向仓库的位置以及各种配置信息:每个yum客户可以有多个可用的yum仓库: 有两部分组成: 主配置文件:/etc/yum.conf              /etc

谢烟客---------Linux之程序包管理yum使用和编译安装

yum命令及仓库创建与配置 YUM 原理 安装.卸载.查询.升级.检查,本地缓存.重装.降级.历史.获取帮助 仓库 变量.事务.URL.开销.镜像.元数据存储方式及组成 createrepo作用.命令.lftp命令 编译安装  目的 原理 开发工具及开发环境 编译后的处理 获取程序包源代码的途径 YUM Redhat二次发行版 Yellow Dog Linux,上使用的yum(Yellowdog Update Modifier),由yellow dog 研发 yum命令的工作原理 1.接收用户命

程序包管理rpm、yum与简单编译安装程序

Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个ls命令就是一个二进制程序. 库文件:程序的公用功能模块,比如A程序需要用一个打印机,B程序也需要一个打印机就可以公用这一个模块了.在window下库文件为.dll格式,linux下为/lib/*so格式的文件. 配置文件:通过设置配置文件来改变程序启动时的运行特征. 帮助手册:使用的帮助文档. ?

Linux程序包管理rpm与yum

Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个ls命令就是一个二进制程序. 库文件:程序的公用功能模块,比如A程序需要用一个打印机,B程序也需要一个打印机就可以公用这一个模块了.在window下库文件为.dll格式,linux下为/lib/*so格式的文件. 配置文件:通过设置配置文件来改变程序启动时的运行特征. 帮助手册:使用的帮助文档.  

Linux之Redhat系列程序包管理

安装.升级和卸载应用软件是每个系统不可或缺的一部分:对于在企业使用越来越广泛的Linux操作系统而言,强大而简洁的程序包管理机制为工程师们带来了很大的便利:下文主要介绍在RedHat系列的系统上如何使用RPM/YUM/编译三种方式去管理程序包. 一.RPM程序包管理 PRM全称是Red Hat Package Manager(RedHat 包管理器).Linux RPM软件包的命名有一定的规律:名称-版本-修正版-类型.rpm 例如: RPM命令详解: 功能: 安装.卸载.升级.查询和数据库维护

RHEL程序包管理

RHEL程序包管理 YUM : Yellowdog UpdateModifier RPM : RPM is PackageManager 一.程序包管理 1.程序包的命名格式: 程序包的命名经过多个过程,最初状态是由程序员编写后以program_name-VERSION的形式打包共享的.编译之后会加上相应的适用硬件架构平台ARCH. program name-VERSION.tar.gz 编译:--> 归档压缩 programname-VERSION-ARCH.tar.gz 包管理器:-->