NSS 오류 -5990(PR_IO_TIMEOUT_ERROR)으로 인해 EPEL 저장소를 사용할 수 없습니다.

NSS 오류 -5990(PR_IO_TIMEOUT_ERROR)으로 인해 EPEL 저장소를 사용할 수 없습니다.

나는 centOS 7.0 가상 머신을 시작하기 위해 vagrant를 사용하고 있습니다. 내 구성자가 다음을 통해 EPEL 7을 설정하려고 합니다.

yum install epel-release -y

그런 다음 다음을 통해 Ansible을 설치해 보십시오.

yum install ansible -y

epel-release가 성공적으로 설치되었지만 추가로 yum 명령을 실행하려고 하면 다음이 표시되기 시작했습니다.

 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Disable the repository, so yum won't use it by default. Yum will then
        just ignore the repository until you permanently enable it again or use
        --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>

     4. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again

다음은 몇 가지 디버깅 단계입니다.

yum --disablerepo="epel"  check-update

훌륭하게 작동합니다. 그래서 나는 노력했다

URLGRABBER_DEBUG=1 yum check-update 2> debug.log

debug.log 끝에 실제 오류가 표시됩니다.

< HTTP/1.1 200 Connection established
< 
2015-03-30 20:54:18,080 header ended:
* Proxy replied OK to CONNECT request
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* NSS error -5990 (PR_IO_TIMEOUT_ERROR)
* I/O operation timed out
* Closing connection 10
2015-03-30 20:54:48,110 exception: [Errno 14] curl#35 - "I/O operation timed out"
2015-03-30 20:54:48,110 retrycode (14) not in list [-1, 2, 4, 5, 6, 7], re-raising

이 문제를 해결하는 방법에 대해 조금 모르겠습니다. 때로는 이것이 작동하지만 EPEL 저장소 메타데이터를 가져오려는 시도의 95%가 실패합니다. 이게 내 쪽의 문제인가요? 프록시를 통해 라우팅하고 있는데 프록시가 제대로 작동하는 것 같습니다. 가장 혼란스러운 부분은 거의 작동하지 않는다는 것입니다.

답변1

우리의 경우에는 방화벽 문제입니다. 호스트에 대한 아웃바운드 http(포트 80) 액세스는 허용하지만 https(443) 액세스는 허용하지 않습니다. 일반 저장소는 전자를 통해 액세스되지만 EPEL 저장소는 후자를 통해 액세스됩니다. 따라서 "yum update"(또는 무엇이든)는 루프에 EPEL이 없으면 잘 작동하지만 EPEL을 사용하면 폭발합니다.

==> 구성된 리포지토리 중 하나가 실패했습니다(알 수 없음)...

퍼프. 이제 우리는 알고 있습니다!

답변2

이 문제는 인터넷 연결 없이 저장소를 가져오기 위해 yum을 요청할 때 발생합니다. epel 버전을 설치했습니다. 그런데 앤서블을 설치하는데 인터넷이 연결되어 있지 않습니다.

나는 resolve.conf내가 좋아하고 시도한 것을 아래에 언급했습니다. 같은 오류가 발생했습니다.

[root@controller yum.repos.d]# cat /etc/resolv.conf
# Generated by NetworkManager
#nameserver 8.8.8.8

[root@controller yum.repos.d]#

[root@controller yum.repos.d]# yum install ansible -y
Loaded plugins: fastestmirror


 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Disable the repository, so yum won't use it by default. Yum will then
        just ignore the repository until you permanently enable it again or use
        --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>

     4. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again

이는 최신 버전의 Centos 7에서 정상적인 동작입니다.

가상 머신에서 인터넷에 액세스하는 데 문제가 있는 경우 다음을 확인하세요.이것협회.

관련 정보