Люди во всем мире используют Ubuntu Linux, поэтому у Canonical есть «зеркала» по всему миру, чтобы разместить пользователей из разных регионов мира, желающих установить обновления или новое программное обеспечение из официальных репозиториев Ubuntu.
Например, если все программное обеспечение размещено на серверах в Северной Америке, это обеспечит быстрое соединение для некоторых пользователей, но у пользователей в Азии будет гораздо большая задержка при подключении к серверам, и их загрузка займет больше времени. Поэтому необходимо, чтобы контент размещался на нескольких серверах в нескольких регионах.
В вашей системе Ubuntu ваше зеркало Ubuntu должно быть выбрано автоматически, но его можно изменить вручную. Это может быть полезно, если вы заметили, что ваша система подключается к удаленному местоположению или ваши загрузки занимают много времени.
Что такое зеркало загрузки?
Зеркала загрузки необходимы для того, чтобы один сервер не был перегружен множеством запросов на загрузку, поступающих одновременно. Кроме того, зеркала загрузки разбросаны по всему миру, так что у пользователей из всех регионов всегда будет сервер, который обеспечит им быструю загрузку.
Эти зеркала везде одинаковые. Другими словами, все они содержат один и тот же контент. Программное обеспечение, загруженное с сервера Ubuntu в США, даст те же результаты, что и программное обеспечение, загруженное из Японии.
Ubuntu автоматически определит лучшее зеркало для вашей системы, проверив, в каком регионе вы находитесь, и выполнив быстрый тест на ближайших серверах, чтобы увидеть, какой из них обеспечивает самое быстрое соединение. Как и почти все остальное в Linux, мы всегда можем настроить эти параметры вручную, если захотим.
Как перейти на самое быстрое зеркало загрузки
Существует несколько различных методов, которые можно использовать для изменения зеркала загрузки вашей системы. Ознакомьтесь с различными методами ниже.
Код страны
Шаг 1. Самый простой подход — убедиться, что ваше зеркало Ubuntu, определенное в файле /etc/apt/sources.list, включает соответствующий код страны, соответствующий вашему местоположению. Например, ниже вы можете найти официальное зеркало Ubuntu в США, которое можно найти в /etc/apt/sources.list:
deb http://us.archive.ubuntu.com/ubuntu/ focal main restricted
Шаг 2. Если вы не находитесь в Соединенных Штатах, просто замените код страны США соответствующим кодом вашей страны. То есть, если вы находитесь, например, в Австралии, обновите файл /etc/apt/sources.list для всех записей следующим образом:
deb http://au.archive.ubuntu.com/ubuntu/ focal main restricted
Использовать зеркальный протокол
Шаг 1. Использование зеркального протокола как части вашей записи /etc/apt/sources.list даст указание команде apt получать зеркала, расположенные только в вашей стране. Чтобы использовать зеркальный протокол, обновите все строки в файле /etc/apt/sources.list, например:
deb http://us.archive.ubuntu.com/ubuntu/ focal main restricted
в
deb mirror://mirrors.ubuntu.com/mirrors.txt focal main restricted
Шаг 2. Повторите вышеуказанное для всех соответствующих строк, где это необходимо. В качестве альтернативы используйте команду sed для автоматического редактирования файла /etc/apt/sources.list. При необходимости обновите приведенную ниже команду sed, чтобы она соответствовала вашей среде:
$ sudo sed -i -e 's/http://us.archive/mirror://mirrors/' -e 's//ubuntu///mirrors.txt/' /etc/apt/sources.list
Ручной выбор подходящего зеркала
Приведенные выше решения кажутся простыми, и они могут сработать для вас. Однако зеркало, выбранное apt, может быть не самым быстрым, поскольку оно может быть обременено высокой задержкой. В этом случае вы можете попробовать выбрать свое зеркало вручную из списка зеркал, расположенных в вашей стране.
Используйте команду wget для получения списка. Приведенная ниже команда wget извлечет подходящие зеркала Ubuntu, относящиеся к вашей стране. Пример:
$ wget -qO - mirrors.ubuntu.com/mirrors.txt http://mirror.netspace.net.au/pub/ubuntu/ http://mirror.internode.on.net/pub/ubuntu/ubuntu/ http://mirror.overthewire.com.au/ubuntu/ http://mirror.aarnet.edu.au/pub/ubuntu/archive/ http://mirror.tcc.wa.edu.au/ubuntu/ http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ http://ftp.iinet.net.au/pub/ubuntu/ http://ubuntu.mirror.digitalpacific.com.au/archive/ http://mirror.waia.asn.au/ubuntu/ http://ubuntu.uberglobalmirror.com/archive/ http://mirror.as24220.net/pub/ubuntu/ http://mirror.as24220.net/pub/ubuntu-archive/
Вы можете увидеть список доступных зеркал Ubuntu на официальном веб-сайте архивных зеркал. Найдите свою страну, нажмите на некоторые из серверов и выполните тест ping или traceroute, чтобы увидеть, насколько быстрое соединение.
Основываясь на своем опыте, выберите лучшее зеркало и соответствующим образом измените файл конфигурации /etc/apt/sources.list apt.
Выбор самого быстрого зеркала с помощью netselect
Это решение является предпочтительным, так как гарантирует наиболее быстрый выбор зеркала. Для этого мы будем использовать команду netselect.
Шаг 1. Пакет netselect недоступен в стандартном репозитории Ubuntu по умолчанию, поэтому нам нужно будет позаимствовать его из стабильного репозитория Debian:
$ sudo apt install wget $ wget http://ftp.us.debian.org/debian/pool/main/n/netselect/netselect_0.3.ds1-29_amd64.deb $ sudo dpkg -i netselect_0.3.ds1-29_amd64.deb
Шаг 2. Когда у вас есть команда netselect, доступная в вашей системе Ubuntu, используйте ее, чтобы найти самое быстрое зеркало на основе наименьшей задержки ICMP. Выходные данные netselect будут относиться к вашему местоположению. В приведенном ниже примере будут показаны 20 лучших зеркал Ubuntu (если они доступны):
$ sudo netselect -s 20 -t 40 $(wget -qO - mirrors.ubuntu.com/mirrors.txt) 134 https://mirror.us.leaseweb.net/ubuntu/ 142 http://mirrors.advancedhosters.com/ubuntu/ 147 http://ubuntu.osuosl.org/ubuntu/ 188 http://ubuntu.osuosl.org/ubuntu/ 195 http://mirror.us-ny2.kamatera.com/ubuntu/ 199 http://mirror.pit.teraswitch.com/ubuntu/ 211 https://nyc.mirrors.clouvider.net/ubuntu/ 213 http://mirror.brightridge.com/ubuntuarchive/ 213 http://mirror.math.princeton.edu/pub/ubuntu/ 220 http://ubuntu.mirror.constant.com/ 220 https://mirrors.bloomu.edu/ubuntu/ 225 http://ubuntu.mirror.frontiernet.net/ubuntu/ 227 http://www.club.cc.cmu.edu/pub/ubuntu/ 231 http://mirrors.tripadvisor.com/ubuntu/ 237 http://mirror.team-cymru.com/ubuntu/ 246 http://mirrors.gigenet.com/ubuntuarchive/ 246 http://mirror.siena.edu/ubuntu/ 250 http://us.mirror.nsec.pt/ubuntu/ 252 http://archive.linux.duke.edu/ubuntu/ 252 https://mirror.jacksontechnical.com/ubuntu/
Шаг 3. Вручную измените файл /etc/apt/sources.list, чтобы он отражал приведенные выше результаты netselect, или используйте команду sed, где меньшее число очков слева представляет более высокую скорость зеркальной передачи. Пример:
$ sudo sed -i 's/http://us.archive.ubuntu.com/ubuntu//http://ubuntu.uberglobalmirror.com/archive//' /etc/apt/sources.list
Изменить зеркало через графический интерфейс
Если вы предпочитаете использовать графический интерфейс вместо командной строки и у вас установлена среда рабочего стола GNOME или KDE, вы можете использовать следующие разделы ниже, чтобы изменить зеркало загрузки Ubuntu.
GNOME
Шаг 1. Откройте приложение «Программное обеспечение и обновления», затем щелкните раскрывающийся список «Загрузить из».
Шаг 2. Вручную прокрутите список и выберите нужное зеркало или просто нажмите кнопку «Выбрать лучший сервер», чтобы позволить Ubuntu сделать всю работу за вас.
KDE Plasma
Шаг 1. Начните с открытия Discover Software Center, затем нажмите «Настройки» и, наконец, кнопку «Источники программного обеспечения».
Шаг 2. Вам потребуется ввести свой пароль root, а затем вы можете развернуть меню «Загрузить из» и нажать «Другое».
Шаг 3. Вручную прокрутите список и выберите нужное зеркало или просто нажмите кнопку «Выбрать лучший сервер», чтобы позволить Ubuntu сделать всю работу за вас.
Как запустить собственное зеркало Ubuntu
На самом деле довольно просто разместить собственное зеркало Ubuntu. Это полезно в сети, в которой много компьютеров с Ubuntu. Вместо того, чтобы каждый компьютер загружал свои собственные обновления, вы можете настроить только один из них в качестве зеркала Ubuntu, а остальные ваши компьютеры будут загружать свои обновления оттуда.
Таким образом, вы загружаете обновления только один раз, а затем очень быстро распространяете их по локальной сети.
Этому способствует команда apt-mirror, которая загружает все новейшее программное обеспечение на ваш компьютер, а оттуда его можно распространять, когда другие компьютеры настроены на использование вашего зеркала (как мы рассмотрели в разделах выше).
Вам нужно будет настроить cron для непрерывной загрузки обновлений с официального зеркала. Сервер также должен быть доступен через HTTP или FTP, чтобы распространять обновления на клиентские компьютеры.