未加星标

配置本地 YUM 源

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 2018 | 作者 红领巾 ] 0人收藏点击收藏

在企业中,除过DMZ堡垒机之外,大部分服务器都是无法访问外网的,这就出现一个问题,如果我们要对服务器中某软件进行升级怎么办?拿到我们要把软件下载下来放进U盘,在跑到机房去,一个个升级?这显然是不科学。第一,不具有时效性,第二,浪费了时间成本,当然还有其他原因,这里就不一一列举。

因此,为了避免上述问题的存在,我们一般都会在局域网中配置自己的 yum 仓库。下面我们就来介绍下 yum 仓库的配置方法。

一、YUM 源是什么?

所谓 YUM 源,其实它就是一个目录项,它是为了解决 linux 中的依赖关系而存在的。当我们使用 yum 来安装安装软件的时候,如果该软件又需要的依赖软件,则 yum 机制会根据在 YUM 源中定义好的路径查找依赖软件,并自动将依赖软件安装。

二、YUM 的工作原理

服务器端:我们在服务器端存放了大量的 RPM 软件包,然后以相关的功能去分析每个 RPM 包的依赖关系,并将这些数据记录成文件存放在服务器的某个特定的目录中。

客户端:如果我们需要安装某个软件时,会先下载服务器上面记录的依赖性关系文件,通过 对服务器端下载的记录数据进行分析,然后取得所有相关软件,一次性全部下载下来进行安装。

三、YUM 源配置文件解析

1、XXX.repo文件

[Centos] #yum 仓库名称,独一无二的

name=CentOS-$releasever - Media #yum 仓库的描述,支持$releaseve $basearch这样的变量,如 name= Centos Core $releasever - $basearch - Released Updates

baseurl=ftp://media/CentOS/ #baseurl 是 yum 源中最重要部分,它支持三个协议的格式,分别为:http://、ftp://、file:///,后面可以跟多个url,但是只能有一个 baseurl

http://media/cdrom/

file:///media/cdrecorder/

mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch #指定一个镜像服务器的地址列表,通常是开启的,我们可以将$releasever、$basearch替换成自己对应的版本和架构

gpgcheck=1 #是否开启校验,默认为1,设置为 0 是,表示不开启校验

enabled=1 #是否启用此 yum 源,1:启用 0:禁用

failovermethod=priority #failoveermethod 有两个选项,分别为 roundrobin(当有多个 url 可供选择时,yum随机选择)和priority(当有多个 url 可供选择时,yum依次选择), 如果不止明,默认是roundrobin

priority=1 #yum 源的优先级,数值越低,表示优先级越高。

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #如果开启yum源包校验,则需要导入RPM公钥,此处只是在系统没有导入rpm公钥时候进行安装

2、yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever #yum 下载后的缓存目录

keepcache=0 #是否缓存,0:不缓存 1:缓存

debuglevel=2 #debuglevel:除错级别,0──10, 默认是:2 表示只记录安装和删除记录

logfile=/var/log/yum.log #yum 安装日志

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 #此选项仅对更新有影响,它启用yum的过时处理逻辑。 参阅 update

gpgcheck=1 #是否进行 gpg 校验,1:校验 0:不校验

plugins=1

installonly_limit=5

bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum

distroverpkg=centos-release

四、yum源配置

1、安装 apache 服务,做为 yum 源服务器的服务系统

[root@package ~]# yum -y install httpd

将 /Package 目录设置为 apache 的站点目录,具体设置方式,这里就不再赘述了,请参阅小弟的博文 http://blog.51cto.com/4746316/2326614

2、启动 anache 服务

[root@package ~]# systemctl start httpd [root@package ~]# systemctl enable httpd

3、创建 yum 仓库

[root@package ~]# createrepo -pdo /Package/ /Package/

执行该命令后,会在 /Package/ 目录下生成一个repodata 目录,进入该目录

[root@package ~]# cd/Package/repodata [root@package ~]# ll

如图,为目录中的文件


配置本地 YUM 源

4、配置 repo 文件

进入 /etc/yum.repos.d 目录

[root@package repodata]# cd /etc/yum.repos.d/

删除或者移动或者重命名其他的 yum 源配置文件,编辑我们自己的 yum 源配置文件

[root@package yum.repos.d]# mv * /opt [root@package yum.repos.d]# vim Localhost.repo

复制粘贴一下内容到该文件中

#阿里云

[aliyun-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/

http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#released updates

[aliyun-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/

http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful

[aliyun-extras]

name=CentOS-$releasever - Extras - mirrors.aliyun.com

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/

http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/

http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages

[aliyun-centosplus]

name=CentOS-$releasever - Plus - mirrors.aliyun.com

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/

http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/

http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/

gpgcheck=1

enabled=0

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#contrib - packages by Centos Users

[aliyun-contrib]

name=CentOS-$releasever - Contrib - mirrors.aliyun.com

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/

http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/

http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/

gpgcheck=1

enabled=0

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#163.com

[163-base]

name=CentOS-$releasever - Base - 163.com

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#released updates

[163-updates]

name=CentOS-$releasever - Updates - 163.com

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates

baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/

gpgcheck=1

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful

[163-extras]

name=CentOS-$releasever - Extras - 163.com

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras

baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/

gpgcheck=1

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages

[16

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

分页:12
转载请注明
本文标题:配置本地 YUM 源
本站链接:https://www.codesec.net/view/620834.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(17)