问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Linux里面repo文件作用是什么?

发布网友 发布时间:2022-03-06 18:04

我来回答

3个回答

热心网友 时间:2022-03-06 19:33

是yum源的配置文件《linux就该这么学》不错的linux自学书籍

热心网友 时间:2022-03-06 20:51

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

热心网友 时间:2022-03-06 22:26

什么是repo文件?
repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!
YUM的工作原理并不复杂,每一个 RPM软件的头(header)里面都会纪录该软件的依赖关系,那么如果可以将该头的内容纪录下来并且进行分析,可以知道每个软件在安装之前需要额外安装哪些基础软件。也就是说,在服务器上面先以分析工具将所有的RPM档案进行分析,然后将该分析纪录下来,只要在进行安装或升级时先查询该纪录的文件,就可以知道所有相关联的软件。所以YUM的基本工作流程如下:
服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

vi /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/yy.rm #默认是 /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] 片段相同)。

第二部分:
vi /etc/yum.repo.d/xx.repo
这个字段其实也可以在yum.conf里面直接配置

[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。
对yum.conf设定完成,我们就可以好好体验yum带来的方便了。

还有一件事没有做。那就是导入每个reposity的GPG key,前面说过,yum可以使用gpg对包进行校验,确保下载包的完整性,所以我们先要到各个repository站点找到gpg key,一般都会放在首页的醒目位置,一些名字诸如 RPM-GPG-KEY.txt之类的纯文本文件,把它们下载,然后用rpm --import xxx.txt命令将它们导入,最好把发行版自带GPG-KEY也导入,rpm --import /usr/share/doc/redhat-release-*/RPM-GPG-KEY 官方软件升级用的上。

参考:http://hi.baidu.com/iris_chow/blog/item/0b414613de76b1c2c3fd788d.html
http://kpjack.blog.51cto.com/627289/128325
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
tlbb2怎样做神器 TLBB2装备图样 TLBB2 一身6星50~70手工大致要花多少钱 tlbb2手工问题 TLBB2高手进 TLBB怎么做好手工啊? tlbb2手工装备怎么弄出来 请说出制作全过程 tlbb2手工怎么做 tlbb2做手工装备要学什么技能 具体点 ,,,不是做武器 是装备 原创|资产剥离的常见形式及对应涉税问题解析 许巍的《我们》 歌词 repo网络意思是? word删除最后一页 同人本圈里面的repo是什么意思啊 我们拼音怎么拼? 橡皮章repo是什么意思 linux repo是什么意思 同人本中repo是什么意思? 许巍的《我们》歌词是? 饭圈repo什么意思 怎么才能把EXCEL中每一张工作表快速设置成相同的行高、列宽、字体(即设置成相同的单元格)? repo是什么意思? 饭圈repo是什么意思啊 在excel中如何将单元格行距行高变相等 REPO是什么意思 REPO是什么意思? 这瓜保熟吗下一句是什么? 哥们,这瓜保熟吗? 苹果11咋设置电池百分比 你这瓜保熟吗下一句是什么? 我们的拼音是什么? 编程中被别人mergo到repo啥意思 repoct什么意思 “我们”的英语 repotosb是什么意思 congê,vacance,repo的区别 古文或文言文里称呼“我们”怎么说? 我们是什么意思? 我们是什么意思 歌词中带有我们 Y2K 是什么意思? 什么是Y2K妆容?怎样才能画好Y2K妆容? 什么我们什么造句 y2k是什么意思 y2k跟赛博朋克的区别是什么? 我们的 英语怎么说? y2k是什么风格? 草蜢的《我们》 歌词 y2k是什么风格? 我们的排比句