什么是repo文件?
repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!我们以一份系统自带的repo文件做为实例来探讨(#号后面是我加的注释): [fedora] #方括号里面的是软件源的名称,将被yum取得并识别
name=Fedora $releasever - $basearch #这里也定义了 软件 仓库的名称,通常是为了方便阅读配置文件,一般没什么作用,$releasever变量定义了发行版本,通常是8,9,10等数字,$basearch变 量定义了系统的架构,可以是i386、x86_64、ppc等值,这两个变量根据当前系统的版本架构不同而有不同的取值,这可以方便yum升级的时候选择 适合当前系统的软件包,以下同……
enabled=1 #这个选项表示这个repo中定义的源是启用的,0为禁用
##以下的软件仓库基本上用不到,选项含义同上
[fedora-source] 摘自http://gcell.yo2.cn/archives/632695 格物之致
以下 摘自 麦麦的不老阁 www.im321.com/blog/article.asp
在众多的Linux distribution中,由“Red Hat, Inc.”与开源社区合作发行的fedora,在Linux Desktop上的受欢迎程度是相当高的。fedora很好用,对硬件的支持相当度相当高,更关键的是有“Red Hat Inc.“的支持。但是,fedora fans最郁闷的事情莫过于源的问题了,在国内没有一个像样的镜像源,看着ubuntu fans 使用apt安装、更新的时候,速度是飞奔,而我们fedora fans使用yum的时候,看着蜗牛般下载速度,我们只有泪崩的份,相信YUM的速度问题,一直是fedora fans心中的痛吧!
[marco.chan@fedora ~]$ 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文件中的内容可以包含在yum.conf文件中,但是默认会放在/etc/yum.repos.d/这个目录下,方便编辑,也为了方便区分不同源的文件。 然后看一下我系统中的.repo:
[marco.chan@fedora ~]$ ls /etc/yum.repos.d/ -l
-rw-r--r-- 1 root root 962 2009-03-14 16:57 fedora-asia-release.repo -rw-r--r-- 1 root root 738 2009-03-14 16:57 fedora-asia-update.repo -rw-r--r-- 1 root root 153 2009-03-14 19:46 fedora-dvdiso.repo -rw-r--r-- 1 root root 317 2009-03-15 13:10 fedora-redhat-release.repo -rw-r--r-- 1 root root 317 2009-03-15 13:11 fedora-redhat-update.repo -rw-r--r-- 1 root root 316 2009-03-15 20:21 fedora-second-depository-release.repo -rw-r--r-- 1 root root 263 2009-03-14 23:10 fedora-second-depository-updates.repo -rw-r--r-- 1 root root 1126 2009-01-15 23:50 jpackage17.repo -rw-r--r-- 1 root root 1035 2007-06-06 01:45 planetccrma.repo #以上9个是我自己添加的.repo和相对陌生的第三方源文件。以下是系统默认的以及rpmfusion的源。 -rw-r--r-- 1 root root 1963 2009-03-14 15:29 fedora-rawhide.repo -rw-r--r-- 1 root root 1093 2009-03-14 23:43 fedora.repo -rw-r--r-- 1 root root 1267 2009-03-15 14:55 fedora-updates.repo -rw-r--r-- 1 root root 1181 2008-11-07 04:06 fedora-updates-testing.repo -rw-r--r-- 1 root root 1022 2009-03-14 16:56 rpmfusion-free-rawhide.repo -rw-r--r-- 1 root root 1079 2009-03-14 15:30 rpmfusion-free.repo -rw-r--r-- 1 root root 1134 2009-03-14 15:30 rpmfusion-free-updates.repo -rw-r--r-- 1 root root 1194 2008-11-03 21:15 rpmfusion-free-updates-testing.repo -rw-r--r-- 1 root root 1067 2008-11-15 18:29 rpmfusion-nonfree-rawhide.repo -rw-r--r-- 1 root root 1124 2009-03-14 15:30 rpmfusion-nonfree.repo -rw-r--r-- 1 root root 1179 2009-03-14 15:30 rpmfusion-nonfree-updates.repo -rw-r--r-- 1 root root 1239 2008-11-03 21:18 rpmfusion-nonfree-updates-testing.repo yum加速,关于yum的加速无非就是选择一个快速的源,或者是多线程下载(yum本身是单线程): 方法一、安装yum-fastestmirror这个插件. 说明:这个插件的效果并非和描述的那样好“自动选择最快的源”。其实yum-fastestmirror使用简单的ping方式,以延时的大小来判断源主机是否是最快的源,实际上这方法并不可靠。 安装:
sudo yum -y install yum-fastestmirror
如果你仔细观察过yum的话,我们大陆用户基本会选择到台.湾的主机作为最快的源,而实际上根据我个人的经验,台湾的源一般都跟蜗牛似的。所以我选择了屏蔽了.tw的源,屏蔽的方式为: sudo vi /etc/yum/pluginconf.d/fastestmirror.conf 添加这一句:exclude=.tw, .twaren.net 方法二、安装yum-axelget。 说明:yum是单线程下载的,而axel是一个多线程下载软件。yum-axelget在yum运行的时候,自动调用axel来多线程下载,从而达到加速的目的。 安装:使用rpm命令安装axel,yum-axelget。 方法三、安装yum-presto。 用 户只需要下载每一个软件的增量内容(用drpm打包而成),在本地计算机重新生成一个完整的软件包再安装。通常增量更新只有很小的下载量,因而即使很大量 的内容要更新,所耗费的时间必然比传统方法要少很多。不过presto系统还在测试之中,而且只有一个服务器提供presto更新,速度也不怎么样。目前 presto只提供Fedora 9、Fedora 10和Fedora Rawhide三个版本的更新。
sudo yum -y install yum-presto
Installation
In Fedora, run "yum install yum-presto". Then enable a presto repository listed below. Presto Repositories To use presto in Fedora, you need to have some presto repositories enabled. Easy setup: The easy way (if you're running F9 or F10 (i386, x86_64)) is to change the mirrorlist For F9, in /etc/yum.repos.d/fedora-updates-newkey.repo change the mirrorlist to: mirrorlist=http://presto-mirrors.anmar.eu.org/mirrorlist?repo=updates-released-f$releasever.newkey&arch=$basearch For F10, in /etc/yum.repos.d/fedora-updates.repo change the mirrorlist to: mirrorlist=http://presto-mirrors.anmar.eu.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch Hard setup: If you prefer to set the baseurl directly, use the following: Fedora Rawhide: To use the presto repository in Fedora Rawhide, you need to change your baseurl in /etc/yum.repos.d/fedora-rawhide.repo to point to the one below. i386: baseurl=http://lesloueizeh.com/devel/i386/development Fedora 10: To use the presto repository in Fedora 10, you need to change your baseurl in /etc/yum.repos.d/fedora-updates.repo to point to the one below. i386: baseurl=http://lesloueizeh.com/f10/i386/updates x86_64: baseurl=http://dl.anmar.eu.org/repos/f10/updates-x86_64 A big thank you to Angel Marin for creating and hosting the x86_64 deltarpms for F10! Fedora 9: To use the presto repository in Fedora 9, you need to change your baseurl in /etc/yum.repos.d/fedora-updates-newkey.repo to point to the one below. i386: baseurl=http://lesloueizeh.com/f9/i386/updates.newkey x86_64: baseurl=http://dl.anmar.eu.org/repos/f9/updates-x86_64.newkey A big thank you to Angel Marin for creating and hosting the x86_64 deltarpms for F9! Releases: Fedora 9, 10 and Rawhide 方法三、挑选自己满意的源。 以附件形式放上来! 方法四、安装专门的第三方源。 对于一些国内的源,大都只适合教育网用户,因为我不是教育网用户,所以无法测试,我自己只用了上海交大自由软件(free software)资源镜像这一个。另外,大家期待163mirrors,除了fedoar ISO之外,并没有同步其他的RPM包。 1、Planetccrma http://ccrma.stanford.edu/planetccrma/software/ 安装: http://ccrma.stanford.edu/planetccrma/software/installplanetnine.html For Fedora 9: rpm -Uvh http://ccrma.stanford.edu/planetccrma/mirror/fedora/linux/planetccrma/9/i386/planetccrma-repo-1.1-2.fc9.ccrma.noarch.rpm For Fedora 10: rpm -Uvh http://ccrma.stanford.edu/planetccrma/mirror/fedora/linux/planetccrma/10/i386/planetccrma-repo-1.1-2.fc10.ccrma.noarch.rpm 2、jpackage http://www.jpackage.org/ 下载.repo文件,保存到/etc/yum.repos.d/ 下。http://www.jpackage.org/jpackage17.repo 3、RPM Fusion http://rpmfusion.org/ rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm 4、ATrpms http://atrpms.net/ 5、rpm.livna.org(已经合并) http://rpm.livna.org/ 6、freshrpms(已经合并) http://freshrpms.net 7、rpmfind(法国东部的一个城市) http://www.rpmfind.net/ 安装 ftp://rpmfind.net/pub/rpmfind/ 8、RPM.pbone.net http://rpm.pbone.net/ 一个付费的yum repository。可以注册一个用户,免费试用14天,依照自己的需求配置不同的.repo文件。 比如:
This is experimental system. Use it on own risk.
Copy below section and put it into /etc/yum.repos.d/pbone.repo file. [65i386] name=PBONE Fedora 10 i386 baseurl=http://yum.pbone.net/65/i386/ gpgcheck=0 proxy=http://proxy.pbone.net:3127/ proxy_username=marco proxy_password=123456789 [65noarch] name=PBONE Fedora 10 noarch baseurl=http://yum.pbone.net/65/noarch/ gpgcheck=0 proxy=http://proxy.pbone.net:3127/ proxy_username=marco proxy_password=123456789 (责任编辑:IT) |