J'installe MongoDB sur une machine Ubuntu 14.04, en utilisant les instructions à l' adresse : https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
Alors je cours:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
Puis:
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Suivi par:
sudo apt-get update
J'obtiens alors l'avertissement suivant à la fin de la mise à jour:
W: Erreur GPG: http://repo.mongodb.org trusty / mongodb-org / 3.2 Release: Les signatures suivantes n'étaient pas valides: BADSIG D68FA50FEA312927 MongoDB 3.2 Release Signing Key
Si j'ignore l'avertissement et que j'essaye de courir:
sudo apt-get install -y mongodb-org
Je reçois:
AVERTISSEMENT: les packages suivants ne peuvent pas être authentifiés!
mongodb-org-shell mongodb-org-server mongodb-org-mongos mongodb-org-tools mongodb-org E: Il y a des problèmes et -y a été utilisé sans --force-yes
Des idées sur la façon de résoudre? Merci!
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
Réponses:
Mettez à jour toutes les clés expirées du serveur de clés Ubuntu en une seule commande:
Explication de la commande:
sudo apt-key list
- répertorie toutes les clés installées dans le système;grep "expired: "
- ne laissez que les lignes avec des clés expirées;sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp'
- extrait les clés;xargs -n1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
- met à jour les clés du serveur de clés Ubuntu par celles qui ont expiré.La source
la source
--recv-key
est la clé expirée.apt-key list
n'est plus compatible avec les commandes de cette réponse qui le traitent. Au lieu de cela, courezsudo apt-key list | grep -A 1 expired
. Copiez l'empreinte digitale à 40 chiffres hexadécimaux. Ensuite, exécutez la commandesudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys $FINGERPRINT
où$FINGERPRINT
est la valeur que vous avez copiée (si elle contient des espaces, mettez des guillemets autour d'elle).On dirait que vous devez refaire les étapes d'installation de MongoDB. Tout d'abord, supprimez tout fichier de référentiel existant pour MongoDB. Faites comme ci-dessous.
Ensuite, ajoutez la clé: (sans la clé, le référentiel ne se chargera pas).
Maintenant, créez un nouveau fichier de liste de référentiels MongoDB:
Après avoir ajouté les détails du référentiel, nous devons mettre à jour la liste des packages.
Maintenant, installez MongoDB.
J'espère que cela t'aides !
la source
Vous n'avez pas besoin de réinstaller les packages mongo, mais changez simplement la clé comme suit:
Répertoriez les clés pour confirmer son expiration:
Remplacez la clé:
Le numéro 0xd68fa50fea312927 est l'ID de clé valide actuel (expire le 09/10/2019), comme vous pouvez le vérifier ici .
la source
Il semble que la version 3.2.1 ait été publiée le 11 / janvier / 2016, et la signature des paquets est mauvaise depuis ce moment. La signature des colis était correcte la veille.
réfs: https://jira.mongodb.org/browse/SERVER/fixforversion/15908/?selectedTab=com.atlassian.jira.jira-projects-plugin:version-summary-panel
Vous pouvez soit ajouter l'option --force-yes, soit attendre quelques heures que l'équipe mongodb voit et corrige le problème.
Il y a déjà un ticket là-bas: https://jira.mongodb.org/browse/SERVER-22144
la source
J'ai également rencontré ce problème lors de l'installation de MongoDB 4.0 sur Ubuntu 16.04. Alors je l'ai fait.
sudo rm /etc/apt/sources.list.d/mongodb*.list
- supprimer tout fichier existant pour MongoDBsudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E52529D4
- ajouter la clésudo bash -c 'echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" > /etc/apt/sources.list.d/mongodb-org-4.0.list'
- créer un nouveau fichier de liste de référentiels MongoDBMaintenant, terminez l'installation avec une mise à jour des référentiels, puis installez MongoDB, activez le
mongod
service et démarrez-le, et enfin, vérifiez votre version de MongoDB:la source
J'ai également rencontré ce problème lors de l'installation de MongoDB 3.2 sur mon ubuntu 16.04 en utilisant les commandes ci-dessous. La solution ci-dessous est fournie en tant que question liée à l'installation v3.2 de MongoDB
Après avoir exécuté la commande de mise à jour ci-dessus, j'ai trouvé les avertissements suivants
Lors d'une enquête plus approfondie en utilisant la commande ci-dessous pour lister toutes les clés
Il montre que la clé actuelle a expiré le 2017-10-08
Cela avait également du sens car la version stable actuelle de MongoDB est maintenant (3.4.9).
Pour résoudre le problème, nous effectuons d'abord un petit nettoyage (facultatif)
nous supprimons l'ancienne clé ajoutée
sudo apt-key list // Liste toutes les clés
sudo apt-key del EA312927 // Trouver l'uid de la clé à supprimer
liste de clés apt | grep Mongodb // Vérifier s'il est supprimé
Nous supprimons maintenant le dépôt MongoDB ajouté dans /etc/apt/sources.list.d
sudo rm /etc/apt/sources.list.d/mongodb*.list
Nous installons maintenant la dernière version stable de MongoDB (3.4.9) en utilisant les commandes ci-dessous
Importez la clé publique utilisée par le gestionnaire de packages Ubuntu
Créez une liste de fichiers pour que mongoDB récupère le référentiel actuel
Installez MongoDB
la source
J'ai eu le même problème et je l'ai résolu en installant mongodb avec la méthode tarball. Reportez-vous au lien ci-dessous pour plus de détails.
https://docs.mongodb.org/manual/tutorial/install-mongodb-on-linux/
Ajout de détails ci-dessous
export PATH = / bin: $ PATH
puis exécutez mongod (le chemin de la base de données doit peut-être être défini)
la source
En fait, ce qui suit est très important pour résoudre le problème
la source
J'ai eu le même problème, alors j'ai fait:
root@skarabi:~# apt remove mongodb-org
Ensuite:
root@skarabi:~# sudo rm /etc/apt/sources.list.d/mongodb*.list
Après :
root@skarabi:~# apt update
la source
apt remove
(désinstaller) Mongo de votre machine simplement pour obtenir la clé la plus récente. Vous allez détruire toute votre base de données juste pour essayer d'extraire une clé mise à jour pour les sources apt.En utilisant la réponse de dlopatin, j'ai proposé ceci pour Ubuntu 18.04 car ce code ne fonctionne plus:
sudo apt-key list
grep -A 1 "\[expired:"
^\s\{1,10\}
et sélectionnez les caractères alphanumériques\(\w*\)
, remplacez ces lignes par le groupe sélectionné qui est l'empreinte digitale\1
, répétez pour toutes les lignes renvoyéesg
, puis imprimez l'empreinte digitalep
. Ça donne:sed -ne 's|^\s\{1,10\}\(\w*\)|\1|gp'
xargs -d '\n'
puis passez les empreintes digitales comme arguments à apt-key pour les mettre à jour:sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
ce qui vous donne:xargs -d '\n' sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
Espérons que ce soit clair. Ignorez l'avertissement concernant l'analyse de la sortie apt-key :)
la source
J'ai rencontré le problème similaire et j'ai eu l'erreur suivante lors de l'installation de MongoDB 4.2 sur l'instance Ubuntu 18.04 sur Google Cloud.
La solution qui a fonctionné de ma part exécutait la commande suivante pour obtenir la clé. J'ai trouvé cela sur les pages officielles des numéros Jira de MongoDB.
J'ai trouvé cette solution dans les problèmes Jira officiels de MongoDB. Voici le lien vers le problème.
la source