linux yum源配置详解,配置YUM源的步骤(原理)
发布日期:2021-10-27 11:20:50 浏览次数:8 分类:技术文章

本文共 4803 字,大约阅读时间需要 16 分钟。

yum的配置一般有两种方式:

一种是直接配置/etc目录下的yum.conf文件,

另外一种是在/etc/yum.repos.d目录下增加.repo文件。

一、yum的配置文件yum.conf详解

69c5a8ac3fa60e0848d784a6dd461da6.png

$ cat /etc/yum.conf

[main]

cachedir=/var/cache/yum         #yum下载的RPM包的缓存目录

keepcache=0                        #缓存是否保存,1保存,0不保存。

debuglevel=2                       #调试级别(0-10),默认为2(具体调试级别的应用,我也不了解)。

logfile=/var/log/yum.log         #yum的日志文件所在的位置

exactarch=1             #在更新的时候,是否允许更新不同版本的RPM包,比如是否在i386上更新i686的RPM包。

obsoletes=1             #这是一个update的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。

gpgcheck=1             #是否检查GPG(GNU Private Guard),一种密钥方式签名。

plugins=1             #是否允许使用插件,默认是0不允许,但是我们一般会用yum-fastestmirror这个插件。

installonly_limit=3         #允许保留多少个内核包。

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

#       This is the default, if you make this bigger yum won't see if the metadata# is newer on the remote and so you'll "gain" the bandwidth of not having to# download the new metadata and "pay" for it by yum not having correct

# information.

# It is esp. important, to have correct metadata, for distributions like

# Fedora which don't keep old packages around. If you don't like this checking

# interupting your command line usage, it's much better to have something# manually check the metadata once an hour (yum-updatesd will do this).

# metadata_expire=90m

# PUT YOUR REPOS HERE or IN separate files named file.repo

# in /etc/yum.repos.d

69c5a8ac3fa60e0848d784a6dd461da6.png

二、*.repo文件详解

什么是repo文件?

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

我们以一份系统自带的repo文件做为实例来探讨(Fedora和redhat是一致的)(#号后面是我加的注释):

69c5a8ac3fa60e0848d784a6dd461da6.png

[fedora]       #方括号里面的是软件源的名称,将被yum取得并识别name=Fedora $releasever - $basearch   #这里也定义了软件 仓库的名称,通常是为了方便阅读配置文件,一般没什么作用,$releasever变量定义了发行版本,通常是8,9,10等数字,$basearch变 量定义了系统的架构,可以是i386、x86_64、ppc等值,这两个变量根据当前系统的版本架构不同而有不同的取值,这可以方便yum升级的时候选择 适合当前系统的软件包,以下同……failovermethod=priority   #failovermethod 有两个值可以选择,priority是默认值,表示从列出的baseurl中顺序选择镜像服务器地址,roundrobin表示在列出的服务器中随机选择exclude=compiz* *compiz* fusion-icon* #exclude这个选项是后来我自己加上去的,用来禁止这个软件仓库中的某些软件包的安装和更新,可以使用通配符,并以空格分隔,可以视情况需要自行添加#baseurl=

#上面的一行baseurl第一个字符是'#'表示该行已经被注释,将不会被读取,这一行的意思是指定一个baseurl(源的镜像服务器地址)

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

选择自己访问速度较快的镜像服务器地址复制并粘贴到repo文件中,我们就能获得较快的更新速度了,格式如下baseurl所示:baseurl=ftp://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/releases/10/Everything/i386/os这个选项表示这个repo中定义的源是启用的,0为禁用gpgcheck=1 #这个选项表示这个repo中下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch #定义用于校验的gpg密钥,就是数位签章的公钥档所在位置!##以下的软件仓库基本上用不到,选项含义同上[fedora-debuginfo]

name=Fedora $releasever - $basearch - Debug

failovermethod=priority

#baseurl=[fedora-source]

name=Fedora $releasever - Source

failovermethod=priority

#baseurl=

69c5a8ac3fa60e0848d784a6dd461da6.png

下面看看rhel5.8自带的repo文件

69c5a8ac3fa60e0848d784a6dd461da6.png

[root@10gasm yum.repos.d]# cat rhel-debuginfo.repo

[rhel-debuginfo]

name=Red Hat Enterprise Linux $releasever - $basearch - Debug

baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

69c5a8ac3fa60e0848d784a6dd461da6.png

我自己设置的本地yum库

[root@10gasm yum.repos.d]# cat dvd.repo

[dvd]

name=install dvd

baseurl=file:///mnt/Serverenabled=1gpgcheck=0

非常简单。

可以使用下面的命令查看所有的容器配置(Repository)是否生效

yum repolist all

使用all参数列出了所有的容器配置,如果不加all只列出可用的Repository,这个可用性取决于repo配置文件中的enabled参数,如果为0,则不可用,为1则可用

例如:

69c5a8ac3fa60e0848d784a6dd461da6.png

[root@10gasm yum.repos.d]# yum repolist all

Loaded plugins: katello, product-id, security, subscription-manager

Updating certificate-based repositories.

Unable to read consumer identity

repo id                                           repo name                                                                       status

dvd                                               install dvd                                                                     enabled: 3,285rhel-debuginfo                                    Red Hat Enterprise Linux 5Server - x86_64 - Debug                               disabledrepolist: 3,285

69c5a8ac3fa60e0848d784a6dd461da6.png

显示出dvd这个repository是可用的,有3285个文件,rhel-debuginfo这个库是不可用的。

如果修改rhel-debuginfo中enabled为1然后再次查看

69c5a8ac3fa60e0848d784a6dd461da6.png

[root@10gasm yum.repos.d]# yum repolist all

Loaded plugins: katello, product-id, security, subscription-manager

Updating certificate-based repositories.

Unable to read consumer identityftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/x86_64/Debuginfo/repodata/repomd.xml: [Errno 4] IOError: Trying other mirror.

repo id                                           repo name                                                                      status

dvd                                               install dvd                                                                    enabled: 3,285rhel-debuginfo                                    Red Hat Enterprise Linux 5Server - x86_64 - Debug                              enabled:     0repolist: 3,285

配置好以后,执行yum update,报错:Error performing checksum

[root@web1 yum.repos.d]# yum update

Loaded plugins: katello, product-id,security, subscription-manager

Updating certificate-based repositories.

Unable to read consumer identity

base                                                                                                        | 3.7 kB     00:00

base/primary_db                                                                                              |4.4 MB     00:02

Trying other mirror.

base/primary_db                                                                                             | 4.4 MB     00:02

[Errno -3] Error performing checksum

Trying other mirror.

Error: failure:repodata/1e584feac3f3fb76ad4b6fb7e1bc8d44fa124814e9d186dc913ded3c63a216b3-primary.sqlite.bz2from base: [Errno 256] No more mirrors to try.

google了一下,说是在rhel 6 中 repomd.xml 文件使用 sha256 作为hash

算法

,在rhel 5中 默认使用的是sha 作为hash 算法。

但我是在redhat 5.8 上使用5.9的yum。 也出现了这种错误。

# yum clean all 清空yum的注册记录.

转载地址:https://blog.csdn.net/weixin_34518190/article/details/116894047 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:linux trac cgi apache,Apache安全加固的方法
下一篇:usb共享网络 dns linux,Linux网络服务之DNS

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年03月26日 07时59分44秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

select 移动端 第一个无法选中_Python爬虫微博(移动端)评论 2019-04-21
华为云welink成像是反的_华为发布智能办公神器WeLink,可连接会议室开会,还可一键遥控报销和智能翻译... 2019-04-21
唱好铁血丹心谐音正规_趙贤典:打好“感情牌” 唱好“大合唱” 2019-04-21
aix系统vi修改命令_Linux基础知识必备:利用vi编辑器创建和编辑正文文件 2019-04-21
天涯明月刀开发_玩家被天涯明月刀手游“冷落”?六大门派角色竟不带正眼看人... 2019-04-21
this指向undefined uiapp_一个this都没有,真好 2019-04-21
add p4 多个文件_2-3【微信小程序全栈开发课程】index页面完善--vue文件代码解析... 2019-04-21
5w2h原则指的是什么_什么是5W2H分析法?一首小诗带入进入大门。 2019-04-21
技校毕业是什么学历_中等职业学校是什么_中等职业学校毕业是什么学历 2019-04-21
2压缩备份数据库_MySQL数据备份与恢复(二) xtrabackup工具 2019-04-21
英特尔cpu发布时间表_被嘲讽的英特尔核显,强大能力其实超乎你的想象 2019-04-21
chi2inv函数 matlab_MATLAB概率和统计(2) 2019-04-21
lisp修改上一个图素_在Windows上安装Haskell 2019-04-21
ad19 导出step 没有pcb_几款主流PCB软件哪个最好用,你用过几款? 2019-04-21
json mysql 字段 默认值_Newtonsoft.Json 六个超简单又实用的特性,值得一试 【上篇】... 2019-04-21
ocdma相干非相干_《Acconeer 60GHz脉冲相干雷达芯片:A111》 2019-04-21
修改表格字体颜色_Excel技巧:Excel如何修改字体颜色 2019-04-21
native react 变颜色 点击_React Native主动更改StackNavigator标头颜色 2019-04-21
prism项目搭建 wpf_WPF MVVM使用prism4.1搭建 2019-04-21
python发微信红包群_用Python实现微信自动化抢红包,再也不用担心抢不到红包了... 2019-04-21