Я использую CentOS 6.7 на Hyper-V, а это значит, что я не могу выполнить обновление на месте до 7.0. Сегодня я перезапустил сервер, и какое-то время между последним перезапуском и сегодняшним днем моя установка MongoDB была обновлена до последней версии (3.0.6). Я не знаю, кто сделал обновление, но теперь для этого требуются некоторые библиотеки, которые текущая версия CentOS не может поддерживать, о чем свидетельствует следующее:
$ sudo bin/mongod --storageEngine wiredTiger --dbPath=/media/DataExt/mongodb-wiredtiger-data/
bin/mongod: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by bin/mongod)
bin/mongod: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by bin/mongod)
bin/mongod: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by bin/mongod)
bin/mongod: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by bin/mongod)
bin/mongod: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by bin/mongod)
Я попытался снизить уровень MongoDB до 3.0.5 (затем до 3.0.4, а затем до 3.0.0) с помощью команд sudo yum downgrade ... для всех модулей (mongodb-org-server , mongodb-org-mongos, mongodb-org-shell и mongodb-org-tools), и когда я пытаюсь запустить mongod, я все равно получаю те же ошибки.
Есть ли что-то еще, что мне нужно сделать, чтобы MongoDB работала с имеющимися у меня библиотеками C и C ++? Максимум, который я могу поддерживать для этой версии ОС, - это GLIBCXX_3.4.13, GLIBC_3.4.13 и CXXABI_1.3.3.
Создайте новую виртуальную машину и установите правильную версию MongoDB и ее зависимости. Затем скопируйте данные со старой машины на новую.
Если вы не знаете, как она была обновлена, то в старой системе загляните в /var/log/yum.log
чтобы увидеть, когда это произошло. Затем взгляните на все системные задания cron, дымящийся пистолет будет yumcron.
Очевидно, вы можете отключить yumcron или отредактировать /etc/yum.conf, чтобы исключить определенные пакеты.