我想sources.list
在全新安装的 Ubuntu Server 中通过命令行使用最快的服务器更新我的文件。我知道使用 GUI 很容易做到这一点,但似乎没有简单的方法可以通过命令行做到这一点?
答案1
你不必再进行任何搜索 - 因为阿吉米奇有解释,您可以使用deb mirror
它来自动为您挑选最佳的镜像。
apt-get现在支持一种“镜像”方法,可以根据您的位置自动选择合适的镜像。输入:
deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse deb mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse deb mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse
文件顶部的内容
/etc/apt/sources.list
应该是让它根据您的地理位置自动为您选择镜像所需的全部内容。Lucid (10.04)、Maverick (10.10)、Natty (11.04) 和 Oneiric (11.10) 用户可以将其替换
precise
为适当的名称。
答案2
这是一种永远有效的方法,使用古老的方法netselect
和一些grep
魔法:
终端成瘾者的“寻找最佳服务器”黑客技术!
下载并
dpkg -i
netselect
适合您的架构来自 Debian 网站。(大约 125 KB,无依赖项)用这个找到你所在位置最快的 Ubuntu 镜像,要么是最新的,要么最多落后六个小时(我将在下面解释,抱歉它在 Markdown 中不能很好地分开)
sudo netselect -v -s10 -t20 `wget -q -O- https://launchpad.net/ubuntu/+archivemirrors | grep -P -B8 "statusUP|statusSIX" | grep -o -P "(f|ht)tp://[^\"]*"`
netselect
:-v
让它有点冗长——你想看到进度点和消息,告诉你映射到同一 IP 的不同镜像被合并了:)-sN
控制最后需要多少个镜像(例如前 10 个镜像)-tN
是每个镜像进行速度测试的时间(默认值为 10;数字越高,所需时间越长,但结果越可靠。)
这是反引号的内容(不要粘贴,仅用于解释)
wget -q -O- https://launchpad.net/ubuntu/+archivemirrors \ | grep -P -B8 "status(UP|SIX)" \ | grep -o -P "(f|ht)tp://[^\"]*"
wget
从以下位置获取最新的镜像状态https://launchpad.net/ubuntu/+archivemirrors。- 第一个
grep
提取最新的或落后六小时的镜像,以及 8 行先前的上下文,其中包括实际的 ftp/http URL - 第二个
grep
提取这些 ftp/http URL
以下是来自美国加利福尼亚州的示例输出:
60 ftp://mirrors.se.eu.kernel.org/ubuntu/
70 http://ubuntu.alex-vichev.info/
77 http://ftp.citylink.co.nz/ubuntu/
279 http://ubuntu.mirrors.tds.net/pub/ubuntu/
294 http://mirror.umd.edu/ubuntu/
332 http://mirrors.rit.edu/ubuntu/
364 ftp://pf.archive.ubuntu.com/ubuntu/
378 http://mirror.csclub.uwaterloo.ca/ubuntu/
399 ftp://ubuntu.mirror.frontiernet.net/ubuntu/
455 http://ubuntu.mirror.root.lu/ubuntu/
“等级”是一个任意指标;通常等级越低越好。
如果你想知道为什么 kernel.org 瑞典-欧盟镜像和新西兰镜像位列前三加利福尼亚州,好吧,我也是 ;-) 事实是,netselect
当多个镜像映射到单个 IP 时,并不总是选择最合适的 URL 来显示;数字 3 也称为nz.archive.ubuntu.com
!
答案3
根据你的 IP 地址,根据 mirrors.ubuntu.com 选择最佳镜像(按下载速度):
curl -s http://mirrors.ubuntu.com/mirrors.txt | xargs -n1 -I {} sh -c 'echo `curl -r 0-102400 -s -w %{speed_download} -o /dev/null {}/ls-lR.gz` {}' |sort -g -r |head -1| awk '{ print $2 }'