Je veux installer mongodb 3.4 sur Debian Stretch. Malheureusement, les paquets extensibles Debian ne sont que mongodb 3.2 ( https://packages.debian.org/stretch/mongodb ).
Les documents mongodb ne mentionnent que Debian 7 et 8 ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/ ). Lorsque j'utilise les commandes debian 8, je ne peux pas installer les paquets mongodb car ils ont des dépendances non satisfaites.
Lorsque j'autorise jessie-backports, l'erreur de dépendances non satisfaites a disparu, mais je ne sais pas si je dois le faire et installer les packages jessie-backports en extension.
Comment installer mongodb 3.4 sur Debian Stretch?
Merci pour tout conseil.
Réponses:
L'erreur lorsque vous essayez d'utiliser les instructions de Debian 8 suggère de nombreuses dépendances manquantes, mais fonctionnera en fait si vous installez la seule dépendance manquante réelle (
libssl1.0.0
). Pour référence, pour déterminer ce qui manquait, j'ai téléchargé lemongod
binaire et jeté un œil àldd
:Si vous regardez ce qui est installé dans Debian 9, nous en avons juste des versions
libssl
trop nouvelles. Les bibliothèqueslibssl
etlibcrypto
sont toutes deux installées par lelibssl
package et il est à peu près autonome. Par conséquent, nous pouvons simplement récupérer lelibssl1.0.0
paquet Debian 8 et l'installer.La version amd64 du paquet peut être trouvée ici (juste Google pour libssl1.0.0 Jesse et votre arch pour une autre version).
Pour installer ce package, téléchargez le fichier (dans mon cas c'était dans Téléchargements) puis installez-le avec
dpkg
:Avec cela terminé, nous revérifions rapidement
ldd
:Succès! Maintenant, réessayons l'installation du package de
mongodb-org
:Enfin, assurons-nous que le service démarre et que nous pouvons nous connecter avec un shell:
Et voilà: les packages Jesse fonctionnent sur Stretch. Je suis sûr qu'il y aura bientôt une sortie officielle qui rendra cela obsolète, mais en attendant, c'est une solution de contournement relativement indolore.
la source
package not found
demongodb-org
comprendre que quand j'ai compris que j'avais le mauvais bitume de Linux. J'ai moi-même une machine virtuelle 32 bits au lieu de 64 bits ... oups! Les instructions et binaires MongoDB sont pour 64 bits uniquement!sudo systemctl start mongod
puisque SystemD est le système d'initialisation par défaut pour Debian depuis Jessie etservice
n'est devenu qu'un script de compatibilité.Il semble que mongodb 3.4 n'ait pas encore de binaires pour l'étirement debian dans leur dépôt officiel apt. Votre meilleure approche peut être de construire à partir de la source de votre système.
Il y a des instructions spécifiques sur cette page: https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
Vous pouvez également essayer d'utiliser les packages Ubuntu pour Xenial, mais rien ne garantit que cela fonctionnera correctement, et je pense que la construction à partir des sources serait une meilleure idée.
la source
Je viens d'avoir ce problème (en utilisant debain 9).
Un peu de fouille a révélé que c'était dû au fait que l'ancienne version emballée par Debian ne pouvait pas être supprimée par le programme d'installation (j'essayais de mettre à niveau le paquet mongodb non officiel fourni par Debian vers les paquets mongodb-org officiels).
La solution était la suivante:
J'espère que cela fait gagner du temps à quelqu'un!
la source
J'ai créé un référentiel Github pour faciliter la construction de la dernière version de MongoDB. Il va tout construire en interne au lieu de dépendre d'apt, y compris le service systemd.
la source
Pour l'instant, le paquet est disponible dans Debian -
https://packages.debian.org/stretch/mongodb-server
Installez-le simplement en exécutant
# sudo apt install mongodb-server
la source
J'utilise Debian 9 Stretch
J'ai téléchargé cette version de MongoDB: Linux 64-bit legacy 64x
J'ai téléchargé dans mon dossier de bureau et l'ai renommé
mongodb
Après cela, vous "devez" déplacer votre dossier renommé récent vers
/opt/
mv mongodb /opt/
Vous pouvez maintenant accéder
/opt/mongodb/bin
et exécuter une commande comme celle-ci:./mongod --dbpath ./db/
Pour rendre la chose amusante, vous pouvez créer un lien symbolique, par exemple,
mongod
pour/usr/local/bin/
, comme ça:ln -s /opt/mongodb/bin/mongod /usr/local/bin/mongod
Maintenant, dans votre terminal, tapez la commande, de n'importe où:
mongod --dbpath /homer/user/Desktop/db
Vous devez spécifier le --dbpath pour que le mongod fonctionne correctement.
la source