Linux自定义repo文件

Posted LucasSong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux自定义repo文件相关的知识,希望对你有一定的参考价值。

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
1

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/
1
2
3
其中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/
1
2
3
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包之间使用空格分离
————————————————
版权声明:本文为CSDN博主「牵着蜗牛去散步_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010859650/java/article/details/90679856

以上是关于Linux自定义repo文件的主要内容,如果未能解决你的问题,请参考以下文章

ABP.IO CLI:尝试使用 repo 中的 templates\app 文件夹从自定义模板创建应用程序

yum工具使用 -- 配置自定义yum源

华为云自定义私有镜像

是否可以使用maven jmeter插件使用自定义编写的扩展库(未发布到maven repo)

text 从自定义Github repo安装Heroku依赖项

自定义第三方YUM源