Я хочу обновить свой sources.list
файл самым быстрым сервером из командной строки в новой установке Ubuntu Server. Я знаю, что это легко сделать с графическим интерфейсом, но, кажется, нет простого способа сделать это из командной строки?
137
#
знаки с косой чертой (/
). В противном случае я получилsed: -e expression #1, char 53: unterminated
«команду».Ответы:
Кажется, он не включен в более новую Ubuntu из-за проблем с безопасностью: смотрите: Отчет об ошибках
Но .. Обычно я использую команду ping, чтобы узнать скорость соединения с каким-либо местом. Количество прыжков и задержка.
источник
Вам не нужно делать какие - либо поиска больше , - как ajmitch уже объяснил , вы можете использовать ,
deb mirror
чтобы иметь лучшее зеркало выбрали для вас автоматически.источник
sudo apt-get update
прежде чем делать какие-либо изменения,apt-get install
чтобы использовать ближайшее зеркало.Вот один способ, который всегда будет работать, используя старое
netselect
и немногоgrep
волшебства:Взлом у терминала-наркомана "найди лучший сервер"!
dpkg -i
netselect
для вашей архитектуры с сайта Debian. (это около 125 КБ, без зависимостей)Найдите самые быстрые зеркала Ubuntu из своего местоположения, либо в актуальном состоянии, либо самое большее на шесть часов позже с этим (я объясню это ниже, извините, что в Markdown это не очень хорошо)
netselect
:-v
делает его немного многословным - вы хотите видеть точки прогресса и сообщения о том, что разные зеркала, отображающие один и тот же IP, были объединены :)-sN
контролирует, сколько зеркал вы хотите в конце (например, 10 лучших зеркал)-tN
сколько времени тестируется каждое зеркало (по умолчанию 10; чем больше число, тем дольше оно длится, но тем более надежны результаты).Это кавычки (не вставляйте, просто для объяснения)
wget
извлекает последний статус зеркала из https://launchpad.net/ubuntu/+archivemirrors .grep
извлекает зеркала, которые обновлены или отстают на шесть часов, вместе с 8 строками предыдущего контекста, который включает в себя фактические URL-адреса ftp / httpgrep
извлекает эти URL-адреса ftp / httpВот пример выходных данных из Калифорнии, США:
netselect
не всегда выбирается наиболее подходящий URL для отображения, когда отображение нескольких зеркал на один IP; № 3 также известен какnz.archive.ubuntu.com
!источник
Oneliner, который выбирает лучшее (по скорости загрузки) зеркало на основе mirrors.ubuntu.com для вашего ip.
источник
sort -gr | head -3
.curl -s http://mirrors.ubuntu.com/mirrors.txt
возвращает только одну строку:http://archive.ubuntu.com/ubuntu/
которая побеждает цель выбора среди нескольких. : - /curl
часть этого ответа полезной, потому что,curl -r 0-102400 -o /dev/null [server_url]/ls-lR.gz
где[server_url]
указан URL-адрес базового зеркалаmirrors.txt
, можно сравнивать скорость первых ~ 100 КБ индексного файла с зеркала.Вот скрипт Python, который я написал, который находит зеркала с самой низкой задержкой TCP.
Сценарий также предоставляет данные о пропускной способности и состоянии, полученные с панели запуска , и автоматически создает новый
sources.list
файл или с использованием зеркала, выбранного из списка.Пример использования, который позволяет вам выбрать из 5 зеркал США с самой низкой задержкой для вашей машины:
источник
netselect
как не доступно в более новых версиях UbuntuREADME
первой ссылке.Я разработал простой сценарий nodejs на основе ping, который тестирует серверы, перечисленные в mirrors.ubuntu.com/mirrors.txt, и возвращает самый быстрый:
Пожалуйста, дайте мне знать, если вы считаете это полезным или у вас есть предложения (=
источник
git clone
репо и запуститьnode ffum
Я знаю, что это не дает прямого ответа на вопрос OP, но в версии Ubuntu для настольных ПК / GUI есть кнопка, которая находит лучшее зеркало для вас. Казалось, что это работает довольно хорошо, поэтому я кратко рассмотрел это, но у меня не было времени, чтобы продолжить.
Причина, по которой я это поднял, заключается в том, что я думаю, что было бы довольно просто и удобно использовать его как утилиту командной строки.
Если кому-то интересно, похоже, что тест находится в:
Опять же, это примерно так же далеко, как я, но я решил оставить это здесь на случай, если кто-то захочет. Я, вероятно, вернусь к этому, когда у меня будет немного больше времени.
источник
$ python3 /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
>>[top 5 omitted] and the winner is: ny-mirrors.evowise.com
Команда, которая находит быстрые зеркала
На Ubuntu 18.04 я получил хорошие результаты, запустив
Это распечатывает список зеркал, организованных по «времени» (не объяснено), и затем я использовал одно из зеркал, которое им заняло самое высокое место.
Подробнее
Для меня было полезно протестировать некоторые из лучших результатов, полученных этой командой, установив их в качестве моего зеркала,
/etc/apt/sources.list
а затем выполнивчтобы увидеть, сколько времени понадобилось, чтобы загрузить список пакетов с этого зеркала. Я проверил три лучших предложения, и все они были быстрыми, но одно из них было в два раза быстрее, чем два других в
time sudo apt update
тесте.Вот пример вывода из
python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
:источник
Для командной строки вы можете использовать инструмент Python под названием apt-smart
Пример использования, который позволяет вам перечислить ранжированные зеркала в вашей стране (автоматически обнаруживать):
С помощью
-l
или--list-mirrors
вы получите (пример вывода с сервера Travis CI US):Конечно,
apt-smart
вы также можете изменить свой sources.list, если вы хотите:С помощью
-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
и полагается на неточные данные панели запуска.apt-smart
поддерживается, в то время как большинство других инструментов оставляют проблемы нефиксированными в течение длительного времени.Вы можете легко установить
apt-smart
черезpip
, подробные инструкции по установке и использованию copy'n'paste смотрите в Project Readme .источник
Я использую следующее для автоматического выбора зеркал (и отключаю deb-src)
источник
Если вы хотите, чтобы утилита делала это, вы можете реализовать такую утилиту, как простой скрипт bash, подобный следующему. Это может быть полезно, если вы хотите использовать утилиту без использования pip / nodejs.
источник
Другие ответы, включая принятый ответ, больше не действительны (для Ubuntu 11.04 и новее), потому что они рекомендовали пакеты Debian, такие как
netselect-apt
иapt-spy
которые не работают с Ubuntu.Ниже приведены два разных рабочих ответа на этот вопрос:
mirror:
методПоказывает, как использовать инструмент netselect для поиска самых быстрых недавно обновленных серверов от вас - по сети, а не по географическому признаку. Используйте
sed
для замены зеркал вsources.list
.Используйте
sed
для замены зеркал вsources.list
Поскольку некоторые источники используют папки дополнения как часть своего пути, может быть лучше использовать синтаксис альтернативного разделителя.
источник
Самый простой и эффективный способ получить самое быстрое зеркало - это использовать apt
mirror://
source, см.https://mvogt.wordpress.com/2011/03/21/the-apt-mirror-method/
источник