Как мне установить MongoDB 3.0 в Vivid?
Официальный яркий пакет для mongodb - 2.x, и пакеты, которые MongoDB предоставляет на http://repo.mongodb.org/apt/ubuntu/dists/trusty/, доступны только для релизов LTS.
Альтернативой является то, что я мог бы вернуться к 14.04 LTS, но мне нужно было бы установить openjdk-8-jdk, который доступен только для Vivid.
5 ответов
Возможно, 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
Успешно установлен с версией 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=/var/lib/mongodb на dbpath=/data/db и сохраните файл.
Затем удалите старый по умолчанию / 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
Подробно мои шаги в моем блоге.
Как я уже говорил ранее: пакеты 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. ☺
дальнейшее чтение
Ну, ни один из ответов АБ не сработал. Так что мой единственный вариант был установить из tarball
Следуйте инструкциям на документах, связанных с этой темой.
Как короткое дополнение к отличному ответу @AB. На ярком 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