zoukankan      html  css  js  c++  java
  • Linux命令(008) -- yum

    yum命令(全称为Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

    一、yum命令详解

    # 语法
    yum(选项)(参数)
    
    # 选项
    -h:显示帮助信息;
    -y:对所有的提问都回答“yes”;
    -c:指定配置文件;
    -q:安静模式;
    -v:详细模式;
    -d:设置调试等级(0-10);
    -e:设置错误等级(0-10);
    -R:设置yum处理一个命令的最大等待时间;
    -C:完全从缓存中运行,而不去下载或者更新任何头文件。
    
    # 参数
    install:安装rpm软件包; 
    update:更新rpm软件包; 
    check-update:检查是否有可用的更新rpm软件包; 
    remove:删除指定的rpm软件包; 
    list:显示软件包的信息; 
    search:检查软件包的信息; 
    info:显示指定的rpm软件包的描述信息和概要信息; 
    clean:清理yum过期的缓存; 
    shell:进入yum的shell提示符; 
    resolvedep:显示rpm软件包的依赖关系; 
    localinstall:安装本地的rpm软件包; 
    localupdate:显示本地rpm软件包进行更新; 
    deplist:显示rpm软件包的所有依赖关系。
    

    示例:

    1.安装
    yum install             # 全部安装 
    yum install package1    # 安装指定的安装包package1 
    yum groupinsall group1  # 安装程序组group1
    
    2.更新和升级
    yum update              # 全部更新 
    yum update package1     # 更新指定程序包package1 
    yum check-update        # 检查可更新的程序 
    yum upgrade package1    # 升级指定程序包package1 
    yum groupupdate group1  # 升级程序组group1
    
    3.查找和显示
    yum info package1      # 显示安装包信息package1 
    yum list               # 显示所有已经安装和可以安装的程序包 
    yum list package1      # 显示指定程序包安装情况package1 
    yum groupinfo group1   # 显示程序组group1信息
    yum search string      # 根据关键字string查找安装包
    
    4.删除
    yum remove | erase package1 # 删除程序包package1 
    yum groupremove group1      # 删除程序组group1 
    yum deplist package1        # 查看程序package1依赖情况
    
    5.清除缓存
    yum clean packages      # 清除缓存目录下的软件包
    yum clean headers       # 清除缓存目录下的headers
    yum clean oldheaders    # 清除缓存目录下旧的headers
     
    6.生成缓存
    yum clean all
    yum makecache
    

    二、yum的配置文件

    yum 的配置文件分为两部分:main 和repository。

    1. main部分定义了全局配置选项,整个yum 配置文件应该只有一个main。常位于/etc/yum.conf中。
    2. repository部分定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d目录下的各文件中。

    1、yum.conf文件详解

    [main]
    cachedir=/var/cache/yum/$basearch/$releasever 
    # yum 缓存的目录,yum 在此存储下载的rpm 包和数据库,默认设置为/var/cache/yum
    
    keepcache=0
    # 安装完成后是否保留软件包,0为不保留(默认为0),1为保留
    
    debuglevel=2
    # Debug 信息输出等级,范围为0-10,缺省为2
    
    logfile=/var/log/yum.log
    # yum 日志文件位置。用户可以到/var/log/yum.log 文件去查询过去所做的更新。
    
    exactarch=1
    # 有1和0两个选项,设置为1,则yum 只会安装和系统架构匹配的软件包,例如,yum 不会将i686的软件包安装在适合i386的系统中。默认为1。
    
    pkgpolicy=newest
    # pkgpolicy:包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。
    
    obsoletes=1
    # 这是一个update的参数,简单的说就是相当于upgrade,允许更新陈旧的RPM包。
    
    gpgcheck=1
    # 有1和0两个选择,分别代表是否是否进行gpg(GNU Private Guard) 校验,以确定rpm 包的来源是有效和安全的。这个选项如果设置在[main]部分,则对每个repository 都有效。默认值为0。
    
    plugins=1
    # 是否启用插件,默认1为允许,0表示不允许。我们一般会用yum-fastestmirror这个插件。
    
    installonly_limit=3
    # 允许保留多少个内核包
    
    exclude=selinux*
    # 排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开  

    2、repo文件详解

    repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用。在repo文件中可以包含如下内容:

    [serverid]
    # serverid用于区别各个不同的repository,必须有一个独一无二的名称。
    
    name=Some name for this server
    # name用于对repository的描述,支持像$releasever $basearch这样的变量。
    
    baseurl=url://path/to/repository/
    # 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这样的变量。
    
    mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
    # 指定一个镜像服务器的地址列表。
    
    gpgcheck=1
    exclude=selinux*
    # pgcheck,exclude的含义和[main]部分相同,但只对此服务器起作用。
    
    failovermethod=priority
    # failovermethode有两个选项roundrobin和priority,意思分别是有多个url可供选择时,yum选择的次序,roundrobin是随机选择,如果连接失败则使用下一个,依次循环,priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。
    
    enabled=1/0
    # 当某个软件仓库被配置成enabled=0时,yum在安装或升级软件包时不会将该仓库做为软件包提供源。使用这个选项,可以启用或禁用软件仓库。 

    示例:163的yum源文件

    [base]
    # name定义了软件仓库的名称,$releasever变量定义了发行版本
    name=CentOS-$releasever - Base - 163.com
    # baseurl定义了软件仓库服务器的地址
    baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
    # gpgcheck选项表示这个repo中下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的 
    gpgcheck=1
    # gpgkey定义用于校验的gpg密钥
    gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
    
  • 相关阅读:
    转载 linux 僵尸进程,讲的很透彻
    linux 程序自动运行总结
    使用__FILE__和__LINE__定位错误
    CURL简单使用
    阿里云域名绑定IP
    使用PHPEXCEL导入数据到数据库
    关于使用ueditor时候遇到的情况
    TP5使用PHPMAILER发送邮件
    使用ajax,结合jquery,php实现图片上传预览功能
    mysql关于数据量大的时候分页分批处理
  • 原文地址:https://www.cnblogs.com/sunmengbbm/p/5784881.html
Copyright © 2011-2022 走看看