42 votes

Apt-get échoue sur 16.04 ou 18.04 lors de l'installation de mongodb

Lorsque j'essaie d'installer mongodb en suivant les instructions sur https://docs.mongodb.com/getting-started/shell/tutorial/install-mongodb-on-ubuntu/ sur 16.04, j'obtiens le résultat suivant à l'étape d'installation:

jonathan@poseidon:~$ sudo apt-get install mongodb-org
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Le paquet mongodb-org n'est pas disponible, mais il est mentionné par un autre paquet.
Cela signifie en général que le paquet est manquant, qu'il est devenu obsolète
ou qu'il n'est disponible que sur une autre source

E: Le paquet 'mongodb-org' n'a pas de candidat à l'installation

J'ai vérifié le trafic HTTP avec Wireshark et j'ai constaté que le seul trafic était une requête HTTP GET pour la liste et une réponse HTTP 304, ce qui suggère que le problème réside dans mes fichiers de configuration locaux. Mon fichier sources.list.d contient l'entrée suivante:

mongodb-org-3.4.list

Que dois-je faire pour continuer à résoudre ce problème?

ÉDIT: J'ai essayé de refaire ceci sur une nouvelle installation de 16.04 sous VirtualBox. J'ai récupéré la clé, créé le fichier de liste et exécuté sudo apt update avec les résultats suivants:

jonathan@Ubuntu-16:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
[sudo] mot de passe pour jonathan: 
Exécution : /tmp/tmp.uWYpRUWfjK/gpg.1.sh --keyserver
hkp://keyserver.ubuntu.com:80
--recv
0C49F3730359A14518585931BC711F9BA15703C6
gpg: demande de la clé A15703C6 depuis le serveur hkp keyserver.ubuntu.com
gpg: clé A15703C6 : « MongoDB 3.4 Release Signing Key  » importée
gpg: Nombre total traité : 1
gpg:               importée : 1  (RSA : 1)
jonathan@Ubuntu-16:~$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse
jonathan@Ubuntu-16:~$ sudo apt update
Ign:1 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 InRelease
Réception de :2 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release [3 462 B]
Atteint :3 http://mx.archive.ubuntu.com/ubuntu xenial InRelease               
Réception de :4 http://security.ubuntu.com/ubuntu xenial-security InRelease [94,5 kB]                   
Réception de :5 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release.gpg [801 B]                      
Réception de :6 http://mx.archive.ubuntu.com/ubuntu xenial-updates InRelease [95,7 kB]           
Ign:5 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release.gpg                       
Réception de :7 http://mx.archive.ubuntu.com/ubuntu xenial-backports InRelease [92,2 kB]                    
Lecture des listes de paquets... Fait      
W: Erreur de GPG : http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible: NO_PUBKEY D68FA50FEA312927
E: Le dépôt 'http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release' n'est pas signé.
N: La mise à jour à partir d'un tel dépôt se fait de manière non sécurisée, et n'est donc pas possible par défaut.
N: Voir la page de manuel apt-secure(8) pour la création des dépôts et les détails de configuration des utilisateurs.
jonathan@Ubuntu-16:~$ 

Comme vous pouvez le voir, la clé récupérée était pour Mongodb 3.4, pas Mongodb 3.2, ce qui explique l'échec de GPG dans apt update. Savez-vous où obtenir la clé correcte?

113voto

Terrance Points 35422

Ubuntu 18.04 et MongoDB 4.2

Tout d'abord, supprimez MongoDB de la version précédente si elle est installée :

sudo apt remove --autoremove mongodb-org

Supprimez tous les fichiers de liste de repo mongodb :

sudo rm /etc/apt/sources.list.d/mongodb*.list
sudo apt update

Ensuite, ajoutez la nouvelle clé :

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 4B7C549A058F8B6B

Ajoutez le nouveau dépôt :

echo "deb [arch=amd64] http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

Installez MongoDB

sudo apt update
sudo apt install mongodb-org

Activez et démarrez le service du serveur mongod :

systemctl enable mongod.service
systemctl start mongod.service

Vérifiez votre installation :

~$ mongo --version
Version de l'interpréteur MongoDB : v4.2.2
Version Git : a0bbbff6ada159e19298d37946ac8dc4b497eadf
Version OpenSSL : OpenSSL 1.1.1  11 Sep 2018
allouateur : tcmalloc
modules : aucun
environnement de construction :
    distmod : ubuntu1804
    distarch : x86_64
    target_arch : x86_64

Vous pouvez également vérifier si votre service a démarré :

~$ systemctl status mongod.service
 mongod.service - Serveur de base de données MongoDB
   Chargé : chargé (/lib/systemd/system/mongod.service; activé; préréglage du fournisseur :
   Actif : actif (en cours d'exécution) depuis lun. 2019-12-30 08:05:48 MST; Il y a 1 min 7s
     Docs : https://docs.mongodb.org/manual
 Processus principal : 7941 (mongod)
   Groupe de contrôle : /system.slice/mongod.service
           7941 /usr/bin/mongod --config /etc/mongod.conf

Ubuntu 20.04 et MongoDB 4.4 ou MongoDB 5.0

Tout d'abord, supprimez MongoDB de la version précédente si elle est installée :

systemctl stop mongod.service
systemctl disable mongod.service
sudo apt remove --autoremove mongodb-org

Supprimez tous les fichiers de liste de repo mongodb :

sudo rm /etc/apt/sources.list.d/mongodb*.list
sudo apt update

Ensuite, ajoutez la nouvelle clé pour MongoDB 4.4 :

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 656408E390CFB1F5

La nouvelle clé pour MongoDB 5.0 :

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv B00A0BD1E2C63C11

Ajoutez le nouveau dépôt pour MongoDB 4.4 :

echo "deb [arch=amd64] http://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org.list

Ou le nouveau dépôt pour MongoDB 5.0 :

echo "deb [arch=amd64] http://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org.list

Installez MongoDB

sudo apt update
sudo apt install mongodb-org

Activez et démarrez le service du serveur mongod :

systemctl enable mongod.service
systemctl start mongod.service

Vérifiez votre installation :

~$ mongo --version
Version de l'interpréteur MongoDB : v4.4.3
Informations de construction : {
    "version" : "4.4.3",
    "gitVersion" : "913d6b62acfbb344dde1b116f4161360acd8fd13",
    "openSSLVersion" : "OpenSSL 1.1.1f  31 Mar 2020",
    "modules" : [],
    "allocator" : "tcmalloc",
    "environment" : {
        "distmod" : "ubuntu2004",
        "distarch" : "x86_64",
        "target_arch" : "x86_64"
    }
}

Ou

$ mongo --version
Version de l'interpréteur MongoDB : v5.0.2
Informations de construction : {
    "version" : "5.0.2",
    "gitVersion" : "6d9ec525e78465dcecadcff99cce953d380fedc8",
    "openSSLVersion" : "OpenSSL 1.1.1f  31 Mar 2020",
    "modules" : [],
    "allocator" : "tcmalloc",
    "environment" : {
        "distmod" : "ubuntu2004",
        "distarch" : "x86_64",
        "target_arch" : "x86_64"
    }
}

Vous pouvez également vérifier si votre service a démarré :

~$ systemctl status mongod.service
 mongod.service - Serveur de base de données MongoDB
     Chargé : chargé (/lib/systemd/system/mongod.service; activé; préréglage du fournisseur >
     Actif : actif (en cours d'exécution) depuis dim. 2021-01-24 07:52:50 MST; Il y a 27s
       Docs : https://docs.mongodb.org/manual
   Processus principal : 2353629 (mongod)
     Mémoire : 59.2M
     Groupe de contrôle : /system.slice/mongod.service
             2353629 /usr/bin/mongod --config /etc/mongod.conf

24 janv. 07:52:50 terrance-ubuntu systemd[1] : Démarrage du serveur de base de données MongoDB.

J'espère que cela vous aidera !

16voto

Pearl Points 21

En plus de la réponse de @Terrance, voici comment vous pouvez trouver la clé de signature appropriée. L'exemple est applicable à mongodb dans ce cas, mais peut être utilisé pour tout autre package de manière similaire. Avant d'exécuter les lignes de la réponse de @Terrance :

  1. Allez sur le serveur de clés ubuntu pour trouver la clé réelle

  2. Recherchez la chaîne d'intérêt (dans le cas de mongodb) et soumettez ce premier formulaire (vous n'avez pas besoin du deuxième formulaire pour cela) - cliquez sur le bouton Rechercher !

saisissez ici une description de l'image

  1. Sur la liste de recherche fournie, recherchez votre version (c'était 3.4 dans mon cas, ici dans l'exemple)

saisissez ici une description de l'image

  1. Vous pouvez voir deux lignes avec des clés là-bas. Concentrez-vous sur la plus récente en date. La première chaîne est la date de création tandis que la deuxième est la date d'expiration.

  2. Utilisez la signature de la ligne mentionnée au point 5 - dans ce cas sur l'image, ce serait A15703C6

  3. Continuez avec la réponse de Terrance que vous ayez besoin d'installer le package ou de le mettre à jour comme moi

2voto

Lakshmi Points 121

Première exécution :

$ sudo rm /etc/apt/sources.list.d/mongodb*.list

Il est également recommandé de supprimer toutes les lignes liées à MongoDB du fichier /etc/apt/sources.list.

Ensuite, effectuez une nouvelle installation de MongoDB en utilisant les commandes fournies dans les instructions d'installation officielles de MongoDB pour Ubuntu.

Les commandes fournies dans le lien sont les suivantes :

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -

sudo apt-get install gnupg

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

sudo apt-get update

sudo apt-get install -y mongodb-org

sudo service mongod start

sudo service mongod status

1voto

VishalTheBeast Points 111

Rien n'a fonctionné pour moi non plus, donc je suis allé sur le site de mongodb et j'ai suivi ces instructions pour installer à partir du tarball :

Installer les dépendances :

sudo apt-get install libcurl3 openssl

Téléchargez le tarball à partir de cette page

cd vers le répertoire Téléchargements ou où que le fichier se trouve, et extrayez-le :

tar -zxvf mongodb-linux-*-4.0.1.tgz

Les binaires se trouvent dans le répertoire bin de la structure extraite. Vous pouvez ajouter ce répertoire à votre PATH ou copier les fichiers dans /usr/local/bin ou un autre emplacement du PATH.

0voto

BC Smith Points 101

J'ai eu du mal aujourd'hui à installer mongodb 4.2 sur Ubuntu 20.04.1 LTS (Focal Fossa). Je suis un nouvel utilisateur et j'ai mis du temps à comprendre. La réponse écrite par @Terrance m'a aidé à résoudre mon problème. J'ai suivi les étapes ci-dessous pour l'installer sur mon système :

sudo rm /etc/apt/sources.list.d/mongodb*.list 
sudo apt update
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 4B7C549A058F8B6B
echo "deb [arch=amd64] http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
sudo apt update
sudo apt install mongodb-org

J'espère que cela aidera les autres. Merci.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X