Невозможно использовать ретрансляцию EPEL, получить ошибку NSS -5990 (PR_IO_TIMEOUT_ERROR)

Я использую бродягу, чтобы запустить centOS 7.0 VM. Мой помощник пытается настроить EPEL 7 через

yum install epel-release -y 

а затем пытается установить доступную через

 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 по  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 

Я немного потерял, как решить эту проблему. Обратите внимание, иногда это будет работать, но, как и 95% времени, попытка получить метаданные EPEL repo не удалась. Это проблема на моем конце? Я прохожу через прокси, но кажется, что прокси работает нормально. Я думаю, что самая запутанная часть заключается в том, что она работает очень редко.

В нашем случае это была проблема брандмауэра … мы разрешали доступ к исходящему HTTP (порт 80) нашего хоста, но не https (443). Доступ к обычным репозиториям осуществляется через первый, но EPEL-репозиции через последние. Таким образом, без EPEL в цикле «обновление yum» (или что-то еще) работало нормально, но w / EPEL, это бомбили,

==> Один из сконфигурированных репозиториев не удалось (Неизвестно) …

Pffft. Теперь мы знаем!

Эта проблема возникает, когда вы запрашиваете yum для получения репо без подключения к Интернету. вы установили выпуск epel. но для установки не существует подключения к Интернету.

Я прокомментировал свой resolve.conf как 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 по [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.

Если у вас есть проблемы с доступом к Интернету с вашей виртуальной машины, проверьте эту ссылку.