підключення до archive.ubuntu.com займає занадто багато часу


50

У мене є сервер Ubuntu 11.10, який я щойно встановив свіжим. Тепер, якщо я намагаюся щось робити apt-get, він намагається підключитися до нього archive.ubuntu.com. Він залишається на [Connecting to archive.ubuntu.com (2001:67c:1360:8c01::1a)]фазі приблизно 2 хвилини, після чого він фактично починає спілкуватися та завантажувати речі ...

Врешті-решт, це завжди підключається, але чекає на [Connecting to archive.ubuntu.com (2001:67c:1360:8c01::1a)]фазі щоразу приблизно 2 хвилини!

Раніше у Ubuntu 11.10 у мене не було цієї проблеми, відразу після перевстановлення ОС.

Будь-які ідеї щодо проблеми, яка може бути?


Цікаво, чи це стосується того, що ви використовуєте IPv6. Ви перебуваєте в мережі IPv6?
Thomas Ward

Ні, я не думаю, що так. Я нічого такого не налаштовував ..
Ахмад

IP-адреси у включених повідомленнях - IPv6. Це говорить про те, що використовується IPv6, і якщо я не помиляюся, для архіву не так багато серверів IPv6.
Thomas Ward

1
@Ahmad Оскільки ви вирішили свою проблему і написали рішення, будь ласка, опублікуйте це як відповідь (і тоді ви також можете відредагувати це питання також). Зверніть увагу, що для цього вам не потрібно чекати; тільки користувачі з репутацією менше 100 повинні почекати, перш ніж відповісти на власні запитання. Ви навіть можете відзначити власну відповідь прийнятою (хоча для цього потрібно почекати, поки два дні після опублікування питання пройдуть).
Елія Каган

Готово .. Тепер мені просто чекати 22 години, щоб можна було прийняти власну відповідь :)
Ахмад

Відповіді:


87

Я вирішив це 12.10, редагуючи /etc/gai.conf і коментуючи рядок:

#
#    For sites which prefer IPv4 connections change the last line to
#
precedence ::ffff:0:0/96 100

Це дозволяє підтримувати IPv6 увімкненим, але встановлює порядок пріоритетності, щоб віддати перевагу IPv4 перед IPv6.


13
Я не повинен писати ty як коментар, але я думаю, що це слід сказати ур мій герой tytytytytyty
MageProspero

1
Це відповідь
kbuilds

3
Підтверджено також на Ubuntu 14.04 / ElementaryOS freya!
oikonomopo

2
ідеально! спрацював шарм!
Іоанн

2
Тим НЕ менше справедливо для Xubuntu 15.04
Dag

16

Рішення:

Я зрозумів проблему. Мені довелося відключити підключення IPv6, як вказував The Lord Of Time.

Запуск наступної команди в терміналі повідомляє, включений чи ні IPv6:

cat /proc/sys/net/ipv6/conf/all/disable_ipv6

0означає його ввімкнено, а 1означає його відключений.

Щоб відключити IPv6 з терміналу, введіть наступне:

echo "#disable ipv6" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Перезапустіть першу команду, і це має бути 1зараз.


У мене немає цього файлу ...
amadib

Відключення IPv6 не є рішенням. Це вирішення. Нам потрібен IPv6, і вимикати його напевно не рекомендується. Правильні рішення або змушують APT використовувати тільки ipv4, або встановлюють пріоритетність, як показано у верхньому рішенні.
месс

7

Якщо ви хочете змінити apt-get, ви можете змусити IPv4 за допомогою:

apt-get -o Acquire::ForceIPv4=true update

Щоб налаштування стало стійким, створіть файл 99force-ipv4 в /etc/apt/apt.conf.d/.

sudoedit /etc/apt/apt.conf.d/99force-ipv4

Помістіть у неї такий вміст:

Acquire::ForceIPv4 "true";

Збережіть файл, і ви готові йти. Якщо потрібно замість цього застосувати IPv6, змініть 4 на 6 у назві файлу та налаштуваннях. Щоб вибрати один із них, протестуйте за допомогою швидкого методу та побачите, який працює краще.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.