Обновление apt-get застряло: подключение к security.ubuntu.com
Когда я бегу apt-get update
на моей машине это застревает в:
100% [Connecting to security.ubuntu.com (2001:67c:1562::15)] [Connecting to archive.canonical.com (2001:67c:1360:8c01::16)]
Я не вносил последние изменения в систему и использую свою домашнюю сеть, которая ранее работала нормально.
Я не могу объяснить, почему он переключился на использование IPv6.
У меня установлен IPv6 ignore
для беспроводной сети:
Ouput of ip addr
:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: mlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 4c:0b:be:22:0a:b4 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.106/24 brd 192.168.2.255 scope global dynamic mlan0
valid_lft 1814086sec preferred_lft 1814086sec
inet6 ::d5:b551:28db:2789:225/64 scope global temporary dynamic
valid_lft 604483sec preferred_lft 85483sec
inet6 ::d5:4e0b:beff:fe22:ab4/64 scope global mngtmpaddr dynamic
valid_lft 604779sec preferred_lft 86379sec
inet6 fe80::4e0b:beff:fe22:ab4/64 scope link
valid_lft forever preferred_lft forever
5 ответов
Настройки IPv6 для сети были проигнорированы, но отключение IPv6 через /etc/sysctl.conf
работал:
Добавьте следующие строки внизу /etc/sysctl.conf
:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Бежать sudo sysctl -p
перезагрузить /etc/sysctl.conf
Настройки.
Это работает для меня, любезно предоставлено Заком Адамсом ( https://zach-adams.com/2015/01/apt-get-cant-connect-to-security-ubuntu-fix/):
Оказывается, это проблема, когда соединение через IPv6 на некоторых серверах приводит к их застреванию на этом этапе. Исправление действительно простое.
Откройте /etc/gai.conf
Под линией
# For sites which prefer IPv4 connections change the last line to
Раскомментируйте следующую строку, удалив #
:
# precedence ::ffff:0:0/96 100
Это позволит вам по-прежнему использовать IPv6, но устанавливает IPv4 в качестве приоритета, чтобы apt-get не зависал.
Лучше всего использовать apt-get следующим образом вместо редактирования файла gai.conf.
sudo apt-get -o Acquire::ForceIPv4=true update
Если вы хотите сделать это постоянным, просто добавьте псевдоним для 'apt-get' в вашем файле bash.
Другие решения не помогли... в моем случае я создал экземпляр Ubuntu 18.04 aws ec2, используя
Auto-assign Public IP -> no pick disable
попробовав все предложенные решения, я вскинул руки и убил его, создав новый экземпляр ec2, используя
Auto-assign Public IP -> yes Use subnet setting (Enable)
и все работало нормально... apt-get update && apt-get upgrade
счастливы сейчас
В WSL (Ubuntu) это может быть вызвано каким-либо антивирусным правилом, связанным с wsl, которое запрещает исходящий доступ по протоколу HTTP.