На моем сервере песочницы CentOS был установлен mongodb 2.6.11.
Dec 03 22:24:38 Updated: mongodb-org-mongos-2.6.11-1.x86_64
Dec 03 22:25:07 Updated: mongodb-org-tools-2.6.11-1.x86_64
Dec 03 22:25:08 Updated: mongodb-org-shell-2.6.11-1.x86_64
Dec 03 22:26:39 Updated: mongodb-org-server-2.6.11-1.x86_64
Dec 03 22:29:37 Updated: mongodb-org-2.6.11-1.x86_64
Я хотел обновить эту песочницу до последней версии mongodb. Итак, я следовал инструкциям здесь:
https://docs.mongodb.com/master/tutorial/install-mongodb-on-red-hat/
В частности, мне пришлось создать файл /etc/yum.repos.d/mongodb-org-3.4.repo. Это сработало.
# mongod -version
db version v3.4.2
Теперь я хотел бы убедить себя, что я могу понизить mongodb до версии 2.6.11, если мне нужно.
Когда я пытаюсь перейти на более раннюю версию, я получаю сообщение об ошибке:
# yum downgrade mongodb-org
Error: Package: mongodb-org-3.4.1-1.el6.x86_64 (mongodb-org-3.4)
Requires: mongodb-org-mongos = 3.4.1
Installed: mongodb-org-mongos-3.4.2-1.el6.x86_64 (@mongodb-org-3.4)
mongodb-org-mongos = 3.4.2-1.el6
Available: mongodb-org-mongos-2.6.0-0.1.rc0.x86_64 (mongodb)
mongodb-org-mongos = 2.6.0-0.1.rc0
. . . . .
Available: mongodb-org-mongos-2.6.12-1.x86_64 (mongodb)
mongodb-org-mongos = 2.6.12-1
Available: mongodb-org-mongos-3.4.0-1.el6.x86_64 (mongodb-org-3.4)
mongodb-org-mongos = 3.4.0-1.el6
Available: mongodb-org-mongos-3.4.1-1.el6.x86_64 (mongodb-org-3.4)
mongodb-org-mongos = 3.4.1-1.el6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Предложение пропустить не удалось.
# yum downgrade --skip-broken mongodb-org
Loaded plugins: fastestmirror
Setting up Downgrade Process
Repository 'CentOS-EPEL' is missing name in configuration, using id
Loading mirror speeds from cached hostfile
* CentOS-EPEL: mirrors.xmission.com
* base: mirror.raystedman.net
* extras: denver.gaminghost.co
* updates: mirror.sesp.northwestern.edu
Resolving Dependencies
--> Running transaction check
---> Package mongodb-org.x86_64 0:3.4.1-1.el6 will be a downgrade
--> Processing Dependency: mongodb-org-tools = 3.4.1 for package: mongodb-org-3.4.1-1.el6.x86_64
--> Processing Dependency: mongodb-org-shell = 3.4.1 for package: mongodb-org-3.4.1-1.el6.x86_64
--> Processing Dependency: mongodb-org-server = 3.4.1 for package: mongodb-org-3.4.1-1.el6.x86_64
--> Processing Dependency: mongodb-org-mongos = 3.4.1 for package: mongodb-org-3.4.1-1.el6.x86_64
---> Package mongodb-org.x86_64 0:3.4.2-1.el6 will be erased
Packages skipped because of dependency problems:
mongodb-org-3.4.1-1.el6.x86_64 from mongodb-org-3.4
В /etc/yum.repos.d у меня есть два файла .repo:
mongodb-org-3.4.repo
mongodb.repo
mongodb.repo имеет это:
[mongodb]
gpgcheck=0
name=MongoDB/10gen Repository
enabled=1
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
И, mongodb-org-3.4.repo, имеет это:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
Как мне вернуться к mongodb 2.6.11?
Обновление: 24.02.17
Мне удалось удалить пять пакетов mongo.
# rpm -qa | grep mongo
mongodb-org-mongos-3.4.2-1.el6.x86_64
mongodb-org-tools-3.4.2-1.el6.x86_64
mongodb-org-server-3.4.2-1.el6.x86_64
mongodb-org-shell-3.4.2-1.el6.x86_64
mongodb-org-3.4.2-1.el6.x86_64
# yum remove mongodb-org
# yum remove mongodb-org-shell
# yum remove mongodb-org-mongos
# yum remove mongodb-org-tools
# yum remove mongodb-org-server
Затем я переименовал файл 3.4 mongo .repo:
# cd /etc/yum.repos.d
# mv mongodb-org-3.4.repo mongodb-org-3.4.repo.NOT
# yum install mongodb
Затем я установил mongodb (потому что у меня были знакомые конфликты при установке mongodb-org).
# mongo -version
MongoDB shell version: 2.4.14
Но я все еще застрял, так как я не мог установить все пакеты mongo в mongodb-org, и когда я попытался обновить mongo, надеясь добраться до 2.6.11, мне сказали, что пакеты не отмечены для обновления .
вы должны использовать звездочку в запросе для включения всех связанных зависимостей в процесс перехода на более раннюю версию:
yum downgrade 'mongodb-org*'
(Кавычки не позволяют оболочке пытаться раскрыть подстановочный знак.)