Fedora 26: обновление dnf не работает за прокси – не удалось синхронизировать кеш для репо-обновлений '

В Fedora 26, когда я делаю sudo dnf -v update я получаю ошибку

 > Loaded plugins: builddep, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, > needs-restarting, playground, repoclosure, repograph, repomanage, > reposync, system-upgrade > DNF version: 2.6.3 > cachedir: /var/cache/dnf > Cannot download 'http://download.fedoraproject.org/pub/fedora/linux/updates/26/x86_64/': > Cannot download repomd.xml: Cannot download repodata/repomd.xml: All > mirrors were tried. > Error: Failed to synchronize cache for repo 'updates' 

Я настроил как свой системный прокси, так и прокси-сервер в dnf.conf. Другие подключения, такие как браузер, работают с этим прокси. Прокси требует аутентификации – я установил необходимые значения в dnf.conf proxy_username и proxy_password .

У меня также есть .bashrc, который устанавливает http_proxy=http://username:password@proxy:port/ . Затем, если я запустил curl http://download.fedoraproject.org/pub/fedora/linux/updates/26/x86_64/repodata/repomd.xml , он не работает с HTTP 407. Он работает, если я добавляю --proxy-ntlm . Согласно bugzilla , dnf уже исправлен, так что он разрешает NTLM при вызове libcurl .

Однако yum дополнительно используется для отключения проверки подлинности Kerberos / «negotiate», поскольку в некоторых случаях это будет первый предложенный вариант, и он потерпит неудачу, если будет работать NTLM. Патч был предложен для этой секунды, но ошибка была закрыта после решения только первой проблемы …

Как я могу получить dnf update ?

  • Прокси-сервер SSH по требованию через системные пользовательские устройства с активацией сокета не перезапускается по желанию
  • Прокси SOCKS без команды ssh
  • Yast не может получить доступ к репозиториям программного обеспечения, даже если URL-адреса доступны в браузере, а системная дата верна
  • Benchmark Linux Router Load
  • Настройка прокси для Simplenote
  • Проблемы с сервером ключей PGP и прокси-сервера
  • Обход sshd AllowTCPFowarding = no путем установки собственного форвардера?
  • Privoxy - анонимная ошибка Используемые IP-таблицы
  • 2 Solutions collect form web for “Fedora 26: обновление dnf не работает за прокси – не удалось синхронизировать кеш для репо-обновлений '”

    Согласно bugzilla , dnf уже исправлен, так что он разрешает NTLM при вызове libcurl .

    Однако yum дополнительно используется для отключения проверки подлинности Kerberos / «negotiate», поскольку в некоторых случаях это будет первый предложенный вариант, и он потерпит неудачу, если будет работать NTLM. Патч был предложен для этой второй проблемы, но ошибка была закрыта после решения только первой проблемы … Учитывая, что NTLM работает для вас, скорее всего, это ваша проблема. (Вы можете посмотреть на ошибку, чтобы узнать больше о том, как будут выглядеть заголовки ответов HTTP в этой ситуации, например, если вы захватили их с помощью Wireshark).

    В этом случае, по-видимому, единственным доступным решением является установка прокси-сервера на вашем локальном компьютере, который преобразует базовую аутентификацию в NTLM-аутентификацию или что-то в этом роде. См. NTLM-APS .

    Наконец я нашел решение. Проблема в этой ошибке, которая по-прежнему не исправлена: https://bugzilla.redhat.com/show_bug.cgi?id=1387622

    Мне пришлось отредактировать /usr/lib/python3.6/site-packages/dnf/repo.py и изменить следующее:

     - h.setopt(librepo.LRO_PROXYAUTH, True) + h.setopt(librepo.LRO_PROXYAUTHMETHODS, 8) 
    Linux и Unix - лучшая ОС в мире.