Установка MongoDB на RHEL 8 | AWS EC2 - не удалось синхронизировать кэш

Я пытаюсь установить MongoDB на мой RedHat 8 | Экземпляр AWS EC2...

/etc/yum.repos.d/mongodb-org-4.0.repo

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

Затем... yum repolist

MongoDB Repository                                                                                                                                                                 366  B/s | 390  B     00:01
Error: Failed to synchronize cache for repo 'mongodb-org-4.0'

...

Возможно, RHEL 8, будучи новой версией, вызывает проблемы?

2 ответа

Решение

Многие, многие вещи, созданные для RHEL, также требуют EPEL, но EPEL 8 еще не доступен.

Одна из этих вещей mockпакет, который управляет сборкой RPM-пакетов для распространения, который сам находится в EPEL и еще не имеет пригодной для использования конфигурации для RHEL 8.

Вероятно, пройдет несколько месяцев, прежде чем это будет решено, и EPEL и mock доступны. Тем временем вы должны развернуть на RHEL 7.

Могут быть и другие возможные причины: URL неверен или URL репо не для RHEL8 вообще. Если это не так, попробуйте очистить кэш yum (возможно, поврежден).

В то время как принятый ответ Майкла Хэмптона, возможно, был точным на момент ответа, EPEL был доступен для EL8 некоторое время:

$ sudo rpm -q --changelog epel-release | awk '/8-7/,/8-1/'
* Thu Oct 10 2019 Stephen Smoogen <smooge@fedoraproject.org> - 8-7.el8
- Remove failovermethod from EPEL8 tree. It is no longer needed.

* Mon Sep 16 2019 Stephen Smoogen <smooge@fedoraproject.org> - 8-6.el8
- Change gpg key to use -8 versus -$releasever. This fixes bash problem

* Tue Aug 06 2019 Stephen Smoogen <smooge@fedoraproject.org> - 8-5.el8
- Fix playground release to have os/ on its name [Kevin Fenzi]
- Make sure all values of $release are $releasever

* Thu Aug 01 2019 Pablo Greco <pgreco@centosproject.org> - 8-4
- Use the correct var for dnf to expand
- Update playground source url
- Remove epel-modules repo
- Use https in baseurl

* Thu Aug 01 2019 Stephen Smoogen <smooge@fedoraproject.org> - 8-3
- Make sure that the key name is named correctly

* Thu Aug 01 2019 Stephen Smoogen <smooge@fedoraproject.org> - 8-2
- Make baseurl paths match dl.fedoraproject.org
- Add draft of epel8 packaging
- Fix docs

* Thu Jul 18 2019 Stephen Smoogen <smooge@smoogen-laptop.localdomain> - 8-1

Если вы используете репозиторий MongoDB YUM, то у вас будет 4.2 для EL8 (обратите внимание, что это добавляет нумерацию версий к ID репо):

[mongodb-org-4.2]                                                                               
name=MongoDB Repository 4.2                                                                     
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/                 
gpgcheck=1                                                                                                        
enabled=1                                                                                                         
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

[mongodb-org-4.0]                                                                               
name=MongoDB Repository 4.0                                                                     
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/                 
gpgcheck=1                                                                                                        
enabled=0                                                                                                         
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

Если вы попытаетесь использовать файл репо с EL8 для 4.0, то вы увидите:

$ sudo dnf makecache --disablerepo="*" --enablerepo=mongodb-org-4.0
MongoDB Repository 4.0                                                                                                                                                             369  B/s | 390  B     00:01    
Error: Failed to synchronize cache for repo 'mongodb-org-4.0'

Используя подробный режим, вы можете увидеть подсказку о том, что не так (репозитория 4.0 для EL8 нет):

$ sudo dnf makecache --verbose --disablerepo="*" --enablerepo=mongodb-org-4.0
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
DNF version: 4.0.9
cachedir: /var/cache/dnf
Unknown configuration value: failovermethod=priority in /etc/yum.repos.d/puppet5.repo; Configuration: OptionBinding with id "failovermethod" does not exist
Making cache files for all metadata files.
mongodb-org-4.0: has expired and will be refreshed.
repo: downloading from remote: mongodb-org-4.0
MongoDB Repository 4.0                                                                                                                                                             367  B/s | 390  B     00:01    
Cannot download 'https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.0/x86_64/': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried.
Error: Failed to synchronize cache for repo 'mongodb-org-4.0'

Согласно Jira MongoDB ( SERVER-37772), помеченному как разрешенное 29 июля 2019 года в 17:48:23 по Гринвичу +0000, были запрошены обратные порты для пакетов EL8 для более ранних версий на MongoDB, но они пока не отображаются в репо:

Обратите внимание, что на странице загрузки MongoDB выбор rhel80x64 приводит к:

Таким образом, вы можете использовать EL8 с 4.2, или вам нужно использовать EL7 для предыдущей версии MongoDB, по крайней мере, на данный момент, или вы можете использовать дистрибутив Percona:

Другие вопросы по тегам