Обновление sudo apt-get получает ошибку подключения не удалось, но может свернуться в зеркало

У меня есть виртуальная машина Ubuntu 18.04.2 LTS, работающая на Azure без публичного IP из-за ограничений безопасности. Я могу использовать curl для загрузки файлов по HTTP, хотя FTP не работает.

Вот ошибки, которые я получаю:

sudo apt-get update
Err:1 http://mirror.cs.unm.edu/archive bionic InRelease
  Connection failed [IP: 64.106.20.76 80]
Err:2 http://mirror.cs.unm.edu/archive bionic-updates InRelease
  Connection failed [IP: 64.106.20.76 80]
Err:3 http://mirror.cs.unm.edu/archive bionic-backports InRelease
  Connection failed [IP: 64.106.20.76 80]
Err:4 http://mirror.cs.unm.edu/archive bionic-security InRelease
  Connection failed [IP: 64.106.20.76 80]
Reading package lists... Done
W: Failed to fetch http://mirror.cs.unm.edu/archive/dists/bionic/InRelease  Connection failed [IP: 64.106.20.76 80]
W: Failed to fetch http://mirror.cs.unm.edu/archive/dists/bionic-updates/InRelease  Connection failed [IP: 64.106.20.76 80]
W: Failed to fetch http://mirror.cs.unm.edu/archive/dists/bionic-backports/InRelease  Connection failed [IP: 64.106.20.76 80]
W: Failed to fetch http://mirror.cs.unm.edu/archive/dists/bionic-security/InRelease  Connection failed [IP: 64.106.20.76 80]
W: Some index files failed to download. They have been ignored, or old ones used instead.

Я выбрал http://mirror.cs.unm.edu , поскольку согласно здесь он поддерживает только HTTP, который теоретически должен исключить проблему с FTP.

Однако я могу получить доступ к этому зеркалу с завитком:

curl -O http://mirror.cs.unm.edu/archive/dists
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 10616  100 10616    0     0  61011      0 --:--:-- --:--:-- --:--:-- 61011

Я пробовал несколько зеркал без удачи. AFAIK нет настроек брандмауэра, прокси или антивируса, мешающих обновлению. Все исходящие порты открыты. Также попробовал все предложения из этого вопроса

Редактировать: Относительно настройки DNS, так как эта виртуальная машина подключена к интрасети с ExpressRoute, происходит какое-то волшебство.

Первая пара строк файла / etc / resolv.conf гласит:

# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "systemd-resolve --status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 127.0.0.53
options edns0
search reddog.microsoft.com

Как я могу дополнительно отладить эту проблему?

3
задан 2 July 2019 в 10:20

2 ответа

Вы можете использовать apt-fast для установки пакетов вместо apt или apt-get. apt-fast - это скрипт-обертка, который использует команду aria2c для загрузки пакетов с зеркал.

Прежде чем начать, убедитесь, что установлены следующие зависимости.

Вот список необходимых вам зависимостей:

libc-ares2
libc6
libgcc1
libgmp10 libgnutls30 libnettle6 libsqlite3- 0
libstdc ++ 6
libxml2
zlib1g

Пожалуйста, выполните следующую команду для просмотра списка установленных пакетов:

for i in $(apt-cache show aria2 | grep Depends | sed "s/([^)]*)/()/g;s/Depends://g;s/,//g;s/()//g"); do dpkg -l | grep "ii  $i:"; done | sed 's/   .*$//g'

Если все зависимости не перечислены, не продолжайте!


Далее , чтобы установить aria2, выполните следующие команды :

wget http://mirrors.kernel.org/ubuntu/pool/universe/a/aria2/aria2_1.33.1-1_amd64.deb
sudo dpkg -i aria2_1.33.1-1_amd64.deb

Наконец, , чтобы установить apt-fast, выполните следующие команды:

wget https://launchpad.net/~apt-fast/+archive/ubuntu/stable/+files/apt-fast_1.9.8-1~ubuntu18.04.1_all.deb
sudo dpkg -i apt-fast_1.9.8-1~ubuntu18.04.1_all.deb

Следуйте инструкциям на экране для завершения установки. .


Команды для apt-fast - это те же команды, что и для apt-get:

sudo apt-fast update
sudo apt-fast upgrade
sudo apt-fast install <package name>

И если вы обычно используете sudo apt full-upgrade или sudo apt dist-upgrade, используйте следующую команду:

sudo apt-fast dist-upgrade

Для получения дополнительной информации о apt-fast см. Следующие ссылки:

apt-fast ppa

apt- fast on github

Также здесь есть ссылка на страницу загрузки для aria2:

packages.ubuntu.com

Пожалуйста, оставьте любые ошибки. Спасибо!

1
ответ дан 2 July 2019 в 10:20

Во-первых я хотел бы быть благодарным за то, что @mchid добавляет большую ценную информацию.

Как оказалось, это было проблемой брандмауэра, но одной не под моим управлением.

Во-первых я только использовал curl к тестовым соединениям. Когда я попробовал curl www.google.com это хорошо работало бы, я получу HTML и подтвердил, что это было от Google. Когда я попробовал curl http://speedtest.ftp.otenet.gr/files/test1Mb.db это, казалось бы, работало бы, т.е. никакие ошибки и файл не будут созданы локально.

Однако, когда я попробовал wget http://speedtest.ftp.otenet.gr/files/test1Mb.db Я получил бы a ERROR 503: Service Unavailable. сообщение. Я затем пытался настроить HTTP-заголовки и т.д. без удачи. Таким образом, это рассветало на мне, что завихрение не может работать так, я проверил загруженные файлы и низко и созерцайте, они составляли все 11 КБ в размере и содержали HTML. Тот HTML был заблокированным сообщением URL нашей интранет. Удар веб-конечной точки работал бы, но любая загрузка файла блокировалась.

Таким образом в моем случае это - весь результат использования ExpressRoute для соединения Azure VNet с локальной сетью и ограничениями наша группа IT, размещенная вокруг этого.

Таким образом, нравы этой истории:

  • После недели исследования, если у Вас есть подобная проблема, это - 98% времени некоторая проблема брандмауэра, 1% DNS, или 1% уничтожает его с орбиты.
  • завихрение может лгать Вам, использовать wget
  • Просто, потому что инструмент тестирования возможности соединения Azure говорит, что можно получить доступ к URI/порту, не означает, что Вы на самом деле можете для реального использования.
  • Попытайтесь тестировать файлы загрузки, не просто поразив конечные точки wget
  • Удостоверьтесь тестовые файлы, которые Вы загружаете, допустимы. Если размер файла не то, что Вы ожидаете, осматривают содержание.
  • Говорите со столькими локальными людьми IT, сколько Вы можете в моем случае, я должен был зарегистрировать запрос в службу поддержки довольно высоко в нашем org, прежде чем любой даже знал об ограничениях.
0
ответ дан 1 December 2019 в 17:25

Другие вопросы по тегам:

Похожие вопросы: