一.简介
yum的主要功能是更方便的添加/删除/更新RPM包,自动解决包的依赖性问题,便于管理大量系统的更新问题。
yum可以同时配置多个资源库,简介的配置文件,保持与rpm数据库的一致性。
二,yum 的安装
默认已经安装,这里简要提一下。
基础安装包包括: yum yum-fastestmirror yum-metadata-parser
三.yum的配置
yum的配置文件分为两部分:main和repository

  1. main部分定义了全局配置选项,整个yum配置文件应该只有一个main。常位于/etc/yum.conf中。
    yum.conf 文件一般位于/etc目录下,一般其中只包含main部分的配置选项。
    cat /etc/yum.conf
    (1) cachedir=/var/cache/yum/x86_64/6/base/packages【yum缓存的目录,yum在此存储下载rpm包和数据库,】
    (2) keepcache=0【安装完成后是否保留软件包,0为不保留,1为保留】
    (3) debuglevel=2 【信息输出等级,范围为0-10,缺省为2】
    (4) logfile=/var/log/yum.log 【yum日志文件位置,可以查询过去所作的更新】
    (5) pkgpolicy=newest/last【包策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本,如果是last,则yum会将服务器id以字母表排序,并选择最后哪个服务器上的软件安装。一般都选newest】
    (6) distroverpkg=redhat-release【指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包】
    (7) tolerant=1 【表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1 2 3三个包,而其中3此前已经安装了,设为1,则yum不会出现错误信息,默认为0】
    (8) exctarch=1【设置为1,则yum只会安装和系统架构匹配的软件包。】
    (9) retries=6 【网络链接发生错误后的重试次数,如果设为0则会无限重试,默认为6】
    (10) obsoletes=1【这是一个update的参数,允许更新陈旧的rpm包】
    (11) plugins=1 【是否启用插件,默认为1是允许,0表示不允许。】
  2. repository部分定义了每个源/服务器的具体配置,可以有一个或者多个。常位于/etc/yum.conf
    (1) 配置本地yum源
    a. 挂载系统安装光盘 mount /dev/cdrom /mnt/cdrom
    b. 配置本地yum源 cd /etc/yum.repos.d
    ls 会看到四个repo文件
    CentOS-Base.repo 是yum网络源的配置文件
    CentOS-Media.repo 是yum本地源的配置文件。
    修改CentOS-Media.repo是yum本地源的配置文件
    在baseurl中修改第二个路径为/mnt/cdrom(即光盘挂载点)
    将enabled=0改为1
    c. 禁用默认的yum网络源
    将yum网络源配置文件改名为CentOS-Base.repo.bak,否则会先在网络源中寻找适合的包,改名之后直接从本地源读取。
    d. 执行yum命令
    yum install postgersql
    e.关于repo文件的格式
    所有repository的服务器设置都应该遵循如下格式:
    [serverid]
    name=Some name for this server
    baseurl=url://path/to/repository
    serverid 【用于区别各个不同的repository必须有一个独一无二的名称】
    name【是对repository的描述,】
    baseurl【是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件,】
    其中url支持的协议有http:// ftp:// file:// 三种。 baseurl后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl只能有一个。
    failovermethode 有两个选项。roundrobin (随机选择url路径)
    priority(按次序选择)
  3. 配置国内yum源
    (1)系统给默认的yum源速度往往不尽如人意,为了达到快速安装的目的
    修改/etc/yum.repos.d/CentOS-Base.repo 【vim /etc/yum.repos.d/CentOS-Base.repos.d(修改前都做好备份) 只修改其中{baseurl} {addons}{extras}{centosplus}这几项中的baseurl和gpgkey为相应源地址即可。修改完成后,清空yum缓存,并重建yum缓存(yum clean all &&yum clean &&yum cl)】
    【国内更新源
    上海交大 http://ftp.sjtu.edu.cn/centos中国科技大学 http://centos.ustc.edu.cnsohu的开源镜像服务器 http://mirrors.sohu.com网易的开源服务器镜像:http://mirrors.163.com/centos(2)导入GPG KEY
    yum可以使用gpg对包进行校验,确保下载包的完整性,所以我们先要到各个repository站点找到gpgkey,一般都会放在首页的醒目位置,把它们下载下来,然后用rpm –import 命令将key导入。
  4. 集群环境中配置yum源仓库,
    (1) ftp发布【yum服务器端配置】
    a. 准备软件仓库目录
    mkdir /var/ftp/rhel6
    cp -rf /media/cdrom/ /var/ftp/rhel6
    对于用户搜集的非RHEL6光盘自带的更多其他的软件包(必须包括存在依赖关系的所有安装文件),除了应准备相应的目录之外,还需要手动创建repodata数据文件,这就要用到createrepo工具(需要从RHEL6光盘中安装)
    cd /var/ftp/other
    createrepo -g /media/cdrom/repodata/repomd.xml ./
    b. 安装并启用vsftpd服务
    rpm -ivh /media/cdrom/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
    chkconfig vsftpd on
    service vsftpd start
    c. 配置软件仓库位置(客户机端配置)
    vim /etc/yum.repos.d/rhel6.repo
    [base]
    name=
    baseurl=ftp://IP地址/rhel6
    enabled=1 【启用此软件仓库】
    gpgcheck=1【验证软件包签名】
    gpkey=file://etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release【GPG公钥文件位置】
    [other]
    name=
    baseurl=ftp://IP地址/other
    enable=1
    gpgcheck=0(不验证软件包签名)
    (2) http发布
    a. 安装并启用httpd服务 service httpd start
    chkconfig httpd on
    b. mkdir -p /var/www/html/centos
    cp -rf /media/cdrom/
    /centos
    mkdir -p /var/www/html/others
    cd /var/www/html/others
    createrepo -g /media/cdrom/repodata/repomd.xml ./
    c. 配置软件仓库的位置(客户机端配置)
    vim /etc/yum.repos.d/rhel6.repo
    [base]
    name=centos
    baseurl=http://IP地址/centosenabled=1
    gpgcheck=1
    gpkey=file:(同上)
    [other]
    name=others
    baseurl=http://IP地址/othersenabled=1
    gpgcheck=0

四.使用yum工具管理软件包

  1. yum list 查询软件包列表 yum list available 列出可用的尚未安装的软件包
    yum list updates 表示只列出可以升级版本的软件包
    yum list install 表示只列出系统中已经安装的软件包
  2. yum info 查询软件包描述信息
  3. yum search all httpd 查询指定的软件包
    4.安装、升级、卸载软件包
    yum -y install httpd(安装)
    yum -y remove httpd (卸载并自动解决依赖关系)


转载于:https://blog.51cto.com/13588698/2151830