Eva*_*van 154 command-line apt repository
我想sources.list
在全新的 Ubuntu Server 安装中从命令行使用最快的服务器更新我的文件。我知道这对于 GUI 来说非常简单,但似乎没有一种简单的方法可以从命令行执行此操作?
bad*_*adp 159
您不必再进行任何搜索 - 正如ajmitch所解释的那样,您可以使用deb mirror
自动为您挑选最好的镜子。
apt-get现在支持“镜像”方法,该方法将根据您的位置自动选择一个好的镜像。推杆:
Run Code Online (Sandbox Code Playgroud)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
为适当的名称。
ish*_*ish 54
这是一种始终有效的方法,使用古老的魔法netselect
和一些grep
魔法:
从 Debian 网站下载并dpkg -i
netselect
用于您的架构。(大约 125 KB,没有依赖项)
从你的位置找到最快的 Ubuntu 镜像,要么是最新的,要么最多落后 6 小时(我将在下面解释,抱歉它在 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://[^\"]*"`
Run Code Online (Sandbox Code Playgroud)
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://[^\"]*"
Run Code Online (Sandbox Code Playgroud)
wget
从https://launchpad.net/ubuntu/+archivemirrors获取最新的镜像状态。grep
提取最新或滞后 6 小时的镜像,以及包含实际 ftp/http URL 的 8 行先前上下文grep
提取这些 ftp/http URL60 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话 455 http://ubuntu.mirror.root.lu/ubuntu/
netselect
并不总是选择最合适的 URL 来显示时多个镜像映射到单个 IP;数字 3 也称为nz.archive.ubuntu.com
!小智 32
Oneliner 根据您的 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 }'
Run Code Online (Sandbox Code Playgroud)
Rin*_*ind 26
包 netselect-apt dapper (net):使用 netselect 选择最快的 Debian 镜像 [宇宙] 0.3.ds1-5:全部 hardy (net):使用 netselect 选择最快的 Debian 镜像 [宇宙] 0.3.ds1-11:全部
Pakket apt-spy dapper (admin):根据带宽测试写一个sources.list文件 [宇宙] 3.1-14: amd64 i386 powerpc
由于安全问题似乎未包含在较新的 Ubuntu 中:请参阅:错误报告
但是 .. 我通常只是使用ping来找出连接到某个位置的速度。跳数和延迟。
Joh*_*n B 22
这是我编写的Python 脚本,用于查找 TCP 延迟最低的镜像。
该脚本还提供从launchpad获取的带宽和状态数据,并将自动生成一个新sources.list
文件或使用从列表中选择的镜像。
一个使用示例,让您可以从 5 个对您的机器具有最低延迟的美国镜像中进行选择:
$ apt-select --country US -t 5 --choose
Run Code Online (Sandbox Code Playgroud)
小智 5
我开发了一个简单的基于 ping 的 nodejs 脚本,它测试 mirrors.ubuntu.com/mirrors.txt 上列出的服务器并返回最快的:
sudo npm install -g ffum
ffum
Run Code Online (Sandbox Code Playgroud)
如果您觉得它有用或有任何建议,请告诉我(=
小智 5
我知道这并不能直接回答 OP 的问题,但是 Ubuntu 的桌面/GUI 版本中有一个按钮可以为您找到最佳镜像。它似乎工作得很好,所以我简要地研究了一下,但没有时间跟进。
我提出它的原因是因为我认为将它变成命令行实用程序非常简单且可用。
如果有人感兴趣,测试似乎位于:
/usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
Run Code Online (Sandbox Code Playgroud)
再一次,这大概是我得到的,但我想我会把它留在这里以防万一有人想要它。当我有更多时间时,我可能会重新考虑它。
小智 5
对于命令行,您可以使用名为apt-smart的 Python 工具
一个使用示例,可让您列出您所在国家/地区的排名镜像(自动检测):
$ apt-smart -l
Run Code Online (Sandbox Code Playgroud)
使用-l
, 或--list-mirrors
,您将获得(来自 Travis CI 美国服务器的示例输出):
---------------------------------------------------------------------------------------------------------
| Rank | Mirror URL | Available? | Updating? | Last updated | Bandwidth |
---------------------------------------------------------------------------------------------------------
| 1 | http://mirrors.gigenet.com/ubuntua... | Yes | No | Up to date | 1.73 MB/s |
| 2 | http://mirror.genesisadaptive.com/... | Yes | No | Up to date | 1.68 MB/s |
| 3 | http://ubuntu.mirrors.tds.net/pub/... | Yes | No | Up to date | 1.4 MB/s |
| 4 | http://repos.forethought.net/ubuntu | Yes | No | Up to date | 1.35 MB/s |
| 5 | http://repo.miserver.it.umich.edu/... | Yes | No | Up to date | 937.62 KB/s |
...
| 75 | http://mirror.cc.vt.edu/pub2/ubuntu | Yes | No | 1 day behind | 659.67 KB/s |
| 76 | http://mirror.atlantic.net/ubuntu | Yes | No | 2 days behind | 351.26 KB/s |
| 77 | http://mirror.lstn.net/ubuntu | Yes | No | 4 days behind | 806.81 KB/s |
| 78 | http://mirrors.usinternet.com/ubun... | Yes | No | 4 weeks behind | 514.31 KB/s |
| 79 | http://mirrors.arpnetworks.com/Ubuntu | Yes | No | 19 weeks behind | 418.94 KB/s |
| 80 | http://mirrors.ocf.berkeley.edu/ub... | Yes | Yes | Up to date | 446.07 KB/s |
---------------------------------------------------------------------------------------------------------
Full URLs which are too long to be shown in above table:
1: http://mirrors.gigenet.com/ubuntuarchive
2: http://mirror.genesisadaptive.com/ubuntu
3: http://ubuntu.mirrors.tds.net/pub/ubuntu
5: http://repo.miserver.it.umich.edu/ubuntu
...
78: http://mirrors.usinternet.com/ubuntu/archive
80: http://mirrors.ocf.berkeley.edu/ubuntu
Run Code Online (Sandbox Code Playgroud)
当然,apt-smart
如果您想,也可以更改您的 sources.list:
$ apt-smart -a
Run Code Online (Sandbox Code Playgroud)
使用-a
, 或--auto-change-mirror
要发现可用镜像,请按连接速度和更新状态对镜像进行排名,然后更新 /etc/apt/sources.list 以使用最佳可用镜像。
使用-c
, 或--change-mirror MIRROR_URL
更新 /etc/apt/sources.list 以使用给定的 MIRROR_URL。
与其他工具相比:
apt-smart
自动查找您所在的位置,因此您出国旅行时无需指定国家/地区。apt-smart
从每个镜像进行真正的 HTTP 下载以获得更准确的结果(带宽和状态)并支持 HTTP 代理,而不是使用ping
和依赖 launchpad 的不准确数据。apt-smart
正在维护,而大多数其他工具长时间未解决问题。您可以apt-smart
通过轻松安装pip
,有关详细的 copy'n'paste 安装命令和用法,请参阅项目自述文件。
归档时间: |
|
查看次数: |
247732 次 |
最近记录: |