Мы распределенная команда, поэтому наши виртуальные машины используют mirror://
настройку Ubuntu . Наш /etc/apt/sources.list
выглядит следующим образом:
deb mirror://mirrors.ubuntu.com/mirrors.txt lucid main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt lucid-updates main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt lucid-backports main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt lucid-security main restricted universe multiverse
Это само по себе довольно удивительно и очень полезно для людей, которые работают в разных местах - без необходимости локальной настройки и т. Д. Отказ в теории.
В повседневной работе эта установка слишком часто дает сбой. Я хочу сказать 2-3 раза на этой неделе.
Прямо сейчас mirrors.ubuntu.com
возвращается ftp.uni-bayreuth.de
как мое шкафное зеркало. К сожалению, похоже, что вниз.
Это продолжалось в течение нескольких часов, и волонтеры в университете принимают зеркало, и сегодня, будучи пятницей, у меня мало надежд на то, что это скоро исправят.
Все разговоры, мои вопросы:
- Кто-нибудь этим пользуется?
- Как вы работаете во время простоя? (мое быстрое исправление - это скрипт оболочки)
- Как я могу помочь улучшить эту ситуацию?
mirror:
метод, который имел наибольшее количество обновлений в вашей теме. Моя проблема в том, что всякий раз, когда происходит сбой самого быстрого зеркала, отказоустойчивость отсутствует, и я застреваю.Ответы:
Лично я считаю, что лучший способ выбрать лучшие зеркала репозиториев Ubuntu - это использовать метод GUI:
Теперь, чтобы улучшить ситуацию, описанную в вопросе, вам нужно как-то установить некоторые правила. Эти правила должны действовать
mirrors.ubuntu.com
. Я могу предложить следующие правила:netselect
,apt-spy
илиapt-fast
Далее, чтобы увидеть, как вы можете обойти это, я могу дать вам метод, описанный шаг за шагом с тремя примерами скриптов bash. Первый скрипт использует зеркала из страны, в которой вы находитесь в данный момент, а не
mirrors.ubuntu.com/mirrors.txt
(для каждой страны есть текстовый файл с ассоциированными зеркалами; см. Http://mirrors.ubuntu.com/ ):mkdir -p bin
- эта команда создастbin
каталог в вашейhome
папке, если у вас его еще нет.gedit ~/bin/change_sources.sh
- это создаст новый файлchange_sources.sh
в gedit.или что-то похожее на то, что можно найти на http://repogen.simplylinux.ch/ :
или сценарий, использующий
netselect
(скачайте отсюда , установите инструкции здесь ), как izx объяснил очень приятно в этом ответе :chmod +x ~/bin/change_sources.sh
- для предоставления доступа к исполнению для скрипта.~/bin/change_sources.sh
. Это даст вам ошибку, потому что вы не имеете права редактировать/etc/apt/sources.list
. Итак, используйтеsudo ~/bin/change_sources.sh
sudo crontab -e
команды и добавьте следующую строку:sudo crontab -l
.С этого момента файл будет динамически изменяться после того, как он обнаружит изменение IP-адреса.
Возможно, это не лучшее решение, но, на мой взгляд, хорошее решение может быть дано таким образом, как в приведенных выше сценариях .
источник
apt-spy
скрипт. Буду обновлять здесь позже.Я ценю все отзывы по этому вопросу, но, поскольку никто не придумал простого решения, которое отвечало бы нашим обстоятельствам, я решил решить проблему самостоятельно.
Я создал инструмент (специально для Ubuntu), который я называю
apt-spy2
.Основная задача этого инструмента - быстро найти рабочее зеркало. Работа определяется тем, что зеркальный сервер доступен и (мы надеемся :) в актуальном состоянии.
Я не делаю предположений о том, является ли выбранный сервер обязательно самым близким и самым быстрым. Я не делаю пинг или трюки с GEO DNS - но пока это работает, когда что-то ломается.
Как это работает - в двух словах:
/etc/apt/sources.list
.Обратите внимание: это предполагает, что люди играют хорошо и ставят дополнительные зеркала (например, сторонние репозитории
/etc/apt/sources.list.d
. Но я думаю, это означает, что есть место для улучшений).Вы можете получить этот инструмент так:
$ [sudo] gem install apt-spy2
Кли приходит с
list
,check
,fix
иhelp
(с расширенной информацией о том , как использовать).Я пытался документировать как можно больше в README проекта .
Текущая версия очень консервативна
0.5.0
.Код с открытым исходным кодом и лицензия является либеральной. И я беру все взносы.
источник
В Debian 6.0.4 была эта команда:
Это позволило автоматически найти следующий ближайший доступный сервер и создать новый sources.list
В Ubuntu эта команда, кажется, не существует?
Он все еще существует в Debian 7.0:
https://launchpad.net/debian/wheezy/+source/apt-spy/+copyright
Вы можете скачать свой пакет * .deb здесь:
http://packages.debian.org/sid/apt-spy
... все еще в поисках источников ...
Вам, очевидно, нужна Debian-7.0-Installation для получения исходного кода после редактирования списка источников с записью:
Затем, после обновления sudo apt-get, вы просто пососете код:
источник
Возможно, вы не используете решение, которое вам нравится, но настройка локального кэша для файлов .deb должна быть идеальной, когда вы загружаете несколько МБ пакетов (в основном, я уверен, что они одинаковые), и поскольку вы загружаете с того же сервера, вы может принести в жертву ПК, чтобы сделать кеш и сделать сервер менее загруженным.
Процедура
Вы должны быть в состоянии установить
apt-cacher
компьютер, на котором много места на жестком диске (он вам понадобится). Вы можете настроить это с помощью руководства по серверу Apt-cacher , но давайте сделаем быстрое резюме.устанавливать
apt-cacher
sudo apt-get установить apt-cacher apache2
/etc/default/apt-cacher
и установитеautostart
значение 1, чтобы кэш запускался при включении компьютера.sudo /etc/init.d/apache2 restart
http://ip-of.your.cache:3142/apt-cacher
./etc/apt-cacher/apt-cacher.conf
и найдите строкуallowed_hosts
. Вы можете установить подсети как192.168.0.0/24
или только*
для всех хостовapt-spy
для этого (эта команда может занять несколько часов, так как она также проверяет скорость каждого сервера).У ваших клиентов есть два варианта:
sources.list
следующее:deb http: //ip-of.your.cache: 3142 / the.server.you.like / ubuntu / lucid главная ограниченная вселенная multiverse
Измените
ip-of.your.cache
ip вашего кэша иthe.server.you.like
имя хоста сервера, который вы будете использовать. Вы можете использовать несколько строк./etc/apt/apt.conf.d/01proxy
и добавьте строку:Получить :: http :: Proxy " http: //ip-of.your.cache: 3142 ";
источник
-d testing
пахнет Debian.Вы можете попробовать настроить свое собственное зеркало Ubuntu. Таким образом, обновления будут локальными.
apt-mirror требуется высокоскоростное интернет-соединение и много дискового пространства
Настроить свое собственное зеркало Ubuntu очень легко с помощью apt-mirror.
1) зайти в репозиторий apt-mirror. Сделайте резервную копию вашего файла sources.list следующим образом:
2) Отредактируйте файл sources.list следующим образом:
3) И вставить следующее в новой строке:
4) Давайте обновим индекс пакета
5) И установить apt-mirror
6) Apt-mirror теперь настроен, поэтому давайте расскажем, какие серверы зеркалировать:
Конфигурация по умолчанию поместит ваши загруженные файлы в папку / var / spool / apt-mirror. Вот как выглядит файл mirror.list:
это только отражает бинарные пакеты, но если вы хотите исходные пакеты, вы должны вставить соответствующие строки. Они обычно принимают форму:
7) Теперь беги
apt-mirror
. Это займет много времени. Не беспокойтесь, если вы не можете загрузить все файлы за один раз,apt-mirror
можете возобновить загрузку (убейте его комбинацией клавиш Ctrl+ Cи перезапустите, если хотите продолжить). Хорошо, запустите apt-mirror примерно так:Также посмотрите, как создать локальное зеркало Debian / Ubuntu с помощью apt-mirror
Источник: Используйте Apt-mirror, чтобы создать свое собственное зеркало Ubuntu.
источник
apt-mirror
она доступна в репозиториях Ubuntu.mirrors.ubuntu.com
должно сработать. :)mirrors.ubuntu.com
никогда не разрешитmirrors.ubuntu.com
, но ближайший к вам сервер. Проблема в том, что этот сервер ненадежен. Ваша лучшая игра - использование надежного сервера из официального списка.Я написал скрипт Python под названием apt-select, который будет служить альтернативой CLI методу GUI.
Сценарий запрашивает каждое зеркало через TCP, печатает на стандартные зеркала с наименьшей задержкой и генерирует новый
sources.list
файл. Есть также несколько опций, которые позволяют вам выбирать из списка ранжированных зеркал и получать информацию, например, когда зеркало было обновлено в последний раз и его пропускную способность.источник