sources.list
Ubuntu Serverの新規インストールで、コマンドラインから最速のサーバーでファイルを更新します。私はこれがGUIで簡単にできることを知っていますが、コマンドラインからそれを行う簡単な方法はないようです?
#
記号をスラッシュ(/
)に置き換える必要がありました。そうでなければ私はsed: -e expression #1, char 53: unterminated
sのコマンドを受け取りました。
sources.list
Ubuntu Serverの新規インストールで、コマンドラインから最速のサーバーでファイルを更新します。私はこれがGUIで簡単にできることを知っていますが、コマンドラインからそれを行う簡単な方法はないようです?
#
記号をスラッシュ(/
)に置き換える必要がありました。そうでなければ私はsed: -e expression #1, char 53: unterminated
sのコマンドを受け取りました。
回答:
パックnetselect-apt dapper(net):netselectで最速のDebianミラーを選択してください [宇宙] 0.3.ds1-5:すべて hardy(net):netselectで最速のDebianミラーを選択してください [宇宙] 0.3.ds1-11:すべて
パックapt-spy dapper(admin):帯域幅テストに基づいてsources.listファイルを書き込みます [宇宙] 3.1-14:amd64 i386 powerpc
セキュリティの問題のため、新しいUbuntuには含まれていません。バグレポートを参照してください。
しかし..私は通常、ある場所への接続の速度を見つけるためにpingを使用します。ホップの量と遅延。
あなたは、もはや任意の検索を行う必要はありません-とajmitchをしている説明は、使用することができます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
、適切な名前に置き換えることができます。
sudo apt-get update
前に実行する必要があるapt-get install
ことに注意してください。
ここでは常に良い古い使用して、動作する一つの方法だnetselect
と、いくつかgrep
の魔法は:
dpkg -i
netselect
アーキテクチャーをダウンロードしてください。(約125 KB、依存関係なし)これを使用して、最新または最大で6時間遅れて、あなたの場所から最速の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行の以前のコンテキストとともに、最新または6時間遅れのミラーを抽出します。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/
netselect
いつ表示するのに最適なURLを常に選択するとは限らないということです複数のミラーが単一のIPにマップされます。番号3はnz.archive.ubuntu.com
!あなたのIP用にmirrors.ubuntu.comに基づいて(ダウンロード速度で)最高のミラーを選択するOneliner。
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 }'
sort -gr | head -3
。
curl -s http://mirrors.ubuntu.com/mirrors.txt
1行のみを返します。http://archive.ubuntu.com/ubuntu/
これは、複数の中から選択する目的を無効にします。: - /
curl
ため、この回答の一部が役立つことcurl -r 0-102400 -o /dev/null [server_url]/ls-lR.gz
がわかりました。[server_url]
mirrors.txt
これは、TCPレイテンシが最小のミラーを検出するPythonスクリプトです。
このスクリプトは、ランチパッドから取得した帯域幅とステータスデータも提供し、新しいsources.list
ファイルを自動的に生成するか、リストから選択したミラーを使用します。
マシンへの待ち時間が最も短い5つのUSミラーから選択できる使用例:
$ apt-select --country US -t 5 --choose
netselect
Ubuntuの新しいバージョンでは使用できません
README
、最初のリンクにあります。
mirrors.ubuntu.com/mirrors.txtにリストされているサーバーをテストし、最速のものを返す簡単なpingベースのnodejsスクリプトを開発しました。
sudo npm install -g ffum
ffum
役に立つと思うか、何か提案があれば教えてください(=
git clone
レポと実行node ffum
これがOPの質問に直接答えることはありませんが、Ubuntuのデスクトップ/ GUIバージョンには、最適なミラーを見つけるボタンがあります。それはかなりうまくいくように思えたので、私は簡単に調べましたが、フォローアップする時間がありませんでした。
私がそれを立ち上げた理由は、コマンドラインユーティリティにするのにかなり簡単で使いやすいと思うからです。
誰かが興味を持っている場合、テストは次の場所にあるようです。
/usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
繰り返しますが、それは私が得た限りではありますが、誰かがそれを望んだ場合に備えて、ここに置いておきたいと思いました。もう少し時間があれば、おそらくまた取り上げます。
$ python3 /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
>>[top 5 omitted] and the winner is: ny-mirrors.evowise.com
上のUbuntu 18.04私は実行して良い結果を得ました
python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
これは、「時間」別に分類されたミラーのリストを出力し(説明なし)、それから最高ランクのミラーの1つを使用しました。
私にとって、私の中で鏡として、それらを設定することにより、そのコマンドにより上位の結果出力のいくつかをテストするために有用であった/etc/apt/sources.list
し、次にやっ
time sudo apt update
そのミラーからパッケージリストをダウンロードするのにかかった時間を確認します。上位3つの提案をテストし、それらはすべて高速でしたが、そのうちの1つはtime sudo apt update
テストの他の2つの2倍の速さでした。
からの出力例を次に示します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
コマンドラインには、apt-smartというPythonツールを使用できます。
国内のランク付けされたミラーを一覧表示する(自動検出する)使用例:
$ apt-smart -l
で-l
、または--list-mirrors
、あなたは(トラヴィス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
与えられたMIRROR_URLを使うよう、/etc/apt/sources.listを更新します。
他のツールと比較して:
apt-smart
現在地を自動的に検出するため、海外旅行時に国を指定する必要はありません。apt-smart
各ミラーからの実際のHTTPダウンロードを実行して、より正確な結果(帯域幅とステータス)を取得しping
、ランチパッドの不正確なデータを使用して依存するのではなく、HTTPプロキシをサポートします。apt-smart
が維持されていますが、他のほとんどのツールは問題を長期間修正しません。をapt-smart
介して簡単にインストールできます。pip
詳細なcopy'n'pasteインストールコマンドと使用法については、プロジェクトのReadmeを参照してください。
ユーティリティでこれを行うには、次のような単純なbashスクリプトとしてそのようなユーティリティを実装できます。これは、pip / nodejsを必要とせずにユーティリティを使用する場合に便利です。
#!/bin/bash
if [ -z "$1" ]
then
echo Usage: sudo $0 http://mirrors.ubuntu.com/mirrors.txt
echo OR consider one of...
for mirror in `wget http://mirrors.ubuntu.com/mirrors.txt -O - 2> /dev/null`
do
(
host=`echo $mirror |sed s,.*//,,|sed s,/.*,,`
echo -e `ping $host -c1 | grep time=|sed s,.*time=,,`:' \t\t'$mirror
) &
done
wait
exit 1
fi
OLD_SOURCE=`cat /etc/apt/sources.list | grep ^deb\ | head -n1 | cut -d\ -f2`
[ -e /etc/apt/sources.list.orig ] || cp /etc/apt/sources.list /etc/apt/sources.list.orig
cp /etc/apt/sources.list /etc/apt/sources.list.tmp
sed "s,$OLD_SOURCE,$1," < /etc/apt/sources.list.tmp > /etc/apt/sources.list
受け入れられた回答を含むその他の回答は、Ubuntu 11.04以降では無効にnetselect-apt
なりました。apt-spy
これは、Ubuntuで機能しないなどのDebianパッケージを推奨しているためです。
二つの異なるがあり、作業以下この質問への回答は:
mirror:
方法を
このメソッドは、IPに基づいてUbuntuサーバーに近くのミラーのリストを要求し、そのうちの1つを選択します。最も簡単な代替策として、最も近いミラーが最速でない場合があるというマイナーな欠点があります。
sed
sources.list
sed
ミラーを交換するために使用sources.list
一部のソースはパスの一部として追加フォルダーを使用するため、代替セパレーター構文を使用した方がよい場合があります。
sudo sed -i 's%us.archive.ubuntu.com%mirrors.gigenet.com/ubuntuarchive/%' /etc/apt/sources.list
最速のミラーを取得する最も簡単で効率的な方法は、apt mirror://
ソースを使用することです。
https://mvogt.wordpress.com/2011/03/21/the-apt-mirror-method/