yum详解

    yum(全称为 Yellow dog Updater, Modified)yum相对于rpm来说:rpm为基础包管理器,yum则是rpm的前端工具。能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。,yum无法独立存在,系统不允许有两个yum命令同时运行,如果有两个,第二次运行时会报错。这是为了防止yum之间的冲突。

    yum接收到需要安装的程序包的名称之后,通过文件共享协议(或者文件传输协议),在配置文件中指向的yum仓库(可以是多个)中查询需要的程序包。找到之后,通过文件下载协议,将程序包下载至本地yum的缓存目录中,当安装完成后,缓存目录便会被删除

    但如果yum每次到yum仓库都需要遍历,就会导致速度很慢。而yum仓库中有两类数据:程序和程序的元数据。yum仓库在创建时,会将所有程序的名字、大小、版本以及依赖关系这类的属性信息提取出来并保存至repodata目录中。所以在yum第一次访问yum仓库时,会获取仓库中元数据(repodata),并下载至本地。因此,下次需要安装程序包时,只需从本地缓存中获得信息,直接到仓库下载即可

    如何保持本地缓存repodata和服务器端的repodata实时同步呢?yum每次访问仓库都会先获取repodata目录中每个文件的特征码,并与本地的进行比较,如果不相同,就重新下载并覆盖


yum repository:yum repo

存储了众多的rpm包,以及包的相关的元数据文件(放置于特定目录下:repodata);

文件服务器

    URL:统一资源定制地址    

ftp://

http://

nfs://

file://


yum客户端

rpm -q yum :查询本地是否安装了yum客户端,如果安装了则可以使用yum功能

rpm -qc yum :查询yum的配置文件

    blob.png


配置文件:

    指向仓库的位置以及相关的各种配置信息。每个yum命令行可以同时指向多个仓库,仓库间可以进行优先级等相关配置,优先级是由开销决定的。

   配置文件有两部分组成:主配置文件以及各仓库的配置文件。因为如果所有的配置信息都放在一个文件中就显得太臃肿、不方便。其中主配置文件所在路径为/etc/yum.conf,它为各仓库指向提供公共配置文件;而各仓库的配置文件所在路径为:/etc/yum.repos.d/*.repo,里面都是以赋值的格式存在

/etc/yum.conf:为所有仓库提供公共配置

/etc/yum.repos.d/*.repo:为仓库的指向提供配置信息

仓库指向的定义

[repositoryID]

name=some name for this repository

baseurl=url1://path/to/repository/仓库指向的路径

url2://path/to/repository/

url3://path/to/repository/

enabled={1|0}:是否启用此仓库;默认为启动

gpgcheck={1|0}:是否检查完整性及来源合法性

repogpgcheck={1|0}:是否检测源数据文件的gpgcheck

gpgkey=URL:检查所需的密钥文件

enablegroup={1|0}:是否支持在此仓库上使用组:默认为启用 

failovermethod={roundrobin|prioity}:轮循,优先级取安装包路径;默认为roundrobin(轮循),意为随机挑选。

cost=1000(默认)开销     

        1:表示开

    0:表示关

yum命令

yum [options] [command] [package …]

  显示仓库列表:

     repolist [all|enabled|disabled]

  显示程序包

     list

        yum list [all | glob_exp1] [glob_exp2] […]

        yum list available|install|updates [glob_exp1] […]

  安装程序包

     install

        安装时可以指定版本号

        reinstall package1 [package2] […](重新安装)

  升级程序包

        update [package1] [package2] […]

        downgrade package1 [package2] […](降级)

  检查可以升级

        check-update

  卸载程序包

        remove | erase package1 [package2] […]

  查看程序包的infomation

        info […]

  查看指定的特性(可以是某文件)是由哪个程序包提供;

        provides | whatprovides feature1 [feature2] […]

  清理本地缓存:

        clean [ packages | metadata |  expire-cache  |  rpmdb  | plugins | all ]

  构建缓存:

       makecache

  搜索:

       search string1 [string2] […]

       以指定的关键字搜索程序包名及summary信息;

  查看指定包所以来的capabilities

       deplist package1 [package2] […]

  查看yum事物历史

       history   [info|list|packages-list|packages-info|sum-mary|addon-info|redo|undo|rollback|new|sync|stats]

  安装及升级本地程序包

       localinstall rpmfile1 [rpmfile2] […](maintained for legacy reasons only – use install)

       localupdate rpmfile1 [rpmfile2] […](maintained for legacy reasons only – use update)           

  包组管理的相关命令:

       groupinstall group1 [group2] […]

       groupupdate group1 [group2] […]

       grouplist [hidden] [groupwildcard] […]

       groupremove group1 [group2] […]

       groupinfo group1 […]

       mount -r /dev/cdrom /media/cdrom

       mount 挂载

  yum的命令行选项

        –nogpgcheck:禁止进行gpg check;

        -y:自动回答为“yse”

        -q:静默模式

        –disablerepo=repoidglob:临时禁用此处指定的repo

        –enablerepo=repoidglob:临时启用此处指定的repo

        –noplugins:禁用所有插件

    yum的repo配置文件中可用的变量

        $releasever:当前os的发行版的主版本号

        $arch:平台

        $basearch:基础平台

        $YUM0-$YUM9

        http://mirrors.mageedu.com/centos/$releasever/$basearch/os

  如何使用光盘当作本地yum仓库

      (1)挂载光盘至某目录,例如/media/cdrom

          #mount -r -t iso9660 /dev/cdorm /media/cdrom

      (2)创建配置文件

        进入/etc/yum.repos.d目录下创建一个名为.repo结尾的配置文件,并编辑以下信息

        [base]

           name=

           baseurl=

           gpgcheck=

           enabled=

           gpgkey=

        blob.png

        使用yum repolist查看yum仓库列表

        blob.png

        安装报错问题

     gpg key parsing failed:no key found in given key data

      使用yum makecache和yum update 解决,并且成功安装软件               blob.png 创建本地yum源仓库

    

    createrepo 选项 目录

      首先使用命令yum install createrepo安装createrepo文件,这个文件是可以帮我们组织和管理创建出rpm包的相关的repodata目录文件,

    blob.png

    然后使用lftp命令链接到FTP服务器上去下载rpm包(以教室环境为例)

    lftp 10.1.0.1:/pub/Sources/6.x86_64/xen4centos/x86_64/Packages> mget *.rpm 

    blob.png

    cd到下载RPM包的指定目录(目录需事先创建)中可看到刚才下载的包

    blob.png

    然后cd到下载包的目录中执行createrepo ./(直接指定当前工作目录)命令生成repo目录

    blob.png

    命令执行成功后及可在路径下看到已经生成了repodate目录

    至此!本地yum源已经创建完成了,此yum源可以放在ftp或http服务中被远程使用,也可以在本地使用。

    在/etc/yum.repos.d/base.repo将此yum源添加进配置文件

    blob.png

    使用yum repolist命令查看yum源列表可看到此源已经被添加,并且可以正常安装

    blob.png

    blob.png

命令整理

    

  • -y:自动回答为yes

  • list:列出所有仓库中的程序包,支持通配符

  • all:所有程序包

  • available:可用的,仓库中有尚未安装的

  • installed:已经安装的

  • clean:清理缓存。yum缓存路径:/var/cache/yum/

  • yum clean all:清除所有缓存信息,但不会清除目录

  • repolist:显示仓库列表及其简要信息

  • all:所有的仓库

  • enabled:已经启用的仓库

  • disabled:未启用的仓库

  • install:安装

  • yum install [-y] PACKAGE_NAME

  • remove|erase:卸载。和此程序包有依赖性的其他包也会被一并卸载

  • infoPACKAGE … :查询程序的相关简要信息。这个包装不装都没有关系,只要仓库中有就行

  • grouplist:列出所有包组

  • groupinstall:安装包组

  • 可直接用install、remove或update来管理包组,在包组前面加@用以区分:yuminstall @"Server Platform Development"

原创文章,作者:M20-1马星,如若转载,请注明出处:http://www.178linux.com/37963

(0)
M20-1马星M20-1马星
上一篇 2016-08-24
下一篇 2016-08-24

相关推荐

  • 电子眼find

     1、摩根定律。         话不多说,先上图。          如图:A和B交集为3    A = 4 + 3  &nbs…

    Linux干货 2016-08-16
  • 搭建一个LVS-nat,负载均衡 WordPress

    准备工作 首先配置一下环境:       Directory:ens33 172.16.251.73 ens37 192.168.42.1       RS1:192.168.42.132  gw 192.168.42.1   &…

    2017-06-22
  • Linux运维学习历程-第八天-Linux文本工具sed与Vim(vi)

    概述:    本篇我们主要学习两个功能非常强大的文本编辑器,了解这两种文本编辑器的各自的特点 一、sed命令:  1、sed简介:     sed(Stream EDitor)是一种流编辑器、行编辑器。逐行处理文本内容,即一次处理一行内容,处理时,当前处理的行存储在“模式空间”(pattern sp…

    Linux干货 2016-08-15
  • LInux用户和组管理详解

    一、用户和组的概念 Linux系统是多任务、多用户的分时操作系统。用户要使用系统资源,需要向管理员验证身份,由管理员进行认证和授权,并对用户的行为进行追踪和审计,以保障系统资源的合理分配以及系统的安全。 要达到账号管理的目的,需要对用户和用户组进行管理。下面分别来介绍用户管理和用户组管理。 每个用户都有唯一的一个编号来标识,这个标识号叫Uid,每个用户至少属…

    Linux干货 2016-08-02
  • 第七周-磁盘管理、RAID及Shell脚本练习

    一、创建一个10G分区,并格式为ext4文件系统; (1)、 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2)、挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@N1 ~]# mkfs.ext4 -b 2048 -m 2 -L MYDATA /…

    Linux干货 2017-08-13
  • tom猫—–(Tomcat详解)

    目录 安装tomcat tomcat目录结构及配置文件构成以及主配置文件server.xml ,tomcat中的组件 实现反代tomcat的方法 nginx+tomcat cluster http(mod_porxy_http)+tomcat cluster http(mod_porxy_ajp)+tomcat cluster http(mod_jk)+to…

    2017-11-16