Errores de recuperación de clave pública
Ocurre durante el paso Import the public key used by the package management system de Instalación de MongoDB Community Edition.
gpg: no valid OpenPGP data found.Solución
Copiar el comando exactamente como está documentado. La operación debe responder con OK.
Verifica que la clave pública GPG de MongoDB exista en tu sistema:
sudo apt-key listLa salida esperada se asemeja a la siguiente:
/etc/apt/trusted.gpg--------------------pub rsa4096 2018-04-18 [SC] [expires: 2023-04-17] E162 F504 A20C DF15 827F 718D 4B7C 549A 058F 8B6Buid [ unknown] MongoDB 8.0 Release Signing Key <packaging@mongodb.com>sudo apt update Errors
Esto ocurre después de ejecutar sudo apt update como parte del procedimiento Instalar MongoDB Community Edition. A menudo es causado por la falta de una clave GPG pública de MongoDB.
W: GPG error: https://repo.mongodb.org/apt/ubuntu <release>/mongodb-org/8.0 Release: \ The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4B7C549A058F8B6BE: The repository 'https://repo.mongodb.org/apt/ubuntu <release>/mongodb-org/8.0 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.Solución
Repetí el paso Import the public key used by the package management system en Instalar MongoDB Community Edition. Copia el comando y la clave exactamente como se documenta.
Verificar la clave:
sudo apt-key listSalida esperada:
--------------------pub rsa4096 2018-04-18 [SC] [expires: 2023-04-17] E162 F504 A20C DF15 827F 718D 4B7C 549A 058F 8B6Buid [ unknown] MongoDB 8.0 Release Signing Key <packaging@mongodb.com>sudo apt install -y mongodb-org Errors
Ocurre después de ejecutar sudo apt install -y mongodb-org en el paso Create a list file for MongoDB del procedimiento Instalar MongoDB Community Edition. A menudo causado por un archivo /etc/apt/sources.list.d/mongodb-org-8.0.list que falta o está mal configurado.
Reading package lists... DoneBuilding dependency treeReading state information... DoneE: Unable to locate package mongodb-orgSolución
Revisa el contenido del archivo:
cat /etc/apt/sources.list.d/mongodb-org-8.0.listSi el contenido no coincide con la documentación de la versión de Ubuntu, remueve el archivo y repite el paso Create a list file for MongoDB.
Si el archivo no existe, créalo durante ese paso.
Actualiza los repositorios y vuelve a intentar la instalación:
sudo apt updatesudo apt install -y mongodb-org
dpkg-deb: error Conflictos de paquetes
Ocurre durante el paso sudo apt install -y mongodb-org del procedimiento Instalar MongoDB Community Edition. A menudo es causado por un paquete conflictivo de Ubuntu mongodb ya instalado.
dpkg: error processing archive /var/cache/apt/archives/mongodb-org-server_8.0.0_amd64.deb (--unpack):trying to overwrite '/usr/bin/mongod', which is also in package mongodb-server-core 1:3.6.3-0ubuntu1Solución
Verifica si existe conflicto:
sudo apt list --installed | grep mongomongodb/bionic,now 1:3.6.3-0ubuntu1 amd64 [installed]mongodb-clients/bionic,now 1:3.6.3-0ubuntu1 amd64 [installed,automatic]mongodb-server/bionic,bionic,now 1:3.6.3-0ubuntu1 all [installed,automatic]mongodb-server-core/bionic,now 1:3.6.3-0ubuntu1 amd64 [installed,automatic]Si la salida muestra paquetes de Ubuntu como este, remuévelos:
sudo apt remove mongodbsudo apt purge mongodbsudo apt autoremoveNota
sudo apt purge mongodb remueve los archivos de configuración por defecto. Para conservar los archivos de configuración modificados, se deben copiar a otro directorio (por ejemplo, /home/your-user-name) antes de eliminarlos.
Para paquetes mixtos:
Si la salida muestra tanto los paquetes mongodb-org como mongodb, remueve primero mongodb-org y luego remueve los paquetes mongodb. Después de eliminar todos los paquetes relacionados con MongoDB, vuelve a intentar instalar MongoDB Community Edition.
mongod Errores de socket
Ocurre al iniciar un mongod. A menudo, se debe a que otro proceso (generalmente otro mongod) está utilizando el puerto configurado.
Socket is already in useFailed to unlink socket fileSolución
Identifica el proceso:
En el siguiente ejemplo se utiliza ss para enumerar todos los sockets TCP (-t) y UDP (-u) abiertos en el estado LISTEN (-l) y el proceso que utiliza cada socket (-p) sin resolver ningún nombre de servicio o nombre de host (-n):
sudo ss -tulpnSalida de ejemplo que muestra mongod en el puerto 27017:
Netid State Local Address:Portudp UNCONN 127.0.0.53%lo:53 users:(("systemd-resolve",pid=663,fd=12))udp UNCONN 10.1.16.87%enp0s3:68 users:(("systemd-network",pid=652,fd=15))tcp LISTEN 127.0.0.53%lo:53 users:(("systemd-resolve",pid=663,fd=13))tcp LISTEN 0.0.0.0:22 users:(("sshd",pid=819,fd=3))tcp LISTEN 192.168.1.15:27017 users:(("mongod",pid=10027,fd=12))tcp LISTEN 127.0.0.1:27017 users:(("mongod",pid=10027,fd=11))tcp LISTEN ::]:22 users:(("sshd",pid=819,fd=4))Puedes:
Apaga el proceso existente
- Seleccione un puerto nuevo para el proceso conflictivo
mongod: Modifique
net.porten el archivo de configuración.Utilice
--porten la línea de comandos
- Seleccione un puerto nuevo para el proceso conflictivo
Errores del directorio de datos
Ocurre en el mongod registro de proceso. A menudo provocado por un directorio de datos que no existe o no es accesible para el mongod.
Data directory ... not found
Attempted to create lock file on a read-only directory: ...Al iniciar como servicio (sudo systemctl start mongod o sudo service mongod start), esto puede significar:
dbPathen/etc/mongod.confse refiere a un directorio sin permisosrwxpara el usuario o grupomongodbdbPathapunta a un directorio inexistente
Al iniciar desde el terminal, esto puede significar:
El directorio no existe
Solución
Dependiendo de la causa, cree el directorio de datos o establezca los permisos y la propiedad adecuados.
Crea el directorio:
Especifique el directorio de datos con
storage.dbPathen el archivo de configuración o--dbpathen la línea de comandos.Establece rutas por defecto:
aptinstalación del gestor de paquetes: El archivo de configuración/etc/mongod.confpor defecto establecestorage.dbPathen/var/lib/mongodb
Asegúrese de que el directorio de datos exista o cree el directorio utilizando
mkdirantes de iniciarmongod.