Cuando intento instalar mongodb usando las instrucciones https://docs.mongodb.com/getting-started/shell/tutorial/install-mongodb-on-ubuntu/
en 16.04 obtengo el siguiente resultado en el paso de instalación:
jonathan@poseidon:~$ sudo apt-get install mongodb-org
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package mongodb-org is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'mongodb-org' has no installation candidate
Verifiqué el tráfico HTTP con Wireshark y descubrí que el único tráfico era un HTTP GET para la lista y una respuesta HTTP 304 que sugiere que el problema radica en mis archivos de configuración locales. Mi archivo sources.list.d contiene la siguiente entrada:
mongodb-org-3.4.list
¿Qué debo hacer para continuar solucionando este problema?
EDITAR: Traté de hacer esto nuevamente en una nueva instalación de 16.04 en VirtualBox. Recuperé la clave, creé el archivo de lista y lo hice sudo apt update
con los siguientes resultados:
jonathan@Ubuntu-16:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
[sudo] password for jonathan:
Executing: /tmp/tmp.uWYpRUWfjK/gpg.1.sh --keyserver
hkp://keyserver.ubuntu.com:80
--recv
0C49F3730359A14518585931BC711F9BA15703C6
gpg: requesting key A15703C6 from hkp server keyserver.ubuntu.com
gpg: key A15703C6: public key "MongoDB 3.4 Release Signing Key <[email protected]>" imported
gpg: Total number processed: 1
gpg: imported: 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
Get:2 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release [3 462 B]
Hit:3 http://mx.archive.ubuntu.com/ubuntu xenial InRelease
Get:4 http://security.ubuntu.com/ubuntu xenial-security InRelease [94.5 kB]
Get:5 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release.gpg [801 B]
Get: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
Get:7 http://mx.archive.ubuntu.com/ubuntu xenial-backports InRelease [92.2 kB]
Reading package lists... Done
W: GPG error: http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY D68FA50FEA312927
E: The repository 'http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
jonathan@Ubuntu-16:~$
Como puede ver, la clave recuperada fue para Mongodb 3.4, no para Mongodb 3.2 y esto explica la falla de GPG en la actualización de apt. ¿Alguien sabe dónde obtener la clave correcta?
fuente
Además de la respuesta de @Terrance, así es como puede encontrar la clave sig adecuada. El ejemplo es aplicable a mongodb en este caso, pero puede usarse para cualquier otro paquete de manera similar. Antes de ejecutar líneas de la respuesta de @Terrance:
Vaya al servidor de claves ubuntu para encontrar la clave real
Busque una cadena de interés (mongodb en el caso) y envíe ese primer formulario (no necesita el segundo formulario para esto) - haga clic en el
Search!
botónPuedes ver dos filas con llaves allí. Concéntrese en lo más actual por fecha. La primera cadena es la fecha de creación, mientras que la segunda es la fecha de vencimiento válida.
Utilice sig de la fila mencionada en el punto 5; en el caso de la imagen, sería
A15703C6
Continúe con la respuesta de Terrance si necesita instalar el paquete o actualizar como yo
fuente
Nada funcionó para mí tampoco, así que fui al sitio web de mogodb y seguí estas instrucciones para instalar desde tarball:
Instalar dependencias:
Descargue el tarball de esta página
cd
al directorio de Descargas o donde sea que vaya el archivo, y extráigalo:Los binarios están en el
bin
directorio de la estructura extraída. Puede agregar este directorio a PATH o copiar los archivos a/usr/local/bin
u otra ubicación de PATH.fuente
Primer intento:
Luego realice una nueva instalación de MongoDB utilizando los comandos provistos en las instrucciones oficiales de instalación de MongoDB para Ubuntu .
fuente