Estoy instalando MongoDB en una máquina con Ubuntu 14.04, siguiendo las instrucciones en: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
Entonces corro:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
Y entonces:
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
Seguido por:
sudo apt-get update
Luego recibo la siguiente advertencia al final de la actualización:
W: Error de GPG: http://repo.mongodb.org trusty / mongodb-org / 3.2 Versión: Las siguientes firmas no eran válidas: BADSIG D68FA50FEA312927 MongoDB 3.2 Release Signing Key
Si ignoro la advertencia e intento ejecutar:
sudo apt-get install -y mongodb-org
Yo obtengo:
ADVERTENCIA: ¡Los siguientes paquetes no se pueden autenticar!
mongodb-org-shell mongodb-org-server mongodb-org-mongos mongodb-org-tools mongodb-org E: Hay problemas y se usó -y sin --force-yes
¿Alguna idea sobre cómo resolverlo? ¡Gracias!
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
Respuestas:
Actualice todas las claves caducadas del servidor de claves de Ubuntu en un comando:
Explicación del comando:
sudo apt-key list
- enumera todas las claves instaladas en el sistema;grep "expired: "
- deje solo líneas con claves caducadas;sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp'
- extrae claves;xargs -n1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
- actualiza las claves del servidor de claves de Ubuntu por las que se encuentran caducadas.Fuente
fuente
--recv-key
es la clave caducada.apt-key list
ya no es compatible con los comandos en esta respuesta que lo procesan. En cambio, corresudo apt-key list | grep -A 1 expired
. Copie la huella digital de 40 dígitos hexadecimales. Luego, ejecute el comandosudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys $FINGERPRINT
donde$FINGERPRINT
está el valor que copió (si contiene espacios, coloque comillas alrededor).Parece que necesita rehacer los pasos de instalación de MongoDB. Primero, elimine cualquier archivo de repositorio existente para MongoDB. Haz lo siguiente.
A continuación, agregue la clave: (sin la clave, el repositorio no se cargará).
Ahora, cree un nuevo archivo de lista de repositorios de MongoDB:
Después de agregar los detalles del repositorio, necesitamos actualizar la lista de paquetes.
Ahora instale MongoDB.
Espero que esto ayude !
fuente
No es necesario volver a instalar los paquetes de mongo, simplemente cambie la clave de la siguiente manera:
Enumere las claves para confirmar que está vencida:
Reemplazar la llave:
El número 0xd68fa50fea312927 es la identificación de clave válida actual (vence el 2019-10-09), como puede verificar aquí .
fuente
Parece que la versión 3.2.1 se lanzó el 11 / Ene / 2016, y la firma del paquete es mala desde este momento. La firma de los paquetes estuvo bien el día anterior.
refs: https://jira.mongodb.org/browse/SERVER/fixforversion/15908/?selectedTab=com.atlassian.jira.jira-projects-plugin:version-summary-panel
Puede agregar la opción --force-yes o esperar unas horas para que el equipo de mongodb vea y solucione el problema.
Ya hay un boleto allí: https://jira.mongodb.org/browse/SERVER-22144
fuente
También enfrenté este problema al instalar MongoDB 4.0 en Ubuntu 16.04. Así que lo hice.
sudo rm /etc/apt/sources.list.d/mongodb*.list
- eliminar cualquier archivo existente para MongoDBsudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E52529D4
- agrega la clavesudo 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'
- crear un nuevo archivo de lista de repositorios de MongoDBAhora, complete la instalación con una actualización de repositorios, luego instale MongoDB, habilite el
mongod
servicio e inícielo, y por último, verifique su versión de MongoDB:fuente
También enfrenté este problema al instalar MongoDB 3.2 en mi ubuntu 16.04 usando los siguientes comandos. La siguiente solución se proporciona como la pregunta relacionada con la instalación v3.2 de MongoDB
Después de ejecutar el comando de actualización anterior, encontré las siguientes advertencias
Al investigar más a fondo, utilice el siguiente comando para enumerar todas las claves
Muestra que la clave actual caducó el 2017-10-08
Esto también tenía sentido ya que la versión estable actual de MongoDB es ahora (3.4.9).
Para solucionar el problema primero, hacemos una pequeña limpieza (opcional)
quitamos la llave vieja agregada
sudo apt-key list // Lista todas las claves
sudo apt-key del EA312927 // Encuentra el uid de la clave a eliminar
lista de teclas aptas | grep Mongodb // Verifica si está eliminado
Ahora eliminamos el repositorio de MongoDB agregado en /etc/apt/sources.list.d
sudo rm /etc/apt/sources.list.d/mongodb*.list
Ahora instalamos la última versión estable de MongoDB (3.4.9) usando los siguientes comandos
Importar la clave pública utilizada por el administrador de paquetes de Ubuntu
Cree una lista de archivos para que mongoDB obtenga el repositorio actual
Instalar MongoDB
fuente
Tuve el mismo problema y lo resolví instalando mongodb con el método tarball. Consulte el enlace a continuación para obtener más detalles.
https://docs.mongodb.org/manual/tutorial/install-mongodb-on-linux/
Añadiendo detalles a continuación
export PATH = / bin: $ PATH
luego ejecute mongod (es posible que deba configurar la ruta db)
fuente
En realidad, lo siguiente es muy importante para resolver el problema.
fuente
Tuve el mismo problema, así que lo hice:
root@skarabi:~# apt remove mongodb-org
Luego:
root@skarabi:~# sudo rm /etc/apt/sources.list.d/mongodb*.list
Después :
root@skarabi:~# apt update
fuente
apt remove
(desinstalar) Mongo de su máquina simplemente para obtener la clave más nueva. Destruirá toda su base de datos solo para intentar obtener una clave actualizada para las fuentes de apt.Usando la respuesta de dlopatin, se me ocurrió esto para Ubuntu 18.04 ya que ese código ya no funciona:
sudo apt-key list
grep -A 1 "\[expired:"
^\s\{1,10\}
, y seleccione los caracteres alfanuméricos\(\w*\)
, reemplace esas líneas con el grupo seleccionado que es la huella digital\1
, repita para todas las líneas devueltasg
y luego imprima la huella digitalp
. Eso da:sed -ne 's|^\s\{1,10\}\(\w*\)|\1|gp'
xargs -d '\n'
luego pase las huellas digitales como argumentos a apt-key para actualizarlas: losudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
que le da:xargs -d '\n' sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
Ojalá quede claro. Ignore la advertencia sobre el análisis de salida de apt-key :)
fuente
Experimenté un problema similar y obtuve el siguiente error al instalar MongoDB 4.2 en la instancia de Ubuntu 18.04 en Google Cloud.
La solución que funcionó para mí fue ejecutar el siguiente comando para obtener la clave. Encontré esto en las páginas de problemas oficiales de Jira de MongoDB.
Encontré esta solución en problemas oficiales de Jira de MongoDB. Aquí está el enlace al problema.
fuente