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でシステム全体のプロキシとプロキシを設定しました。他の接続(ブラウザなど)では、このプロキシを使用できます。プロキシには認証が必要です。proxy_username
dnf.confに必要な値を設定しました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
以下に従って。を追加するとブギラ、dnf
呼び出し時にNTLMを許可するようにパッチが適用されましたlibcurl
。
ただし、yum
Kerberos/「ネゴシエーション」認証を無効にすることも便利です。場合によっては、これが提供される最初のオプションになり、NTLMが動作している場所で失敗するためです。 2番目の問題はパッチを提供しましたが、最初の問題のみを修正した後にバグが閉じました...
どのようdnf update
に出勤できますか?
答え1
ついに解決策を見つけました。問題はまだ修正されていないこのバグです。 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)
答え2
~によるとブギラ、dnf
呼び出し時にNTLMを許可するようにパッチが適用されましたlibcurl
。
ただし、yum
Kerberos/「ネゴシエーション」認証を無効にすることも便利です。場合によっては、これが提供される最初のオプションになり、NTLMが動作している場所で失敗するためです。 2番目の問題に対するパッチが提供されましたが、最初の問題のみを修正した後にバグが閉じました。 NTLMが有効であることを考慮すると、これが問題である可能性が高いです。 (たとえば、Wiresharkを使用してキャプチャしている場合は、エラーを表示してHTTP応答ヘッダーの詳細を確認できます。)
この場合、現在利用可能な唯一の解決策は、ローカルシステムにプロキシを設定して、基本認証をNTLM認証または同様の認証に変換するようです。バラよりNTLM-APS。
答え3
dnf.confに追加
proxy=http://cisco-wsa.internal.net:3128
proxy_username=myusername
proxy_password=VeryStrongPassword