У меня есть виртуальная машина 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
Как я могу дополнительно отладить эту проблему?
Вы можете использовать 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
см. Следующие ссылки:
Также здесь есть ссылка на страницу загрузки для aria2
:
Пожалуйста, оставьте любые ошибки. Спасибо!
Во-первых я хотел бы быть благодарным за то, что @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, размещенная вокруг этого.
Таким образом, нравы этой истории: