自动设置和寻找最快的源脚本

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
oneleaf
论坛管理员
帖子: 10236
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04
送出感谢: 7 次
接收感谢: 106 次

自动设置和寻找最快的源脚本

#1

帖子 oneleaf » 2005-07-25 18:55

代码: 全选

#!/bin/bash
#Copyright (c) 2005 ubuntu.org.cn
#License: GPLv2 
if [ $# != 1 ] | \
   [ "$1" != "hoary" -a "$1" != "breezy" ]; then
   echo "Use: sudo $0 (hoary|breezy)";
   echo "Example: sudo $0 breezy";
   exit 1;
fi

if [ !$USER = "root" ]; then
   echo "$0 must run by sudo";
   exit 1;
fi

echo "Seting $1...";
MIRRORS="http://mirror.isp.net.au/ftp/pub/ubuntu/ \
ftp://linux.xjtu.edu.cn/mirror/ubuntu/ubuntu/ \
http://mirror.lupaworld.com/ubuntu/archive/ \
http://ubuntu.cn99.com/ubuntu/ \
ftp://mirror.isp.net.au/pub/ubuntu/ \
ftp://ftp.filearena.net/pub/ubuntu/ \
http://mirror.optus.net/ubuntu/ \
http://ubuntu.inode.at/ubuntu/ \
ftp://ubuntu.inode.at/ubuntu/ \
http://ubuntu.uni-klu.ac.at/ubuntu/ \
ftp://ftp.uni-klu.ac.at/linux/ubuntu/ \
ftp://gd.tuwien.ac.at/opsys/linux/ubuntu/archive/ \
http://gd.tuwien.ac.at/opsys/linux/ubuntu/archive/ \
http://ftp.belnet.be/pub/mirror/ubuntu.com/ \
ftp://ftp.belnet.be/pub/mirror/ubuntu.com/ \
http://ubuntu.mirrors.skynet.be/pub/ubuntu.com/ \
ftp://ubuntu.mirrors.skynet.be/pub/ubuntu.com/ \
http://mirror.freax.be/ubuntu/archive.ubuntu.com/ \
http://ftp.interlegis.gov.br/pub/ubuntu/archive/ \
http://ubuntu.c3sl.ufpr.br/ubuntu/ \
ftp://ftp.cs.mun.ca/pub/mirror/ubuntu/ \
http://archive.ubuntu.org.cn/ubuntu/ \
http://archive.ubuntu.cz/ubuntu/ \
ftp://archive.ubuntu.cz/ubuntu/ \
http://mirrors.dk.telia.net/ubuntu/ \
ftp://mirrors.dk.telia.net/ubuntu/ \
http://mirrors.dotsrc.org/ubuntu/ \
ftp://mirrors.dotsrc.org/ubuntu/ \
http://klid.dk/homeftp/ubuntu/ \
ftp://klid.dk/ubuntu/ \
http://ubuntu.mirror.mmd.net/ubuntu/ \
ftp://ubuntu.mirror.mmd.net/ubuntu/ \
http://mir1.ovh.net/ubuntu/ubuntu/ \
ftp://mir1.ovh.net/ubuntu/ubuntu/ \
ftp://debian.charite.de/ubuntu/ \
http://debian.charite.de/ubuntu/ \
http://ftp.inf.tu-dresden.de/os/linux/dists/ubuntu/ \
http://www.artfiles.org/ubuntu.com/ \
http://ftp.rz.tu-bs.de/pub/mirror/ubuntu-packages/ \
ftp://ftp.rz.tu-bs.de/pub/mirror/ubuntu-packages/ \
ftp://ftp.join.uni-muenster.de/pub/mirrors/ftp.ubuntu.com/ubuntu/ \
http://ftp.join.uni-muenster.de/pub/mirrors/ftp.ubuntu.com/ubuntu/ \
http://ftp.kfki.hu/linux/ubuntu/ \
ftp://ftp.kfki.hu/pub/linux/ubuntu/ \
ftp://ftp.fsn.hu/pub/linux/distributions/ubuntu/ \
http://komo.vlsm.org/ubuntu/ \
http://kambing.vlsm.org/ubuntu/ \
http://ubuntu.odg.cc/ \
http://ftp.esat.net/mirrors/archive.ubuntu.com/ \
ftp://ftp.esat.net/mirrors/archive.ubuntu.com/ \
http://ftp.heanet.ie/pub/ubuntu/ \
ftp://ftp.heanet.ie/pub/ubuntu/ \
http://ftp.linux.it/ubuntu/ \
ftp://ftp.linux.it/ubuntu/ \
http://na.mirror.garr.it/mirrors/ubuntu-archive/ \
ftp://na.mirror.garr.it/mirrors/ubuntu-archive/ \
http://ubuntu.mithril-linux.org/archives/ \
http://ftp.litnet.lt/pub/ubuntu/ \
ftp://ftp.litnet.lt/pub/ubuntu/ \
ftp://ftp.polytechnic.edu.na/pub/ubuntulinux/ \
ftp://ftp.bit.nl/ubuntu/ \
http://ftp.bit.nl/ubuntu/ \
http://ubuntu.synssans.nl/ \
ftp://ftp.uninett.no/linux/ubuntu/ \
http://ubuntulinux.mainseek.com/ubuntu/ \
ftp://ftp.rnl.ist.utl.pt/ubuntu/ \
http://darkstar.ist.utl.pt/ubuntu/archive/ \
http://ftp.lug.ro/ubuntu/ \
ftp://ftp.lug.ro/ubuntu/ \
http://ftp.roedu.net/mirrors/ubuntu/ \
http://ftp.iasi.roedu.net/mirrors/ubuntu/ \
ftp://ftp.um.es/mirror/ubuntu/ \
ftp://ftp.ubuntu-es.org/ubuntu/ \
http://ftp.acc.umu.se/mirror/ubuntu/ \
ftp://ftp.se.linux.org/pub/Linux/distributions/ubuntu/ \
http://mirror.switch.ch/ftp/mirror/ubuntu/ \
ftp://mirror.switch.ch/mirror/ubuntu/ \
http://apt.nc.hcc.edu.tw/pub/ubuntu/ \
ftp://apt.nc.hcc.edu.tw/pub/ubuntu/ \
ftp://os.nchc.org.tw/ubuntu/ \
ftp://ftp.ee.ncku.edu.tw/pub/ubuntu/ \
http://ubuntu.csie.ntu.edu.tw/ubuntu/ \
http://www.mirrorservice.org/sites/archive.ubuntu.com/ubuntu/ \
ftp://ftp.mirrorservice.org/sites/archive.ubuntu.com/ubuntu/ \
http://ftp.cs.umn.edu/pub/ubuntu/ \
http://mirror.clarkson.edu/pub/distributions/ubuntu/ \
ftp://mirror.clarkson.edu/pub/distributions/ubuntu/ \
http://ubuntu.mirrors.tds.net/ubuntu/ \
ftp://ubuntu.mirrors.tds.net/ubuntu/ \
http://itanix.rutgers.edu/ubuntu/ \
http://www.opensourcemirrors.org/ubuntu/ \
http://ftp.ale.org/pub/mirrors/ubuntu/ \
http://ubuntu.secs.oakland.edu/ \
http://mirror.mcs.anl.gov/pub/ubuntu/ \
ftp://mirror.mcs.anl.gov/pub/ubuntu/ \
http://debian.okey.net/ubuntu/ \
ftp://ftp.sjtu.edu.cn/sites/archive.ubuntu.com/"

TIME="/usr/bin/time -o timer.txt -f %e";
URL="dists/$1/main/binary-i386/Packages.gz";
WGET="wget --cache=off -T 20 -t 1 -w 0 -O /dev/null"
PAYTIME=1000;
TEMPTIME=1000;
SITE="http://cn.archive.ubuntu.com/ubuntu/";
for mirror in $MIRRORS ; do
   echo "Testing $mirror..."
   TEMPTIME=`$TIME $WGET $mirror$URL`;
   if [ "$?" = 0 ] ; then
      TEMPTIME=`cat timer.txt`;
      echo "wget $1 : $TEMPTIME   CurrMinTime : $PAYTIME";
      TEMPTIME2=`echo "$PAYTIME > $TEMPTIME"|bc`;
      if [ $TEMPTIME2 = 1 ] ; then
         PAYTIME="$TEMPTIME";
         SITE="$mirror";
         echo -e "\033[37;41;1mSet best site ($PAYTIME): $SITE\033[0m"   
      fi
   fi
   rm timer.txt;
done
echo "Best site ($PAYTIME): $SITE";
echo "Backup your sources.list."
declare -i num;
num=0;
while [ -e /etc/apt/sources.list.$num ];do
   num=$num+1;      
done
mv /etc/apt/sources.list /etc/apt/sources.list.$num
COMP="main restricted universe multiverse";
MAINSITE="http://archive.ubuntu.org.cn"
echo "deb $SITE $1 $COMP" > /etc/apt/sources.list

echo "deb $SITE $1-security $COMP" >> /etc/apt/sources.list
echo "deb $SITE $1-updates $COMP" >> /etc/apt/sources.list
if [ $1 = "hoary" ]; then
   echo "deb $MAINSITE/ubuntu-cn ubuntu.org.cn $COMP" >> /etc/apt/sources.list
   echo "deb $MAINSITE/ubuntu hoary-backports $COMP" >> /etc/apt/sources.list
   echo "deb $MAINSITE/backports hoary-extras $COMP" >> /etc/apt/sources.list
fi
echo "Finlish setting sources.list,Run apt-get update now!";
exit 0
上次由 oneleaf 在 2006-06-12 15:04,总共编辑 24 次。
当净其意如虚空,远离妄想及诸取,令心所向皆无碍
头像
oneleaf
论坛管理员
帖子: 10236
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04
送出感谢: 7 次
接收感谢: 106 次

#2

帖子 oneleaf » 2005-07-26 10:33

当净其意如虚空,远离妄想及诸取,令心所向皆无碍
头像
huangjiahua
帖子: 3294
注册时间: 2005-03-30 0:27
送出感谢: 0
接收感谢: 1 次
联系:

#3

帖子 huangjiahua » 2005-07-26 23:37

不错


跃过无数的时间断层,只为了在
头像
gnix_oag
帖子: 1994
注册时间: 2005-05-19 18:38
来自: 湖南永州
送出感谢: 0
接收感谢: 1 次
联系:

#4

帖子 gnix_oag » 2005-08-31 19:55

试了一下,

测试太费时了,网速受其它因素影响太大,

建议保留测试结果,(相近的网站有时更快)

如测试时间,各网站的速度(时间)

另建议,用个专用贴子,来公布各人的测试结果

可供别人参考,

用的人越来越多了,速度根不上了,

发展太快了,还需要更多的源
SmartGG
帖子: 97
注册时间: 2005-09-16 14:59
送出感谢: 0
接收感谢: 0

#5

帖子 SmartGG » 2005-09-20 10:18

具体使用说明中的脚本好象不一样,至少是缺少最后一行,应该用那一个?
头像
oneleaf
论坛管理员
帖子: 10236
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04
送出感谢: 7 次
接收感谢: 106 次

#6

帖子 oneleaf » 2005-09-20 11:38

已经修正,最后一行只是通知当前环境设置成功了,没有出现任何错误。可以不要的。
SmartGG
帖子: 97
注册时间: 2005-09-16 14:59
送出感谢: 0
接收感谢: 0

#7

帖子 SmartGG » 2005-09-20 15:57

我已经用这个脚本检测到了最快的源,速度提高很多,可惜是内容不如官方的全,象那个圆体就没有,我还的要到官方源上去下,好慢啊!
imacee
帖子: 31
注册时间: 2005-11-02 11:54
送出感谢: 0
接收感谢: 0
联系:

#8

帖子 imacee » 2005-11-05 16:39

我用找到的最快的源更新后, gedit不能用了, 后面还是用cn99.com的源才更正过来, 建议此命令慎用. 8)
imacee's weblog: http://imacee.com/blog/
xautofzx
帖子: 315
注册时间: 2005-05-11 20:14
来自: 西安理工大学
送出感谢: 0
接收感谢: 0

#9

帖子 xautofzx » 2006-09-21 16:10

viewtopic.php?p=127256#127256

这个脚本原来就是www.ubuntu.org.cn上的,但是却一直没有添加到wiki.ubuntu.com.cn中。
头像
chinafenghao
帖子: 234
注册时间: 2007-12-18 21:50
送出感谢: 0
接收感谢: 0
联系:

#10

帖子 chinafenghao » 2008-04-26 19:58

我也觉得UBUNTU的更新速度实在太慢了.我2W的光纤专线,结果才2K左右. 急的死人.下几W用了1个多小时.
delectate
帖子: 18311
注册时间: 2008-01-09 22:41
送出感谢: 0
接收感谢: 6 次

Re: 自动设置和寻找最快的源脚本

#11

帖子 delectate » 2010-09-17 20:43

[bash] TEMPTIME2=`echo "$PAYTIME > $TEMPTIME"|bc`;
if [ $TEMPTIME2 = 1 ] ; then
PAYTIME="$TEMPTIME";
SITE="$mirror";
echo -e "\033[37;41;1mSet best site ($PAYTIME): $SITE\033[0m"
fi[/bash]

感觉有问题。如果a>b是不是就不对比后边的源了呢?
回复

回到 “Shell脚本”