I installé MongoDB 2.6 sur Ubuntu 15.04 propre et installé:
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
C'est fini sans aucun problème. Cependant, quand j'ai essayé de le démarrer, j'ai eu l'erreur suivante:
$ Sudo service mongod start
Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.
Comment puis-je réparer cela?
J'ai installé depuis le référentiel Debian Wheeze et cela fonctionne bien.
Tout d’abord, assurez-vous de supprimer le paquet mongodb-org et toutes ses dépendances:
Sudo apt-get purge mongodb-org
Sudo apt-get autoremove
Supprimez l'ancien mongodb.list que vous avez créé:
Sudo rm /etc/apt/sources.list.d/mongodb.list
Utilisez plutôt le référentiel 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
Mettre à jour et installer à nouveau:
Sudo apt-get update
Sudo apt-get install -y mongodb-org
Après cela, vous pouvez démarrer avec succès le serveur:
Sudo service mongod start
ou
systemctl start mongod
(comme clarifié par Ernie Hershey en réponse au commentaire de Roman Gaufman ici: https://jira.mongodb.org/browse/SERVER-17742 )
L’équipe de MongoDB a annoncé qu’elle ne prendrait pas en charge Ubuntu 15.04 et prévoyait de prendre en charge 16.04 (voir https://jira.mongodb.org/browse/SERVER-17742 ).
Ubuntu 15.04 fait progresser le système init par défaut d'Upstart à systemd. Je n'ai pas réussi à démarrer MongoDB 3.0 avec systemd.
Vous pouvez revenir à Upstart en installant upstart-sysv
:
Sudo apt-get install upstart-sysv
Ensuite, redémarrez et MongoDB devrait être en place.
J'espère trouver un moyen facile de faire fonctionner MongoDB sur Ubuntu 15.04 sans revenir en arrière.
J'ai créé un script Systemd qui semble fonctionner pour Ubuntu 15.04+ et Mongo 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
Assurez-vous de définir votre répertoire de données dans /etc/mongod.conf
Vous installez à partir des packages publiés directement sur mongodb.org. Vous devez installer à partir des packages fournis dans le référentiel Ubuntu. Les paquets Debian/Ubuntu ont été corrigés avec des unités de service systemd afin de combler le vide laissé par mongodb.org.
(Il n'y a pas de pénurie de fichiers d'unité mongodb.service
sur le WWW. Ce n'est pas difficile d'en écrire un. Je l'ai.)
Plus précisément: vous trouverez ne telle unité de service dans le paquetage de la version 2.6 de mongodb-server pour Ubuntu version 15 . Donc, installez ce paquet.
(Notez que les unités de service fournies par Debian/Ubuntu ne s'appliquent pas les directives d'unité de service systemd recommandées par mongo .)
utilisez "mongodb" au lieu de "mongod"
c'est à dire
Sudo service mongodb start
Sudo service mongodb stop
N'est-ce pas la meilleure réponse? À partir d'une question en double: https://askubuntu.com/a/694226/255468 par @sclausen
C'est simplement l'absence d'un fichier de service pour Systemd. Nul besoin de revenir à la situation actuelle comme Kartik ou d'utiliser un référentiel différent de celui décrit dans https://docs.mongodb.org/manual/installation/ .
Créez un fichier /lib/systemd/system/mongodb.service avec le contenu suivant:
[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
Il semble que cela ne sera peut-être pas complètement corrigé pour> 2.6.3 avant Ubuntu 16.04, à moins d’un tollé.
La solution pour moi était donc de publier:
Sudo apt-get install --reinstall mongodb
Bon nombre de ces réponses sont liées à Mongo 3.0, alors que la question portait spécifiquement sur 2.6.
J'ai eu du succès à installer la version 2.6 en utilisant le référentiel Debian de 10gen. Cela semble fonctionner parfaitement avec 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
Source: Comment installer MongoDB 2.6 sur Ubuntu 14.10, 14.04 et 12.04 LTS
Après des heures de recherche, la solution consistait à mettre à jour mon ubuntu du 15.04 au 16.04 en utilisant cette commande:
étape 1
Sudo do-release-upgrade -d
Cela prendra quelques minutes, alors ne paniquez pas, il vous faudra enlever mongodb:
étape 2
Sudo apt-get purge mongodb-org
Sudo apt-get autoremove`
rm /etc/apt/sources.list.d/mongodb-org-3.0.list`
Et maintenant, installez mongodb mais en utilisant cette source:
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
étape
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
Et c'est tout.
Remarque: Si vous obtenez une erreur telle que 'E: le type' deb 'dans la première ligne. . . dans le fichier mongodb-org-3.0.list
tout ce que vous avez à faire est d’entrer dans ce fichier en utilisant gedit et de supprimer le mot "au début et à la fin de la phrase.
Ubuntu 15.04+ utilise systemd au lieu de upstart . Commencez par Guide d'installation officiel de MongoDB . Ensuite, utilisez leur officiel 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
Bien que la question concerne la version 2.6. Je recevais exactement la même erreur Unit mongod.service failed to load
dans Ubuntu 15.04 pour la version 3.0.6. Finalement résolu en utilisant le même référentiel Wheezy mentionné par Dielson Sales ci-dessus.
Et après l'installation (en suivant les étapes détaillées par @Dielson Sales), l'erreur ci-dessus s'est produite. Voici comment j'ai finalement résolu.
A) Modifiez les fichiers de stockage de données par défaut de MongoDB de /var/lib/mongodb en /data/db
Commencez par créer le nouveau répertoire/data/db Sudo mkdir -p /data/db
Ouvrez le fichier mongod.conf Sudo gedit /etc/mongod.conf
et modifiez la ligne "dbpath" comme ci-dessous
Remplacez dbpath =/var/lib/mongodb TO dbpath =/data/db et enregistrez le fichier.
Supprimez ensuite l'ancien fichier/var/lib/mongodb par défaut.
Maintenant, nous devons créer tous les répertoires/fichiers appartenant à l'utilisateur mongod
B) Alors lancez Sudo chown -R mongodb:mongodb /data/db
Et enfin, je peux enfin commencer par Mongo avec Sudo service mongod start
Et vérifiez que le service fonctionne avec Sudo systemctl status mongod
- Il devrait afficher un message similaire à ci-dessous
Loaded: loaded (/etc/init.d/mongod)
Active: active (running) since Thu 2015-09-03 04:57:49 IST; 7s ago
Avez détaillé mes étapes dans mon post de blog
Tout d’abord, téléchargez mongodb:
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
extraire le téléchargement:
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz
lancez le mongod (mongodb-linux-x86_64-3.0.6.tgz/bin/mongod) avec l'attribut -dbpath:
Sudo ./mongod --dbpath /path/of/the/directory
Ce peut être un répertoire vide de votre choix
et enfin, lancez mongo (mongodb-linux-x86_64-3.0.6.tgz/bin/mongo)
./mongo
travaillé sur mon ubuntu 15 :)
désolé pour mon mauvais anglais, j'habite au Brésil
Vous avez fait une faute de frappe dans votre commande.
Essayez plutôt d'utiliser ceci: Sudo service mongodb start