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이 작동하는 곳에서는 실패하기 때문입니다. 두 번째 문제는 패치를 제공했지만 첫 번째 문제만 수정한 후 버그가 닫혔습니다...
어떻게 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이 작동하는 곳에서는 실패하기 때문입니다. 두 번째 문제에 대한 패치가 제공되었지만 첫 번째 문제만 수정한 후 버그가 닫혔습니다. NTLM이 효과가 있었다는 점을 고려하면 이것이 문제일 가능성이 높습니다. (예를 들어 Wireshark를 사용하여 캡처하는 경우 오류를 보고 HTTP 응답 헤더에 대한 자세한 내용을 알아볼 수 있습니다.)
이 경우 현재 사용 가능한 유일한 솔루션은 로컬 시스템에 프록시를 설정하여 기본 인증을 NTLM 인증 또는 유사한 인증으로 변환하는 것 같습니다. 바라보다NTLM-APS.
답변3
dnf.conf에 추가
proxy=http://cisco-wsa.internal.net:3128
proxy_username=myusername
proxy_password=VeryStrongPassword