centos的yum配置

什么是yum ?
yum,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog updater),后经杜克大学的[email protected]开发团队进行改进,遂有此名。
众所周知,Redhat和Fedora的软件安装命令是rpm,但是用rpm安 装软件最大的麻烦就是需要手动寻找安装该软件所需要的一系列依赖关系,超级麻烦不说,要是软件不用了需要卸载的话由于卸载掉了某个依赖关系而导致其他的软 件不能用是非常恼人的。令人高兴的是,Fedora终于推出了类似于ubuntu中的apt的命令yum,令Fedora的软件安装变得简单容易。
yum有以下特点:
可以同时配置多个资源库(Repository) 简洁的配置文件(/etc/yum.conf)
自动解决增加或删除rpm包时遇到的倚赖性问题 使用方便
*保持与RPM数据库的一致性

什么是yum仓库?
yum仓库就是使用yum命令下载软件的镜像地址
我们通常使用 yum install 命令来在线安装linux系统的软件, 这种方式可以自动处理依赖性关系,并且一次安装所有依赖的软体包,但是经常会遇到从国外镜像下载速度慢,无法下载的情况.那么此时我们就需要把我们的yum 源改为国内的镜像,

centOs 中yum 的配置文件在 /etc/yum.repos.d 目录下, 其中有多个配置文件,每一个配置文件中都可以配置一个或多个repository, 但是最终会被合并为一个交给系统,所以多个文件只是为了方便管理
下边我们就设置一下自己的yum仓库
步骤:

cd /etc/yum.repos.d #进入配置文件目录
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup #备份原文件
    touch local.repo # 创建自己的配置文件
    vi local.repo 在其中输入以下内容:

  # CentOS-Base.repo
    #
    # The mirror system uses the connecting IP address of the client and the
    # update status of each mirror to pick mirrors that are updated to and
    # geographically close to the client.  You should use this for CentOS updates
    # unless you are manually picking other mirrors.
    #
    # If the mirrorlist= does not work for you, as a fall back you can try the
    # remarked out baseurl= line instead.
    #
    #

    [base]
    name=CentOS-$releasever - Base - mirrors.aliyun.com
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
            http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
    gpgcheck=1
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

    #released updates
    [updates]
    name=CentOS-$releasever - Updates - mirrors.aliyun.com
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
            http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
    gpgcheck=1
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

    #additional packages that may be useful
    [extras]
    name=CentOS-$releasever - Extras - mirrors.aliyun.com
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

ps:还有简单方式

wget -O /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo
    yum make cache

5.保存退出,并测试

yum list #显示yum包
    yum   clean   all   #清除yum缓存
    yum    makecache  #缓存本地yum仓库中的软件包信息
    yum    install    httpd   #安装apache
    rpm    -ql    httpd  #查询所有安装httpd的目录和文件

配置本地Yum仓库

搭建一个本地Yum,将光盘挂载到/media

mount /dev/cdrom /media/

将本地设置为客户端,进行Yum验证
    命令操作如下所示:

cp CentOS-Base.repo local.repo #复制一个模板文件

修改文件为如下内容

    name=Red Hat Enterprise Linux 6           //此为描述信息,可以看情况填写
    baseurl=file:///media/                     //此项为yum软件仓库位置,指向光盘挂载点
    enabled=1                                   //此项为是否开启,1为开启0为不开启
    gpgcheck=1                                  //此项为是否检查签名,1为监测0为不检测
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release  //签名认证信息的路径

yum repolist 查看是否有该仓库

repo文件详解
repo文件是Fedora中yum仓库(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!
YUM的工作原理并不复杂,每一个 RPM软件的头(header)里面都会纪录该软件的依赖关系,那么如果可以将该头的内容纪录下来并且进行分析,可以知道每个软件在安装之前需要额外安装 哪些基础软件。也就是说,在服务器上面先以分析工具将所有的RPM档案进行分析,然后将该分析纪录下来,只要在进行安装或升级时先查询该纪录的文件,就可 以知道所有相关联的软件。所以YUM的基本工作流程如下:

服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
        客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

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

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

/etc/yum.conf详解

    [main]
    cachedir=/var/cache/yum
    #cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。
    debuglevel=2
    #debuglevel:除错级别,0──10,默认是2 貌似只记录安装和删除记录
    logfile=/var/log/yum.log
    pkgpolicy=newest
    #pkgpolicy: 包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存 在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个 服务器上的软件安装。一般都是选newest。
    distroverpkg=centos-release
    #指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。
    tolerant=1
    #tolerent,也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum不会出现错误信息。默认是0。
    exactarch=1
    #exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用1686的包来升级。
    retries=20
    #retries,网络连接发生错误后的重试次数,如果设为0,则会无限重试。
    obsoletes=1
    gpgcheck=1
    #gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的。
    reposdir=/etc/yum.repos.d #默认是 /etc/yum.repos.d/ 低下的 xx.repo后缀文件
    #默认都会被include 进来 也就是说 /etc/yum.repos.d/xx.repo 无论配置文件有多少个 每个里面有多少个[name] 最后其实都被整合到 一个里面看就是了 重复的[name]后面的覆盖前面的
    exclude=xxx
    #exclude 排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。
    keepcache=[1 or 0]
    #  设置 keepcache=1,yum 在成功安装软件包之后保留缓存的头文件 (headers) 和软件包。默认值为 keepcache=0 不保存

    reposdir=[包含 .repo 文件的目录的绝对路径]
    #  该选项用户指定 .repo 文件的绝对路径。.repo 文件包含软件仓库的信息 (作用与 /etc/yum.conf 文件中的 [repository] 片段相同)。

/etc/yum.repo.d/xx.repo文件详解

    [serverid]
    #serverid是用于区别各个不同的repository(仓库;贮藏室;博物馆;亲信),必须有一个独一无二的名称。 重复了 前面覆盖后面--还是反过来呢???用enabled 测试是后面覆盖前面

    name=Some name for this server
    #name,是对repository的描述,支持像$releasever $basearch这样的变量; name=Fedora Core $releasever - $basearch - Released Updates

    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
    #上面的这一行是指定一个镜像服务器的地址列表,通常是开启的,本例中加了注释符号禁用了,我们可以试试,将$releasever和$basearch替换成自己对应的版本和架构,例如10和i386,在浏览器中打开,我们就能看到一长串镜可用的镜像服务器地址列表。

    url之后可以加上多个选项,如gpgcheck、exclude、failovermethod等,比如:
    gpgcheck=1
    exclude=gaim
    #其中gpgcheck,exclude的含义和[main]部分相同,但只对此服务器起作用,
    failovermethod=priority
    #failovermethode 有两个选项roundrobin和priority,意思分别是有多个url可供选择时,yum选择的次序,roundrobin是随机选择,如果连接失 败则使用下一个,依次循环,priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。

    enabled=[1 or 0]
    #当某个软件仓库被配置成 enabled=0 时,yum 在安装或升级软件包时不会将该仓库做为软件包提供源。使用这个选项,可以启用或禁用软件仓库。
    #通过 yum 的 --enablerepo=[repo_name] 和 --disablerepo=[repo_name] 选项,或者通过 PackageKit 的"添加/删除软件"工具,也能够方便地启用和禁用指定的软件仓库

几个变量:

$releasever,发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。
    $arch,cpu体系,如i686,athlon等
    $basearch,cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。

原文地址:https://www.cnblogs.com/igoodful/p/11830135.html

时间: 2024-10-28 18:37:14

centos的yum配置的相关文章

CentOS 7 yum配置阿里云镜像(转)

1.下载源配置 凡是下载国外的软件,比如用npm,pip,yum有时下载速度感人,最好配置国内镜像地址 yum配置阿里云镜像参考:https://blog.csdn.net/hnmpf/article/details/81240177 原文地址:https://www.cnblogs.com/jixiaohua/p/11563409.html

Redhalt配置Centos的yum源 详细步骤

  大家都应该都清楚,redhalt 刚装完系统之后的yum是不好使的,有时我们像安装vsftp 这样的软件时用yum安装很方便.为此我们需要利用centos的yum源进行配置.现在这个源更新速度很快. 这是网易的资源总库http://mirror.centos.org/.里面应有尽有.废话不多说: 具体安装步骤: 1.删除redhat原有的yum源 # rpm -aq | grep yum|xargs rpm -e –nodeps 2.重新从网上获取yum的安装包  以root登陆到redha

CentOS 本地yum源配置

载本地光盘到系统:把Cent6.2安装光盘放入光驱,在终端命令行下操作      mkdir /mnt  #新建挂载目录      mount /dev/cdrom  /mnt#挂载光盘到/mnt目录下      cd  /mnt #进入挂载目录 Ls 查看挂载目录, 配置本地yum源      cd /etc/yum.repos.d/   #进入yum配置目录      vi  CentOS-Media.repo   #编辑配置文件,添加以下内容: 1.1 [GuangPan] 2.2 nam

RedHat下yum配置为本地或者CentOs

由于RedHat公司将yum源作为服务给用户提供,所以不能free给大家确实挺失望的,不过还好能够在RedHat上配置本地的Yum源,或者CentOS的Yum源. 这里提供两种方式,一种是配置本地的,一种是配置CentOS的. 我的RedHat系统版本是RHEL6.5的. 1. 网上文章大多是将RedHat自身提供的Yum软件包卸载. 参考:https://my.oschina.net/tdonemadao/blog/374580 1)卸载, 命令是:rpm -aq|grep yum|xargs

redhat配置centos网络yum源

方案一: 配置网络yum源rpm -ivh vsftpd-2.2.2-6.el6_0.1.x86_64service vsftpd restartchkconfig --level 35 vsftpd oncd /var/ftp/pub/mkdir yum把上面的挂载点改成/var/ftp/pub/yumvim /etc/yum.repos.d/rhel-source.repo[server]name=serverbaserul=ftp://pub/yum/Server/  #(注意要挂载光驱)

[转]CENTOS 6.5 配置YUM安装NGINX+服务器负载均衡

原文连接: CENTOS 6.5 配置YUM安装NGINX  http://blog.sina.com.cn/s/blog_69f467b70102uyux.html 本文介绍一下如何用yum源安装Nginx. 第一步,在/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo: cd /etc/yum.repos.d/ vim nginx.repo 填写如下内容: [nginx] name=nginx repo baseurl=http://nginx.org/packa

关于 CentOS 7 下的yum配置

大家在做CentOS试验的时候要安装一些组件,安装有两种方法: (1)用rpm针对性的安装(针对较少组件安装) (2)用yum安装(针对大量安装) 大家都知道用rpm安装只适于安装一小部分组件,要是大量的组件安装用rpm不免非常的麻烦,所以yum就可以发挥它便捷的优势,那么怎么配置yum呢?下面就带大家走近yum配置 输入下面命令 # vi /etc/yum.repos.d/CentOS-Base.repo 2.修改CentOS-Base.repo文件 把文件颜色部分 # CentOS-Base

redhat配置centos的yum源

redhat默认不支持第三方的yum源,要求有rhn账号,下面就rhel5和rhel6改为centos源 一.rhel5.5 X86_64更改为centos的yum源 查看系统自带的yum相关的rpm包  rpm -qa|grep yum 删掉系统自带的yum相关的包 rpm -e --nodeps yum-updatesd-0 rpm -e --nodeps yum-security   rpm -e --nodeps yum-metadata-p rpm -e --nodeps yum-rh

centos网络yum源的配置使用

[[email protected] ~]#cd /etc/yum.repos.d/    进入yum配置文件目录 [[email protected] yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak     备份配置文件 [[email protected] yum.repos.d]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo     下载网易的配置 [[emai