zoukankan      html  css  js  c++  java
  • Centos下YUM源配置及相关问题应用篇

    yum源配置在工作中会经常用到,特别是安装数据库时,一个个去安装依赖包比较耗时,直接配置好yum安装即可。

    (特别提醒:redhat有时会提示系统未注册,要求你注册,这个只对需要连接公网的yum源产生影响,本地yum源配置不用管这个告警)

    一、、yum 配置说明(此部分为转载)

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

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

    yum.conf 文件一般位于/etc目录下,一般其中只包含main部分的配置选项。

    # cat /etc/yum.conf

    [main]
    cachedir=/var/cache/yum
      //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 文件去查询过去所做的更新。
    pkgpolicy=newest
      //包的策略。一共有两个选项,newest 和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository 中同时存在,yum 应该安装哪一个,如果是newest,则yum 会安装最新的那个版本。如果是last,则yum 会将服务器id 以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。
    distroverpkg=redhat-release
      //指定一个软件包,yum 会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm 包。
    tolerant=1
      //有1和0两个选项,表示yum 是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum 不会出现错误信息。默认是0。
    exactarch=1
      //有1和0两个选项,设置为1,则yum 只会安装和系统架构匹配的软件包,例如,yum 不会将i686的软件包安装在适合i386的系统中。默认为1。
    retries=6
      //网络连接发生错误后的重试次数,如果设为0,则会无限重试。默认值为6.
    obsoletes=1
      //这是一个update 的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。
    plugins=1
      //是否启用插件,默认1为允许,0表示不允许。我们一般会用yum-fastestmirror这个插件。
    bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
    
    # Note: yum-RHN-plugin doesn't honor this.
    metadata_expire=1h
    
    installonly_limit = 5
    
    # PUT YOUR REPOS HERE OR IN separate files named file.repo
    # in /etc/yum.repos.d

    二、本地yum源配置

    首先要挂载磁盘,查看之前的挂载说明文章 https://www.cnblogs.com/chxmtl/p/11672291.html

    # cd /etc/yum.repos.d/

    ls 会看到四个repo 文件

    CentOS-Base.repo 是yum 网络源的配置文件

    CentOS-Media.repo 是yum 本地源的配置文件

    修改CentOS-Base.repo名称,系统会首先加载网络源,在使用本地源时,需要将其名称修改。剩余两个可以备份或者删除。

    修改CentOS-Media.repo,在baseurl 中修改第2个路径为/mnt/cdrom(即为光盘挂载点)如下图,并将enabled=0改为1

     配置完毕后,执行yum celan all用来清除缓存,再执行yum makecache,如下图,有两个报错是因为执行了两个其他无用的baseurl,实际应用时可以删掉。

     三、网络YUM源配置

    网络yum源相对于本地yum源配置,不用再挂载iso镜像文件,配置起来更简单。

    CentOS-Base.repo 是yum 网络源的配置文件,vi该文件进行配置,注释mirrolist,修改baseurl如下

    [base]
    name=CentOS-$releasever - Base
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
    baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    
    #released updates 
    [updates]
    name=CentOS-$releasever - Updates
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
    baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    
    #additional packages that may be useful
    [extras]
    name=CentOS-$releasever - Extras
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
    baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    
    #additional packages that extend functionality of existing packages
    [centosplus]
    name=CentOS-$releasever - Plus
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
    baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    
    #contrib - packages by Centos Users
    [contrib]
    name=CentOS-$releasever - Contrib
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
    baseurl=http://mirrors.163.com/centos/$releasever/contrib/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

    按上述脚本配置完后,执行yum clean all清除缓存,然后安装vim测试。没问题即可。

     四、以下是真实遇到过的问题及网络找到的已验证解决方法

     1、错误日志如下

    file:///mnt/cdrom/LinuxSrc/repodata/repomd.xml: [Errno 5] OSError: [Errno 2] No such file or directory: '/mnt/cdrom/LinuxSrc/repodata/repomd.xml'
    Trying other mirror.
    Error: Cannot retrieve repository metadata (repomd.xml) for repository: media. Please verify its path and try again

    出现这个错误的根本原因在于RHEL 5.x 版本与RHEL 6.x 版本的rpm包存放路径不同:

    RHEL 5.x : ../Server    例如:我案例环境位于/mnt/cdrom/LinuxSrc/Server 下。

    RHEL 6.x : ../Packages

     完整解决方法:https://www.cnblogs.com/kerrycode/p/4835571.html

    2、有的时候不论怎么都是提示

    Error: Cannot retrieve repository metadata (repomd.xml) for repository: media. Please verify its path and try again

     此时检查本地镜像是不是没有mount上。

    参考链接如下,讲解的都是比较详细

    https://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html

    https://www.cnblogs.com/kerrycode/p/4723637.html

    阿里云yum源地址可以直接使用

    http://mirrors.aliyun.com/repo/

  • 相关阅读:
    Maven入门
    Windows Java安装
    cdh安装spark遇到的几个BUG
    SQL Server创建存储过程——动态SQL
    IDEA搭建scala开发环境开发spark应用程序
    liunx命令
    java常用 api
    缓存一致性问题
    git 命令
    nginx
  • 原文地址:https://www.cnblogs.com/chxmtl/p/11672935.html
Copyright © 2011-2022 走看看