Как мне установить MongoDB 3.0 в Vivid?


8

Официальный яркий пакет для mongodb - 2.x, а пакеты, которые MongoDB предоставляет на http://repo.mongodb.org/apt/ubuntu/dists/trusty/ , доступны только для релизов LTS.

Альтернативой является то, что я мог бы вернуться к 14.04 LTS, но мне нужно было бы установить openjdk-8-jdk, который доступен только для Vivid.


1
Я думаю, что ничего плохого не произойдет, если вы установите его из надежного репо в яркий.
Pilot6

Ответы:


13

Возможно, MongoDB не запустится, если вы используете пакеты Trusty:

Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

В этом случае установите пакеты Debian Wheezy, как описано в конце.

Установите пакеты Trusty DEB

Загрузите файлы DEB

cd
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-mongos_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-server_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-shell_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-tools_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org_3.0.3_amd64.deb

И установить с помощью (в этом порядке)

sudo dpkg -i mongodb-org-server_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-tools_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-shell_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-mongos_3.0.3_amd64.deb
sudo dpkg -i mongodb-org_3.0.3_amd64.deb

И взяты из комментариев, спасибо @ Pilot6 :

Они могут иметь зависимости друг от друга. Вот почему установочные пакеты один за другим могут выдавать ошибки. Я предлагаюsudo dpkg -i mongodb*.deb


Используйте Надежный PPA

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

Используйте пакеты Debian Wheezy

Возможно, MongoDB не запустится, если вы используете пакеты Trusty:

Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

В этом случае установите пакеты Debian Wheezy, как описано ниже

sudo apt-get remove mongodb-org
sudo apt-get autoremove
sudo rm /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

Они могут иметь зависимости друг от друга. Вот почему установочные пакеты один за другим могут выдавать ошибки. Я предлагаюsudo dpkg -i mongodb*.deb
Pilot6

@ Pilot6 Поэтому, sudo dpkg -i mongodb-org_3.0.3_amd64.debкак последняя команда
AB

Просто предложение. И это проще, чем одной командой. Если вы устанавливаете несколько пакетов в одной команде, зависимости разрешаются.
Pilot6

@ Pilot6 добавлен и связан =)
AB

Хорошо, я использовал Deby пакеты deb, и это сработало. Как мне тогда запустить его как сервис, чтобы я мог запускать и останавливать его с помощью service mongod start?
Хью Роулинсон

4

Успешно установлен с версией mongo 3.0.6 в моем Ubuntu 15.04 с использованием репозитория debian wheezy - см. Ниже шаги

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

sudo apt-get update

sudo apt-get install -y mongodb-org

Однако после всех вышеперечисленных шагов и установки mongodb на мою машину, теперь, когда я пытался запустить службу mongodb, sudo service mongod startона не удалась Выдает следующее сообщение об ошибке

Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

Так вот как я решил и запуск mongodb нормально

  • Измените файлы хранилища данных MongoDB по умолчанию с / var / lib / mongodb на / data / db

  • sudo mkdir -p /data/db

  • sudo gedit /etc/mongod.conf и измените строку «dbpath», как показано ниже

  • Заменить DBPATH = / уаг / Библиотека / MongoDB TO DBPATH = / данные / дб , а затем сохранить файл.

  • Затем удалите старый по умолчанию / var / lib / mongodb

  • Теперь мы должны сделать все каталоги / файлы, принадлежащие пользователю mongod

  • Запустить sudo chown -R mongodb:mongodb /data/db

И теперь, наконец, я могу начать Монго с sudo service mongod start

И ччек, с которым работает сервис - sudo systemctl status mongod должно отобразиться сообщение, подобное приведенному ниже

Loaded: loaded (/etc/init.d/mongod)

Active: active (running) since Thu 2015-09-03 04:57:49 IST; 7s ago

Подробно мои шаги в моем блоге .


1

Как я уже говорил ранее: пакеты Debian / Ubuntu были пропатчены единицами обслуживания systemd, чтобы заполнить пробел, оставленный материалом, который публикуется непосредственно с mongodb.org. Но mongodb.serviceв WWW нет недостатка в файлах модулей. Это тоже не сложно написать. (Я имею.)

В частности: Вы найдете такой сервисный модуль в пакете mongodb-server версии 2.6 для Ubuntu версии 15 . Там также есть сервисный отдел, опубликованный mongodb.org . Это просто тот случай, когда люди mongodb.org по ошибке связали использование RPM с использованием systemd в материалах, относящихся к дистрибутиву.

Обратите внимание, что по иронии судьбы сервисные модули, поставляемые mongodb.org, не применяют директивы системного сервисного модуля, которые рекомендует сам mongodb.org . Ни один не делает поставляемые Debian / Ubuntu. Но, опять же: рукописный сервисный блок с этими директивами написать несложно; или действительно, чтобы изменить, чтобы добавить такие вещи, как numactl. ☺

дальнейшее чтение


0

Ну, ни один из ответов АБ не сработал. Так что мой единственный вариант был установить из tarball

Следуйте инструкциям на документах, связанных с этой темой.


0

Как короткое дополнение к отличному ответу @ AB. На Vivid amd64 с предыдущей установкой mongod 2.6 .26, просто заменив существующий sources.list.dфайл на

deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse

с последующим dist-upgrade работал автоматически.

sudo apt-get update
sudo apt-get dist-upgrade
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.