[讨论]建立脚本在网络上自动寻找速度最快源

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
mrsteven
帖子: 3
注册时间: 2007-02-02 14:21

[讨论]建立脚本在网络上自动寻找速度最快源

#1

帖子 mrsteven » 2007-02-05 22:57

网上找的脚本,可以自动寻找网络上速度最快的源,有兴趣的网友请分享一下Ubuntu上提高网络速度的经验,谢谢。

1. 建立一个新的脚本

sudo gedit /usr/bin/setfastsources

2. 输入下面的内容:

#!/bin/bash
if [ $# != 1 ] | \
[ "$1" != "hoary" -a "$1" != "breezy" ]; then
echo "Use: sudo $0 (hoary|breezy)";
echo "Example: sudo $0 hoary";
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://mirror.lzu.edu.cn/ubuntu/ubuntu/ \
ftp://mirror.lzu.edu.cn/ubuntu/ubuntu-cn/ \
http://ubuntu.csie.ntu.edu.tw/ubuntu/ \
http://cn.archive.ubuntu.com/ubuntu \
http://mirror.lupaworld.com/ubuntu/ubuntu-cn \
http://ftp.sjtu.edu.cn/ubuntu-cn/ \
http://mirror.lupaworld.com/ubuntu/ubuntu-cn \
ftp://linux.xjtu.edu.cn/mirror/ubuntu/ubuntu/ \
http://mirror.lupaworld.com/ubuntu/archive/ \
http://security.ubuntu.com/ubuntu/ \
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/mirr ... om/ubuntu/ \
http://ftp.join.uni-muenster.de/pub/mir ... om/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/arch ... om/ubuntu/ \
ftp://ftp.mirrorservice.org/sites/archi ... om/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

3. 保存脚本

4. 设置脚本文件为可执行。

sudo chmod +x /usr/bin/setfastsources

5. 执行脚本
hoary:

sudo setfastsources hoary

breezy:

sudo setfastsources breezy
头像
skyx
论坛版主
帖子: 9202
注册时间: 2006-12-23 13:46
来自: Azores Islands
联系:

#2

帖子 skyx » 2007-02-05 23:34

一般内地非教育网用户 使用国立台湾大学+cn99这个黄金组合就可以全部搞定



教育网用户如果以前交大源还健在的话,是非常幸福的,一个交大源可以全部搞定。


现在把几个内地国立大学源加上就ok,也许cn99也可以,


教育网用海外源只能代理,非常痛苦。
no security measure is worth anything if an attacker has physical access to the machine
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#3

帖子 eexpress » 2007-02-06 1:05

这种脚本是理想主义方式。我的ping值经常是跳的。

楼上的mm总结得非常好。
● 鸣学
hkl8324
帖子: 44
注册时间: 2006-06-02 0:57

#4

帖子 hkl8324 » 2007-02-06 5:05

我是用「小日本」的源的,下載速度也不慢...有700KB/s
头像
sinoyster
帖子: 958
注册时间: 2005-10-16 13:24
来自: 四川成都
联系:

#5

帖子 sinoyster » 2007-02-06 11:24

好像最近台湾的源被GFW封了!
Thank you Ubuntu Team!!!!
I still can't belive this is free...
头像
skyx
论坛版主
帖子: 9202
注册时间: 2006-12-23 13:46
来自: Azores Islands
联系:

#6

帖子 skyx » 2007-02-06 12:47

sinoyster 写了:好像最近台湾的源被GFW封了!
昨天我还下载过6.10 dvd版iso ,有400多k。
no security measure is worth anything if an attacker has physical access to the machine
头像
adqin
帖子: 1417
注册时间: 2007-01-24 22:07
来自: http://adqin.cn
联系:

#7

帖子 adqin » 2007-02-07 3:05

hkl8324 写了:我是用「小日本」的源的,下載速度也不慢...有700KB/s
小XX真他妈的牛B啊!
我最好的一次也就100多k。
回复