使用Linux命令行测试网速以及rhel使用Centos仓库 , 企业实际应用之同步远程yum源到本地

网速度变慢时,通常会先首先测试自己的电脑到网络服务提供商(通常被称为“最后一公里”)的网络连接速度。

Speedtest.net的工作原理:它在你的浏览器中加载JavaScript代码并自动检测离你最近的Speedtest.net服务器,然后向服务器发送HTTP GET and POST请求来测试上行/下行网速。

Speedtest.net提供了一个命令行版本――speedtest-cli

安装speedtest-cli

speedtest-cli是一个用Python编写的轻量级Linux命令行工具

它基于Speedtest.net的基础架构来测量网络的上/下行速率。下载其Python脚本文件。


  1. $ wget https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py

  2. $ chmod a+rx speedtest_cli.py

  3. $ sudo mv speedtest_cli.py /usr/local/bin/speedtest-cli

  4. $ sudo chown root:root /usr/local/bin/speedtest-cli</p>

使用speedtest-cli测试网速


  1. $ ./speedtest-cli

输入这个命令后,它会自动发现离你最近Speedtest.net服务器(地理距离),打印出测试的网络上/下行速率。

Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from China Mobile (117.184.103.74)...
Selecting best server based on ping...
Hosted by China Mobile Group Zhejiang Co.,Ltd (Hangzhou) [147.44 km]: 27.736 ms
Testing download speed........................................
Download: 8.77 Mbit/s
Testing upload speed..................................................
Upload: 6.95 Mbit/s

如果你愿意分享测试结果,你可以使用参数“�Cshare”。它将会把你的测试结果上传到Speedtest.net服务器并以图形的方式分享给其他人。

$ ./speedtest-cli --share

如果你对目前所有可用的Speedtest.net服务器感兴趣,你可以使用参数“�Clist”。它会打印出所有的Speedtest.net服务器(按照离你的地理距离由近及远排序)。

[root@SERVER-Test bin]# ./speedtest-cli --list | head -5
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
4665) China Mobile Group Shanghai Co.,LTD (Shanghai, China) [19.64 km]
3633) China Telecom (Shanghai, China) [19.64 km]
3927) China Mobile Jiangsu Co., Ltd. (Suzhou, China) [81.83 km]

在上面的列表中,每个服务器的前面都有一个与其对应的ID。如果想使用指定的服务器来测试你的网速,你只需要在speedtest-cli命令后指定其ID即可。例如,如果想使用在Washington DC的服务器,你只需要指定相对应的服务器ID(如935)。

wKioL1NLZlbgkSiaAAFVeC0gtwY025.jpg

机房综合测试报告:http://9988.in/jiaocheng/1733.html




RHEL6.4使用CentOS的YUM仓库源

Redhat的yum在线更新是收费的,如果没有注册的话是不能使用的,即不能在线安装软件,所以我们要更改默认的源为163的源

删除默认的yum源

rpm -aq | grep yum|xargs rpm -e --nodeps  

下载最新的yum安装包

wget http://ftp.nara.wide.ad.jp/pub/Linux/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm

wget http://ftp.nara.wide.ad.jp/pub/Linux/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm

wget http://ftp.nara.wide.ad.jp/pub/Linux/centos/6/os/x86_64/Packages/yum-3.2.29-40.el6.centos.noarch.rpm

wget http://ftp.nara.wide.ad.jp/pub/Linux/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm  

安装yum包

1  rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm

2  rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm

3  rpm -ivh yum-3.2.29-40.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm  

注意:最后两个包要一起安装,否则会以因为这两个安装包相互依赖到导致安装失败

更改yum源,

1.配置使用网易163的镜像源

cd /etc/yum.repos.d

可以去这里http://mirrors.163.com/.help/centos.html下载最新的CentOS-Base.repo文件

编辑文件,把文件里面的$releasever全部替换为版本号,即6最后保存(:0,$s/\$releasever/6/g)

 

2.配置使用中科大的yum源

  1. 进入中科大的软件库,下载镜像

 https://lug.ustc.edu.cn/wiki/mirrors/help

  2.在终端输入

在centos5/rhel5中 wget http://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/centos?codeblock=1

在centos6/rhel6中 wget http://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/centos?codeblock=1

3.转换为刚才下载的文件目录

cd /etc/yum.repos.d

如果是RHEL6的话ls一下,可以看到centos?codeblock=2文件

4.将其改名

mv centos?codeblock=2  CentOS-Base.repo

5.把CentOS-Base.repo里的$releasever改为6最后保存(:0,$s/\$releasever/6/g)

 

3.清理yum缓存

1   yum clean all

2   yum makecache#将服务器上的软件包信息缓存到本地,以提高搜索安装软件的速度

3   yum install xxxx #测试域名是否可



CentOS 5/6.X 使用 EPEL YUM源

一:CentOS 5.X 安装使用EPEL YUM源

1. 查看操作系统版本

[root@localhost ~]# lsb_release -a
LSB Version:    :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description:    CentOS release 5.5 (Final)
Release:        5.5
Codename:       Final
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

2.下载相应的EPEL源

(1).32位系统

[root@localhost src]# wget http://mirrors.yun-idc.com/epel/5/i386/epel-release-5-4.noarch.rpm

(2).64位系统

[root@localhost ~]# http://mirrors.hust.edu.cn/epel//5/x86_64/epel-release-5-4.noarch.rpm

3.安装EPEL源(注:我这里是64位系统)

[root@localhost src]# rpm -ivh epel-release-5-4.noarch.rpm
warning: epel-release-5-4.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]

4.导入key文件

[root@localhost src]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

5.查看安装的EPEL源

[root@localhost src]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
总计 24
-rw-r--r-- 1 root root 2245 2010-04-26 CentOS-Base.repo
-rw-r--r-- 1 root root  626 2010-04-26 CentOS-Media.repo
-rw-r--r-- 1 root root  954 2010-08-12 epel.repo #正式版,所有的软件都是稳定可以信赖的
-rw-r--r-- 1 root root 1054 2010-08-12 epel-testing.repo #最新的测试源

注:但是默认情况下,只有正式版是有效状态的,如果你想试试测试版的话,需要修改/etc/yum.repos.d/epel-testing.repo,把enabled=0改成enabled=1即可。


二:CentOS 6.X 安装使用EPEL YUM源

1. 查看操作系统版本

[root@node1 ~]# uname -a
Linux node1.test.com 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@node1 ~]# cat /etc/issue
CentOS release 6.4 (Final)
Kernel \r on an \m

2.下载相应的EPEL源

(1).32位系统

[root@node1 src]# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

(2).64位系统

[root@node1 ~]# http://mirrors.hust.edu.cn/epel//6/x86_64/epel-release-6-8.noarch.rpm
3.安装EPEL源(注:我这里是64位系统)
[root@node1 src]# rpm -ivh epel-release-6-8.noarch.rpm
warning: epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]

4.导入key文件

[root@node1 src]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

5.查看安装的EPEL源

[root@node1 src]# cd /etc/yum.repos.d/
[root@node1 yum.repos.d]# ll
总用量 24
-rw-r--r--. 1 root root 1926 2月  25 16:57 CentOS-Base.repo
-rw-r--r--. 1 root root  638 2月  25 16:57 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  623 7月  25 16:57 CentOS-Media.repo
-rw-r--r--. 1 root root 3664 2月  25 16:57 CentOS-Vault.repo
-rw-r--r--  1 root root  957 11月  5 2012 epel.repo
-rw-r--r--  1 root root 1056 11月  5 2012 epel-testing.repo

三:yumdownloader 工具

说明:EPEL中有很多好软件,我们可直接用yumdownloader就可以直接下载yum源中的rpm包,下面我们说一下使用方法

1. 安装 yum工具

[root@node1 ~]# yum -y install yum-utils

2.下载你想要下载软件,如heartbeat

[root@node1 src]# yumdownloader heartbeat

3.查看下载的rpm包

[root@node1 src]# ll
总用量 180
-rw-r--r-- 1 root root  14540 11月  5 2012 epel-release-6-8.noarch.rpm
-rw-r--r-- 1 root root 165244 5月  25 2011 heartbeat-3.0.4-1.el6.x86_64.rpm

四:卸载EPEL源

说明:如果你暂时不想使用EPEL的yum源的话,把对应文件里的enabled=1改成enabled=0就行了,如果你完全不需要了,那就直接卸载掉。

[root@node1 src]# rpm -e epel-release



RHEL/CentOS 7.x使用EPEL第三方yum源


# wget http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
# yum install epel-release-7-0.2.noarch.rpm
或者
# rpm -ivh epel-release-7-0.2.noarch.rpm

验证查看是否安装成功:
yum repolist

查看某个包的详细信息:
yum --enablerepo=epel info htop

列出epel源的所有包列表:
yum --disablerepo="*" --enablerepo="epel" list available | less




企业实际应用之同步远程yum源到本地


如果机房本地服务器过多,可以考虑在本地搭建一个yum源,让本地其他服务器来同步自己搭建的yum源,多个同时yum安装软件的话,很浪费带宽,而且yum源还不容易控制,比如有的软件安装需要epel源,有的需要rpmforge源,所以为了方便 管理与控制,在机房内网搭建了一个本地yum源,同步远程的base、epel与rpmforge源(主要是centos 5与6系统的32位于64位的源),内网的主机都通过dns解析后的域名来进行访问。

一、同步远程yum源到本地

下面是我的同步脚本

cat rsync_yumrepo.sh

#!/bin/bash
#Script name:rsync_yumrepo.sh
RsyncBin="/usr/local/rsync-3.1.0/bin/rsync"
RsyncPerm='-avrt --delete --no-iconv --bwlimit=1000'
Centos_5_base='/data/yum_repo/Centos-5/Base/'
Centos_5_epel='/data/yum_repo/Centos-5/Epel/'
Centos_5_rpmforge='/data/yum_repo/Centos-5/Rpmforge/'
Centos_6_base='/data/yum_repo/Centos-6/Base/'
Centos_6_epel='/data/yum_repo/Centos-6/Epel/'
Centos_6_rpmforge='/data/yum_repo/Centos-6/Rpmforge/'
LogFile='/data/yum_repo/rsync_yum_log'
Date=`date +%Y-%m-%d`
#check
function check {
if [ $? -eq 0 ];then
    echo -e "\033[1;32mRsync is success!\033[0m" >>$LogFile/$Date.log
else
    echo -e "\033[1;31mRsync is fail!\033[0m" >>$LogFile/$Date.log
fi
}
if [ ! -d "$LogFile" ];then
    mkdir $LogFile
fi
#rsync centos 5 base
echo 'Now start to rsync centos 5 base!' >>$LogFile/$Date.log
$RsyncBin $RsyncPerm rsync://mirrors.yun-idc.com/centos/5/os/ $Centos_5_base >>$LogFile/$Date.log
check
#rsync centos 5 epel
echo 'Now start to rsync centos 5 epel!' >>$LogFile/$Date.log
$RsyncBin $RsyncPerm --exclude=SRPMS/ --exclude=ppc/ rsync://mirrors.yun-idc.com/epel/5/ $Centos_5_epel >>$LogFile/$Date.log
check
#rsync centos 5 rpmforge
echo 'Now start to rsync centos 5 i386 rpmforge!' >>$LogFile/$Date.log
$RsyncBin $RsyncPerm rsync://ftp-stud.fht-esslingen.de/dag/redhat/el5/en/i386/rpmforge/ $Centos_5_rpmforge/i386/ >>$LogFile/$Date.log
check
echo 'Now start to rsync centos 5 x86_64 rpmforge!' >>$LogFile/$Date.log
$RsyncBin $RsyncPerm rsync://ftp-stud.fht-esslingen.de/dag/redhat/el5/en/x86_64/rpmforge/ $Centos_5_rpmforge/x86_64/ >>$LogFile/$Date.log
check
#rsync centos 6 base
echo 'Now start to rsync centos 6 base!' >>$LogFile/$Date.log
$RsyncBin $RsyncPerm rsync://mirrors.yun-idc.com/centos/6/os/ $Centos_6_base >>$LogFile/$Date.log
check
#rsync centos 6 epel
echo 'Now start to rsync centos 6 epel!' >>$LogFile/$Date.log
$RsyncBin  $RsyncPerm --exclude=SRPMS/ --exclude=ppc64/ rsync://mirrors.yun-idc.com/epel/6/ $Centos_6_epel  >>$LogFile/$Date.log
check
#rsync centos 6 rpmforge
echo 'Now start to rsync centos 6 i386 rpmforge!' >>$LogFile/$Date.log
$RsyncBin $RsyncPerm rsync://ftp-stud.fht-esslingen.de/dag/redhat/el6/en/i386/rpmforge/ $Centos_6_rpmforge/i386/ >>$LogFile/$Date.log
check
echo 'Now start to rsync centos 6 x86_64 rpmforge!' >>$LogFile/$Date.log
$RsyncBin $RsyncPerm rsync://ftp-stud.fht-esslingen.de/dag/redhat/el6/en/x86_64/rpmforge/ $Centos_6_rpmforge/x86_64/ >>$LogFile/$Date.log
check

主要是使用rsync(最新的3.1.0版本),然后使用tcp模式来进行连接,同步mirrors.yun-idc.com的base与epel源到本地,同步ftp-stud.fht-esslingen.de的rpmforge源到本地。然后文件目录与rsync参数自己根据需求修改。

把这个脚本放到crontab里,让它每天凌晨进行同步

00 02 * * * /bin/bash /data/yum_repo/rsync_yum_shell/rsync_yumrepo.sh

同步后会有一个日子记录,下面是我的日志

Now start to rsync centos 5 base!
*****************************************************
Welcome to CDS(yun-idc.com) Mirror Site Rsync Server!
*****************************************************
receiving incremental file list
sent 42 bytes  received 305,322 bytes  55,520.73 bytes/sec
total size is 10,349,249,542  speedup is 33,891.52
Rsync is success!
Now start to rsync centos 5 epel!
*****************************************************
Welcome to CDS(yun-idc.com) Mirror Site Rsync Server!
*****************************************************
receiving incremental file list
sent 64 bytes  received 1,284,809 bytes  856,582.00 bytes/sec
total size is 17,669,250,363  speedup is 13,751.75
Rsync is success!
Now start to rsync centos 5 i386 rpmforge!
Welcome to the ftp-stud.hs-esslingen.de archives.
If have any unusual problems, please report them via e-mail to
[email protected].
  All transfers are logged.
  If you don't like this policy, then disconnect now.
  This server does not support --checksum (-c)
  This server does not support --compress (-z)
receiving incremental file list
./
RPMS/
sent 33 bytes  received 548,502 bytes  84,390.00 bytes/sec
total size is 6,891,180,123  speedup is 12,562.88
Rsync is success!

上面日志都是没有新的同步情况,是因为我之前已经同步完成,远程源没有变化所以我本地也没有变更.


二、客户端的repo文件

1、配置web服务器,我选择nginx

我的vhost配置为

server {
        listen       80;
    server_name yum-server.****.net;
    index index.html index.htm index.php;
    root  /data/yum_repo/;
    error_page 502 = /502.html;
    location ~ .*\.(php|php5)?$ {
                #fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|mp3)$ {
        expires      30d;
    }
    location ~ .*\.(js|css)?$ {
        expires      12h;
    }
}
    log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
        '$status $body_bytes_sent "$http_referer" '
        '"$http_user_agent" $http_x_forwarded_for';
   access_log  /data/logs/access.log  access;

这个servername是你在dns里设置的名称,为了保密我没有写我真实的dns,大家可以根据自己的需求修改。

2、repo文件

Centos-Base-5.repo

[Base]
name=CentOS-Base5 $basearch
baseurl=http://yum-server.****.net/Centos-5/Base/$basearch
enable=1
gpgcheck=1
gpgkey=http://yum-server.****.net/Centos-5/Base/$basearch/RPM-GPG-KEY-CentOS-5
[Epel]
name=CentOS-Base5 $basearch
baseurl=http://yum-server.****.net/Centos-5/Epel/$basearch
enable=1
gpgcheck=0
[Rpmforge]
name=CentOS-Base5 $basearch
baseurl=http://yum-server.****.net/Centos-5/Rpmforge/$basearch
enable=1
gpgcheck=0

Centos-Base-6.repo

[Base]
name=CentOS-Base6 $basearch
baseurl=http://yum-server.****.net/Centos-6/Base/$basearch
enable=1
gpgcheck=1
gpgkey=http://yum-server.****.net/Centos-6/Base/$basearch/RPM-GPG-KEY-CentOS-6
[Epel]
name=CentOS-Base6 $basearch
baseurl=http://yum-server.****.net/Centos-6/Epel/$basearch
enable=1
gpgcheck=0
[Rpmforge]
name=CentOS-Base6 $basearch
baseurl=http://yum-server.****.net/Centos-6/Rpmforge/$basearch
enable=1
gpgcheck=0

然后进行下面操作:

1、按照不同的系统选择不同的repo文件,放到服务器的/etc/yum.repos.d里;

2、删除之前/etc/yum.repos.d里的repo;

3、清理缓存yum clean all;

4、将服务器上的软件包信息现在本地缓存,以提高搜索安装软件的速度 yum makecache.

[root@ip-10-10-13-8 bin]# cd /etc/yum.repos.d
[root@ip-10-10-13-8 yum.repos.d]# ll
总用量 4
-rw-r--r-- 1 root root 453 12月 16 10:04 Centos-Base-6.repo
[root@ip-10-10-13-8 yum.repos.d]# yum clean all
Loaded plugins: aliases, changelog, downloadonly, fastestmirror, kabi, presto, security, tmprepo, verify, versionlock
Loading support for CentOS kernel ABI
Cleaning repos: Base Epel Rpmforge
Cleaning up Everything
Cleaning up list of fastest mirrors
0 delta-package files removed, by presto
[root@ip-10-10-13-8 yum.repos.d]# yum makecache
Loaded plugins: aliases, changelog, downloadonly, fastestmirror, kabi, presto, security, tmprepo, verify, versionlock
Loading support for CentOS kernel ABI
Determining fastest mirrors
Base                                                                                                                                                                   
 | 3.7 kB     00:00  
Base/group_gz                                                                                                                                                          
 | 220 kB     00:00  
Base/filelists_db                                                                                                                                                      
 | 5.9 MB     00:00  
Base/primary_db                                                                                                                                                        
 | 4.4 MB     00:00  
Base/other_db                                                                                                                                                          
 | 2.8 MB     00:00  
Epel                                                                                                                                                                   
 | 4.2 kB     00:00  
Epel/group_gz                                                                                                                                                          
 | 237 kB     00:00  
Epel/filelists_db                                                                                                                                                      
 | 7.9 MB     00:00  
Epel/primary_db                                                                                                                                                        
 | 5.7 MB     00:00  
Epel/other_db                                                                                                                                                          
 | 3.3 MB     00:00  
Epel/updateinfo                                                                                                                                                        
 | 678 kB     00:00  
Rpmforge                                                                                                                                                               
 | 1.9 kB     00:00  
Rpmforge/filelists_db                                                                                                                                                  
 | 2.3 MB     00:00  
Rpmforge/primary_db                                                                                                                                                    
 | 2.7 MB     00:00  
Rpmforge/other_db                                                                                                                                                      
 | 564 kB     00:00  
Metadata Cache Created
[root@ip-10-10-13-8 yum.repos.d]# yum repolist
Loaded plugins: aliases, changelog, downloadonly, fastestmirror, kabi, presto, security, tmprepo, verify, versionlock
Loading support for CentOS kernel ABI
Loading mirror speeds from cached hostfile
repo
 
id                                                                               
 repo 
name                                                                                        
 status
Base                                                                                  
 CentOS-Base6 
x86_64                                                                                6,367
Epel                                                                                  
 CentOS-Base6 
x86_64                                                                               10,138
Rpmforge                                                                              
 CentOS-Base6 
x86_64                                                                                4,650
repolist: 21,155
[root@ip-10-10-13-8 yum.repos.d]# yum list|grep echoping
echoping.x86_64                          5.2.0-1.2.el6.rf               @Rpmforge

现在本地yum源就已经完成,可以控制软件源,并且由于走内网所有不浪费机房公网网络流量。

http://dl528888.blog.51cto.com/2382721/1342653 





Centos自建网络yum源配置

1、yum install httpd (安装Apache软件包,同理也可以使用nginx)

2、进入默认的Apache路径,新建yum源目录分类名;我这里创建了rpmpackage,实际上演示图省事,把cdrom的包copy过来了。

# cd /var/www/html/rpmpackage

3、安装createrepo软件包

 yum install createrepo

执行createrepo

# creataerepo /var/www/html/rpmpackage

在/var/www/html/rpmpackage目录下会自动生成repodata目录,repodata目录里是一个数据库,其中的文件主要是XML格式,描述了一个rpm包的详细信息,如依赖关系,包含文件,校验码信息。

4、修改apache默认配置

vim /etc/httpd/conf/httpd.conf
 
在最后加入:
 
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /home/yum
ServerName XXX.XXX.XXX #填写绑定的域名
<Directory "/home/yum">
Options Indexes FollowSymlinks
</Directory>
</VirtualHost>

5、重启apache

service httpd restart

显示如下:

wKioL1Urk-uyDdaSAAKpApSIuTg445.jpg

6、配置客户端的yum源配置文件

(1)清空客户端默认/etc/yum.repos.d/目录下的源文件

(2)新建    vim local-media.repo

wKioL1UrlGfhWO5KAABiGT2QkOs062.jpg

(3)清理缓存

yum clean all

(4)查看yum包

yum listall




yum 的配置文件讲解

分为两部分:main 和repository

  main 部分定义了全局配置选项,整个yum 配置文件应该只有一个main。常位于/etc/yum.conf 中。

  repository 定义每个源/服务器具体配置,可以有一到多个。位于/etc/yum.repo.d目录下各文件中。

# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum
    //yum 缓存的目录,yum 在此存储下载的rpm 包和数据库,默认设置为/var/cache/yum
keepcache=0
  //安装完成后是否保留软件包,0为不保留(默认为0),1为保留
debuglevel=2
  //Debug 信息输出等级,范围为0-10,缺省为2
logfile=/var/log/yum.log
  //yum 日志文件位置。用户可以到/var/log/yum.log 文件去查询过去所做的更新。
pkgpolicy=newest
  //包的策略。一共有两个选项,newest 和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository 中同时存在,yum 应该安装哪一个,如果是newest,则yum 会安装最新的那个版本。如果是last,则yum 会将服务器id 以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。
distroverpkg=redhat-release
  //指定一个软件包,yum 会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm 包。
tolerant=1
  //有1和0两个选项,表示yum 是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum 不会出现错误信息。默认是0。
exactarch=1
  //有1和0两个选项,设置为1,则yum 只会安装和系统架构匹配的软件包,例如,yum 不会将i686的软件包安装在适合i386的系统中。默认为1。
retries=6
  //网络连接发生错误后的重试次数,如果设为0,则会无限重试。默认值为6.
obsoletes=1
  //这是一个update参数,具体请参阅yum(8),简单说就是相当于upgrade,允许更新陈旧RPM包。
plugins=1
  //是否启用插件,默认1为允许,0表示不允许。我们一般会用yum-fastestmirror这个插件。
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum

# Note: yum-RHN-plugin doesn't honor this.
metadata_expire=1h

installonly_limit = 5

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
除了上述之外,还有一些可以添加的选项,如:
  exclude=selinux*  // 排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。
  gpgcheck=1  // 有1和0两个选择,分别代表是否是否进行gpg(GNU Private Guard) 校验,以确定rpm 包的来源是有效和安全的。这个选项如果设置在[main]部分,则对每个repository 都有效。默认值为0。
  
  
  
  
    
CentOS官方推荐的RPMforge软件仓库安装方法
RPMForge拥有4000多种CentOS的软件包,被CentOS社区认为是最安全也是最稳定的一个软件仓库。
1、确认系统是否安装了priority这个yum插件,这个插件用来保证安装软件时候软件仓库先后次序,一般是默认先从官方base或者镜像安装,然 后从社区用户contribute的软件中安装,再从第三方软件仓库中安装。当然这个次序可以自己更改,为了安全和稳定还是依照这个次序吧.
#yum install yum-priorities
安装完以后查看 /etc/yum/pluginconf.d/priorities.conf 文件,确认文件中有这一行
[main]
enabled=1
 
2、现在就可以手动编辑 /etc/yum.repos.d/ 目录中后缀为.repos的文件来设置软件仓库的先后次序
priority=N(N是整数,范围从1-99)
官方推荐配置是
[base], [addons], [updates], [extras] ... priority=1
[centosplus],[contrib] ... priority=2
Third Party Repos such as rpmforge ... priority=N 

3、现在开始安装rpmforge的软件仓库
a 先下载rpmforge的安装包
      i386 http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
      x86_64 http://apt.sw.be/redhat/el5/en/x86_64/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
*不知道什么架构的用 uname -i 命令查看
上面的包失效时,可以通过http://repoforge.org/use/去其官方去下。
b 安装DAG的PGP Key
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
c 验证下载包的完整性
rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm
d 安装包
rpm -i rpmforge-release-0.3.6-1.el5.rf.*.rpm
e 更改 /etc/yum.repos.d/rpmforge.repo 配置文件,就是添加
priority=3(或者1.2.4....)这一句
f 现在就可以使用rpmforge这个软件仓库了.

你可能感兴趣的:(linux)