sources.list
文件。我知道在图形界面下这很容易做到,但似乎没有简单的方法可以通过命令行完成?sources.list
文件。我知道在图形界面下这很容易做到,但似乎没有简单的方法可以通过命令行完成?deb镜像
来自动选择最佳镜像。
apt-get now supports a 'mirror' method that will automatically select a good mirror based on your location. Putting:
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
on the top in your
/etc/apt/sources.list
file should be all that is needed to make it automatically pick a mirror for you based on your geographical location.Lucid (10.04), Maverick (10.10), Natty (11.04), and Oneiric (11.10) users can replace
precise
with the appropriate name.
apt-get install
之前,更改后需要运行sudo apt-get update
以便使用最近的镜像。 - Simon Eastnetselect
和一些 grep
魔法:从Debian网站上下载并使用dpkg -i
命令安装netselect
(根据你的架构链接,文件大小约为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
提取最新或落后六小时的镜像,以及包含实际ftp/http URL的前8行上下文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/
grep -P -B9 "statusUP|statusSIX" | grep -o -P "https://[^\"]*"
命令来获取HTTPS镜像。 - Clement Cherlincurl -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 }'
sort -gr | head -3
。 - Pablo Bianchicurl
部分很有帮助,因为 curl -r 0-102400 -o /dev/null [server_url]/ls-lR.gz
,其中 [server_url]
是在 mirrors.txt
中列出的基本镜像 URL,允许对来自镜像的前 ~100K 的索引文件进行速度比较。 - jamescxargs: 警告: 选项--max-args和--replace/-I/-i是互斥的,忽略之前的--max-args值
curl -s http://mirrors.ubuntu.com/mirrors.txt | xargs -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 }'
- Alan G./etc/apt/sources.list
文件中? - Suryanetselect-apt
或apt-spy
。 - k0pernikusnetselect
可用。 - TekREADME
文件中。 - John Bpip3 install apt-select
,然后例如运行apt-select -C DE
。 - rubo77$ apt-smart -l
-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
apt-smart
也可以更改你的sources.list文件。$ apt-smart -a
使用-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
正在维护,而大多数其他工具长时间未修复问题。您可以通过pip轻松安装apt-smart
,有关详细的复制和粘贴安装命令和用法,请参阅项目自述文件。
apt-smart
的作者,这是 apt-mirror-updater
的改进版本。pip install apt-smart
简单地安装 apt-smart 并且在没有任何错误的情况下运行 apt-smart
。但有时在某些环境中可能会显示“apt-smart”命令未找到或其他错误。这不是 apt-smart 的 bug,而是与 pip 或 Ubuntu 系统环境有关的问题,涉及它会讲得很长。因此,推荐的安装方法是按照 项目自述文件 中的安装命令进行操作,该文档清晰明了,可以整个复制粘贴到终端中。 - Martin X.deb
包并提交到 Debian/Ubuntu 中吗?这将会非常好,让人们更容易找到它。 - Per Lundberg/usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
$ python3 /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
>> [省略了前5个] 而获胜者是:ny-mirrors.evowise.com
- PatKilgsudo npm install -g ffum
ffum
node ffum
- Michael在 Ubuntu 18.04 上运行以下命令可以获得良好的结果:
python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
time sudo apt update
为了查看从镜像下载软件包列表所需的时间,我测试了前三个建议,它们都很快,但其中一个在time sudo apt update
测试中比其他两个快两倍。
这是python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
的示例输出:
mirror: es-mirrors.evowise.com - time: 0.183778047562
mirror: it-mirrors.evowise.com - time: 0.18604683876
mirror: la-mirrors.evowise.com - time: 0.192630052567
mirror: ny-mirrors.evowise.com - time: 0.208723068237
mirror: mirrors.accretive-networks.net - time: 0.385910987854
mirror: mirror.team-cymru.org - time: 0.46785402298
mirror: mirrors.psu.ac.th - time: 1.64231991768
and the winner is: es-mirrors.evowise.com
netselect-apt
和apt-spy
,这些在Ubuntu上无法使用。mirror:
方法
这种方法会向Ubuntu服务器请求一个基于您的IP地址附近的镜像列表,并选择其中一个。这是最简单的替代方法,稍微的缺点是最近的镜像有时可能不是最快的。sed
命令替换sources.list
中的镜像。sed
命令替换sources.list
中的镜像。
由于某些来源在其路径中使用附加文件夹,因此最好使用替代分隔符语法。
sudo sed -i 's%us.archive.ubuntu.com%mirrors.gigenet.com/ubuntuarchive/%' /etc/apt/sources.list
#
符号。否则会出现sed: -e expression #1, char 53: unterminated
s' command`的错误提示。 - Ethan Leroy