підключення до 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.