欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

yum的配置文件yum.conf详解

yum的配置文件yum.conf详解

2016年12月03日 15:49:35 im5437 阅读数:9971更多                
个人分类: linux                

说明:经过网上抄袭和自己的总结加实验,非常详细,可留作参考。                

yum的配置一般有两种方式:   一种是直接配置/etc目录下的yum.conf文件, 另外一种是在/etc/yum.repos.d目录下增加.repo文件。 
一、yum的配置文件yum.conf详解                   
view sourceprint?                        
01.$ cat /etc/yum.conf                        
02.                         
03.[main]                        
04.cachedir=/var/cache/yum         #yum下载的RPM包的缓存目录                        
05.keepcache=0                        #缓存是否保存,1保存,0不保存。                        
06.debuglevel=2                       #调试级别(0-10),默认为2(具体调试级别的应用,我也不了解)。                        
07.logfile=/var/log/yum.log         #yum的日志文件所在的位置                        
08.exactarch=1             #在更新的时候,是否允许更新不同版本的RPM包,比如是否在i386上更新i686的RPM包。                        
09.obsoletes=1             #这是一个update的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。                        
10.gpgcheck=1             #是否检查GPG(GNU Private Guard),一种密钥方式签名。                        
11.plugins=1             #是否允许使用插件,默认是0不允许,但是我们一般会用yum-fastestmirror这个插件。                        
12.installonly_limit=3         #允许保留多少个内核包。                        
13.exclude=selinux*         #屏蔽不想更新的RPM包,可用通配符,多个RPM包之间使用空格分离。                        
14.#       This is the defaultif you make this bigger yum won't see if the metadata                        
15.# is newer on the remote and so you'll "gain" the bandwidth of not having to                        
16.# download the new metadata and "pay" for it by yum not having correct                        
17.# information.                        
18.# It is esp. important, to have correct metadata, for distributions like                        
19.# Fedora which don't keep old packages around. If you don't like this checking                        
20.# interupting your command line usage, it's much better to have something                        
21.# manually check the metadata once an hour (yum-updatesd will do this).                        
22.# metadata_expire=90m                        
23.# PUT YOUR REPOS HERE or IN separate files named file.repo                        
24.# in /etc/yum.repos.d                        
二、*.repo文件详解   什么是repo文件? repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!
我们以一份系统自带的repo文件做为实例来探讨(Fedora和redhat是一致的)(#号后面是我加的注释):                
view sourceprint?                        
01.[fedora]       #方括号里面的是软件源的名称,将被yum取得并识别                        
02.                         
03.name=Fedora $releasever - $basearch   #这里也定义了软件 仓库的名称,通常是为了方便阅读配置文件,一般没什么作用,$releasever变量定义了发行版本,通常是8910等数字,$basearch变 量定义了系统的架构,可以是i386、x86_64、ppc等值,这两个变量根据当前系统的版本架构不同而有不同的取值,这可以方便yum升级的时候选择 适合当前系统的软件包,以下同……                        
04.failovermethod=priority   #failovermethod 有两个值可以选择,priority是默认值,表示从列出的baseurl中顺序选择镜像服务器地址,roundrobin表示在列出的服务器中随机选择                        
05.exclude=compiz* *compiz* fusion-icon* #exclude这个选项是后来我自己加上去的,用来禁止这个软件仓库中的某些软件包的安装和更新,可以使用通配符,并以空格分隔,可以视情况需要自行添加                        
06.#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/                        
07.#上面的一行baseurl第一个字符是'#'表示该行已经被注释,将不会被读取,这一行的意思是指定一个baseurl(源的镜像服务器地址)                        
08.#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch                        
09.#上面的这一行是指定一个镜像服务器的地址列表,通常是开启的,本例中加了注释符号禁用了,我们可以试试,将$releasever和$basearch替换成自己对应的版本和架构,例如10和i386,在<a href="http://www.it165.net/edu/ewl/" target="_blank" class="keylink">浏览器</a>中打开,我们就能看到一长串镜可用的镜像服务器地址列表。                        
10.选择自己访问速度较快的镜像服务器地址复制并粘贴到repo文件中,我们就能获得较快的更新速度了,格式如下baseurl所示:                        
11.baseurl=                        
12.ftp://ftp.sfc.wide.ad.jp/pub/<a href="http://www.it165.net/os/oslin/" target="_blank" class="keylink">Linux</a>/Fedora/releases/10/Everything/i386/os                        
13.http://ftp.chg.ru/pub/<a href="http://www.it165.net/os/oslin/" target="_blank" class="keylink">Linux</a>/fedora/linux/releases/10/Everything/i386/os                        
14.http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/releases/10/Everything/i386/os                        
15.http://mirror.nus.edu.sg/fedora/releases/10/Everything/i386/os                        
16.http://mirror.yandex.ru/fedora/linux/releases/10/Everything/i386/os                        
17.http://ftp.twaren.net/Linux/Fedora/linux/releases/10/Everything/i386/os                        
18.http://ftp.itu.edu.tr/Mirror/Fedora/linux/releases/10/Everything/i386/os                        
19.                         
20.enabled=1 #这个选项表示这个repo中定义的源是启用的,0为禁用                        
21.gpgcheck=1 #这个选项表示这个repo中下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的                        
22.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch #定义用于校验的gpg密钥,就是数位签章的公钥档所在位置!                        
23.                         
24.##以下的软件仓库基本上用不到,选项含义同上                        
25.[fedora-debuginfo]                        
26.name=Fedora $releasever - $basearch - Debug                        
27.failovermethod=priority                        
28.#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/                        
29.mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-debug-$releasever&arch=$basearch                        
30.enabled=0                        
31.gpgcheck=1                        
32.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch                        
33.                         
34.[fedora-source]                        
35.name=Fedora $releasever - Source                        
36.failovermethod=priority                        
37.#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/                        
38.mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-source-$releasever&arch=$basearch                        
39.enabled=0                        
40.gpgcheck=1                        
41.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch                        
下面看看rhel5.8自带的repo文件                  
view sourceprint?                        
1.[root@10gasm yum.repos.d]# cat rhel-debuginfo.repo                        
2.[rhel-debuginfo]                        
3.name=Red Hat Enterprise Linux $releasever - $basearch - Debug                        
4.baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/                        
5.enabled=0                        
6.gpgcheck=1                        
7.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release                        
我自己设置的本地yum库                
view sourceprint?                        
1.[root@10gasm yum.repos.d]# cat dvd.repo                        
2.[dvd]                        
3.name=install dvd                        
4.baseurl=file:///mnt/Server                        
5.enabled=1                        
6.gpgcheck=0                        
非常简单。   可以使用下面的命令查看所有的容器配置(Repository)是否生效                
view sourceprint?                        
1.yum repolist all                        
使用all参数列出了所有的容器配置,如果不加all只列出可用的Repository,这个可用性取决于repo配置文件中的enabled参数,如果为0,则不可用,为1则可用 例如:                
view sourceprint?                        
1.[root@10gasm yum.repos.d]# yum repolist all                        
2.Loaded plugins: katello, product-id, security, subscription-manager                        
3.Updating certificate-based repositories.                        
4.Unable to read consumer identity                        
5.repo id                                           repo name                                                                       status                        
6.dvd                                               install dvd                                                                     <strong>enabled:3,285</strong>                        
7.rhel-debuginfo                                    Red Hat Enterprise Linux 5Server - x86_64 - Debug                               <strong>disabled</strong>                        
8.repolist: 3,285                        

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

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

view sourceprint?                        
01.[root@10gasm yum.repos.d]# yum repolist all                        
02.Loaded plugins: katello, product-id, security, subscription-manager                        
03.Updating certificate-based repositories.                        
04.Unable to read consumer identity                        
05.ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/x86_64/Debuginfo/repodata/repomd.xml: [Errno 4] IOError: <urlopen error (-3, 'Temporary failure in name resolution')>                        
06.Trying other mirror.                        
07.repo id                                           repo name                                                                      status                        
08.dvd                                               install dvd                                                                    enabled: 3,285                        
09.rhel-debuginfo                                    Red Hat Enterprise Linux 5Server - x86_64 - Debug                              <strong>enabled:     0</strong>                        
10.repolist: 3,285<br>                        

 0表示可用的包没有

来自 https://blog.csdn.net/im5437/article/details/53445142



Linux yum配置文件详解

说明:经过网上抄袭和自己的总结加实验,非常详细,可留作参考。        

yum的配置一般有两种方式:            
 
一种是直接配置/etc目录下的yum.conf文件,
另外一种是在/etc/yum.repos.d目录下增加.repo文件。

一、yum的配置文件yum.conf详解             
 
复制代码                    
$ 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
 
                   
复制代码                    
二、*.repo文件详解            
             
什么是repo文件?
repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!
我们以一份系统自带的repo文件做为实例来探讨(Fedora和redhat是一致的)(#号后面是我加的注释):
复制代码                
[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=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
#上面的一行baseurl第一个字符是'#'表示该行已经被注释,将不会被读取,这一行的意思是指定一个baseurl(源的镜像服务器地址)
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
#上面的这一行是指定一个镜像服务器的地址列表,通常是开启的,本例中加了注释符号禁用了,我们可以试试,将$releasever和$basearch替换成自己对应的版本和架构,例如10和i386,在浏览器中打开,我们就能看到一长串镜可用的镜像服务器地址列表。
选择自己访问速度较快的镜像服务器地址复制并粘贴到repo文件中,我们就能获得较快的更新速度了,格式如下baseurl所示:
baseurl=
ftp://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/releases/10/Everything/i386/os
http://ftp.chg.ru/pub/Linux/fedora/linux/releases/10/Everything/i386/os
http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/releases/10/Everything/i386/os
http://mirror.nus.edu.sg/fedora/releases/10/Everything/i386/os
http://mirror.yandex.ru/fedora/linux/releases/10/Everything/i386/os
http://ftp.twaren.net/Linux/Fedora/linux/releases/10/Everything/i386/os
http://ftp.itu.edu.tr/Mirror/Fedora/linux/releases/10/Everything/i386/os

enabled=1 #这个选项表示这个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=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-debug-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

[fedora-source]
name=Fedora $releasever - Source
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-source-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
               
复制代码                

 

 

下面看看rhel5.8自带的repo文件            
 
复制代码                    
[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=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
                   
复制代码                    
我自己设置的本地yum库
[root@10gasm yum.repos.d]# cat dvd.repo 
[dvd]
name=install dvd
baseurl=file:///mnt/Server
enabled=1
gpgcheck=0
               
非常简单。
 
可以使用下面的命令查看所有的容器配置(Repository)是否生效
yum repolist all
               
使用all参数列出了所有的容器配置,如果不加all只列出可用的Repository,这个可用性取决于repo配置文件中的enabled参数,如果为0,则不可用,为1则可用
例如:
复制代码                    
[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,285
rhel-debuginfo                                    Red Hat Enterprise Linux 5Server - x86_64 - Debug                               disabled
repolist: 3,285
                   
复制代码                    

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

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

复制代码                    
[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
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/x86_64/Debuginfo/repodata/repomd.xml: [Errno 4] IOError: <urlopen error (-3, 'Temporary failure in name resolution')>
Trying other mirror.
repo id                                           repo name                                                                      status
dvd                                               install dvd                                                                    enabled: 3,285
rhel-debuginfo                                    Red Hat Enterprise Linux 5Server - x86_64 - Debug                              enabled:     0
repolist: 3,285
                   
复制代码                    

 0表示可用的包没有

来自   https://www.cnblogs.com/haoxiaoyu/p/3971363.html

普通分类: