Я установил MongoDB 2.6 на чистой установленной Ubuntu 15.04:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install -y mongodb-org
Это закончилось без любых проблем. Однако, когда я пытался запустить его, я получил следующую ошибку:
$ sudo service mongod start
Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.
Как я могу зафиксировать это?
Я установил от репозиторий хрипа debian , и он хорошо работает.
Первый удостоверяются, что Вы удаляете mongodb-org пакет и все его зависимости:
sudo apt-get purge mongodb-org
sudo apt-get autoremove
Удаляют старый mongodb.list, который Вы создали:
sudo rm /etc/apt/sources.list.d/mongodb.list
Использование репозиторий Debian вместо этого:
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
После этого, Вы можете succesffully запускать сервер:
sudo service mongod start
или
systemctl start mongod
(как разъяснено Ernie Hershey в ответ на комментарий Roman Gaufman здесь: https://jira.mongodb.org/browse/SERVER-17742)
Команда MongoDB заявляет, что они не будут поддерживать Ubuntu 15.04 и планировать поддерживать 16.04 вместо этого (см. https://jira.mongodb.org/browse/SERVER-17742).
Ubuntu 15.04 совершенствует значение по умолчанию init система от Выскочки к systemd. Я не имел никакого успеха стартовый MongoDB 3.0 с systemd.
можно переключиться назад на Выскочку путем установки upstart-sysv
:
sudo apt-get install upstart-sysv
Тогда перезагрузка и MongoDB должны произойти.
я надеюсь найти простой способ выполнить MongoDB на Ubuntu 15.04, не переключая вещи назад вовремя.
Вы устанавливаете от пакетов, опубликованных непосредственно с mongodb.org. Необходимо устанавливать от пакетов, предоставленных в Ubuntu respository. Пакеты Debian/Ubuntu были исправлены с systemd сервисными единицами, для заполнения дыры, покинутой mongodb.org.
(нет никакого дефицита mongodb.service
файлы единицы на WWW. Не трудно записать один, также. Я имею.)
Конкретно: Вы найдете такая сервисная единица в пакет mongodb-серверной-версии 2.6 для версии 15 Ubuntu. Поэтому просто установите тот пакет.
(Отмечают, что сервисные единицы Debian/Ubuntu-supplied не применяются рекомендуемые монго systemd сервисные директивы единицы .)
Я создал сценарий Systemd, который, кажется, работает на Ubuntu 15.04 + и 3,0 монго +:
[Unit]
Description=High-performance, schema-free document-oriented database
Documentation=man:mongod(1)
After=network.target
[Service]
Type=forking
User=mongodb
Group=mongodb
RuntimeDirectory=mongod
PIDFile=/var/run/mongod/mongod.pid
ExecStart=/usr/bin/mongod -f /etc/mongod.conf --pidfilepath /var/run/mongod/mongod.pid --fork
TimeoutStopSec=5
KillMode=mixed
[Install]
WantedBy=multi-user.target
https://gist.github.com/benileo/ada486d73f58dd93a0ee
Удостоверяется, что Вы устанавливаете свой каталог данных в /etc/mongod.conf
Разве это не лучший ответ? От дублирующегося вопроса: https://askubuntu.com/a/694226/255468 к <часу> @sclausen
Это - просто отсутствие сервисного файла для systemd. Никакая потребность вернуться к выскочке как Kartik не сделала или использует другой репозиторий, чем описанный в https://docs.mongodb.org/manual/installation / .
Создают файл/lib/systemd/system/mongodb.service со следующим содержанием:
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
[Install]
WantedBy=multi-user.target
https://jira.mongodb.org/browse/SERVER-17742
кажется, что это возможно не будет полностью зафиксировано для> 2.6.3 до Ubuntu 16.04, если не будет сильный протест.
, Таким образом, решение для меня состояло в том, чтобы выйти:
sudo apt-get install --reinstall mongodb
Многие из этих ответов связаны с 3,0 монго, тогда как вопрос, который задают конкретно приблизительно 2,6.
я имел успех, устанавливающий 2,6 использования репозитория Debian от 10gen. Это, кажется, работает отлично с Ubuntu 15.04.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install mongodb-org
Источник: , Как Установить MongoDB 2.6 на Ubuntu 14.10, 14,04 и 12,04 LTS
Во-первых, загрузите mongodb:
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
загрузка извлечения:
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz
выполняет mongod (mongodb-linux-x86_64-3.0.6.tgz/bin/mongod) с атрибутом-dbpath:
sudo ./mongod --dbpath /path/of/the/directory
Это может быть пустым каталогом любой по Вашему выбору
и наконец, работать, монго (mongodb-linux-x86_64-3.0.6.tgz/bin/mongo)
./mongo
работало над моей человечностью 15 :)
извините для моего плохого английского языка, я живу в Бразилии
После закрытия от поиска, решение состояло в том, чтобы обновить мою человечность от 15,04 до 16,04 использований этой команды:
Шаг 1
sudo do-release-upgrade -d
потребуется несколько минут, так не паникуйте, чем необходимо удалить mongodb:
Шаг 2
sudo apt-get purge mongodb-org
sudo apt-get autoremove`
rm /etc/apt/sources.list.d/mongodb-org-3.0.list`
И теперь, установите mongodb, но использующий этот источник:
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
Шаг 3
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 mongodb-org
sudo service mongod status
И вот именно.
Примечание: , Если Вы получаете ошибку как 'E: тип 'deb' в первой строке... в файле mongodb-org-3.0.list
все, что необходимо сделать, должно войти в этот файл с помощью gedit и удалить †в начинании и в конце предложения.
Ubuntu 15.04 + использование systemd вместо выскочки . Запустите с официальное руководство по установке MongoDB . Затем используйте их чиновника mongod.service
:
[Unit]
Description=High-performance, schema-free document-oriented database
[Service]
User=mongod
Group=mongod
Environment="OPTIONS=--quiet -f /etc/mongod.conf"
ExecStart=/usr/local/bin/mongod $OPTIONS run
PIDFile=/var/run/mongodb/mongod.pid
[Install]
WantedBy=multi-user.target
$ curl -OL https://raw.githubusercontent.com/mongodb/mongo/1663f45b4e33e058a0203a81f50574a870882c34/rpm/mongod.service
$ sed -i 's/\/usr\/local/\/usr/g' mongod.service
$ sed -i '/Desc/a After=network.target' mongod.service
$ sudo sed -i '0,/\/var\/lib\/mongodb/s//\/data\/db/' /etc/mongod.conf
$ sudo cp mongod.service /lib/systemd/system/mongo.service
$ sudo mkdir -p /data/db
$ sudo chown -R mongodb:mongodb /data
$ sudo systemctl daemon-reload
$ sudo systemctl enable mongod
$ sudo systemctl start mongod
$ sudo systemctl status mongod
Вы сделали опечатку в своей команде.
Попытка с помощью этого вместо этого: sudo service mongodb start
В то время как вопрос для версии 2.6. Я получал ту же самую ошибку Unit mongod.service failed to load
в моей Ubuntu 15.04 для версии 3.0.6. В конечном счете разрешенное использование того же хрипящего репозитория, упомянутого Продажами Dielson выше.
И после того, как установка (выполняющий шаги, детализированные @Dielson Продажами), стояла перед вышеупомянутой ошибкой. Вот то, как я наконец решил.
A) Измените файлы хранилища данных MongoDB по умолчанию от/var/lib/mongodb до/data/db
Сначала создайте новый/data/db каталог sudo mkdir -p /data/db
Откройте mongod.conf файл sudo gedit /etc/mongod.conf
и измените “dbpath” строку как ниже
Замените dbpath =/var/lib/mongodb К dbpath =/data/db и сохраните файл.
Затем удалите старое значение по умолчанию/var/lib/mongodb
Теперь мы должны сделать все каталоги/файлы принадлежавшими mongod пользователю
B) Таким образом выполненный sudo chown -R mongodb:mongodb /data/db
И теперь наконец я могу запустить монго с sudo service mongod start
И chcek, с которым работает услуга sudo systemctl status mongod
- Это должно показать сообщение, подобное ниже
Loaded: loaded (/etc/init.d/mongod)
Active: active (running) since Thu 2015-09-03 04:57:49 IST; 7s ago
Детализировали мои шаги в моем сообщении в блоге
используйте "mongodb" вместо "mongod"
т.е.
sudo service mongodb start
sudo service mongodb stop