repo文件简介

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

yum原理

YUM的工作原理并不复杂,每一个 RPM软件的头(header)里面都会纪录该软件的依赖关系,那么如果可以将该头的内容纪录下来并且进行分析,可以知道每个软件在安装之前需要额外安装 哪些基础软件。也就是说,在服务器上面先以分析工具将所有的RPM档案进行分析,然后将该分析纪录下来,只要在进行安装或升级时先查询该纪录的文件,就可 以知道所有相关联的软件。所以YUM的基本工作流程如下:

服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。

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

自定义repo文件

1、进入/etc/yum.repos.d
2、创建repo文件

vim Kubernetes.repo

在这里插入图片描述
3、执行yum repolist查看配置情况
在这里插入图片描述

元素说明

[serverid]

其中serverid是用于区别各个不同的repository,必须有一个独一无二的名称。用enabled 测试是后面覆盖前面
上图中的serverid就是Kubernetes

name

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

baseurl

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之后可以加上多个选项,如gpgcheck、exclude、failovermethod等,比如:

gpgcheck

gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的。gpgcheck= 这里等于0表不启用gpgkey,为1表启用gpgkey

gpgkey

官方在发布RPM包时,会提供一个GPG密钥文件,即所谓的公钥,用户下载安装这个RPM包时,引入这个RPM GPG公钥,用来验证RPM包是不是官方签名的

exclude

exclude 排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。

enabled

当某个软件仓库被配置成 enabled=0 时,yum 在安装或升级软件包时不会将该仓库做为软件包提供源。使用这个选项,可以启用或禁用软件仓库。这里等于0表不启用baseurl,为1表启用baseurl路径

扩展

yum.conf 解释

在这里插入图片描述
[main]

cachedir=/var/cache/yum

cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。

keepcache=[1 or 0]

设置 keepcache=1,yum 在成功安装软件包之后保留缓存的头文件 (headers) 和软件包。默认值为 keepcache=0 不保存

debuglevel=2

debuglevel:除错级别,0──10,默认是2 貌似只记录安装和删除记录

logfile=/var/log/yum.log

yum的日志文件所在的位置

exactarch=1

exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用1686的包来升级。

obsoletes=1

简单的说就是相当于upgrade,允许更新陈旧的RPM包

gpgcheck=1

gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的。

plugins=1

是否允许使用插件,默认是0不允许,

installonly_limit

允许保留多少个内核包

distroverpkg

指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包

exclude

屏蔽不想更新的RPM包,可用通配符,多个RPM包之间使用空格分离

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐