Errores de recuperación de clave pública
Ocurre durante el Import the public key used by the package management system paso de Instalar MongoDB Community Edition.
gpg: no valid OpenPGP data found.
Solución
Copie el comando exactamente como se documenta. La operación debería responder con OK.
Verifique que la clave GPG pública de MongoDB exista en su sistema:
sudo apt-key list
El resultado esperado se parece al siguiente:
/etc/apt/trusted.gpg -------------------- pub rsa4096 2018-04-18 [SC] [expires: 2023-04-17] E162 F504 A20C DF15 827F 718D 4B7C 549A 058F 8B6B uid [ unknown] MongoDB 7.0 Release Signing Key <packaging@mongodb.com>
sudo apt update Errors
Se produce después sudo apt update de ejecutar durante la instalación de MongoDB Community Edition. Suele deberse a la falta de una clave GPG pública de MongoDB.
W: GPG error: https://repo.mongodb.org/apt/ubuntu <release>/mongodb-org/7.0 Release: \ The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4B7C549A058F8B6B E: The repository 'https://repo.mongodb.org/apt/ubuntu <release>/mongodb-org/7.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
Repita el Import the public key used by the package management system paso de la sección "Instalar MongoDB Community Edition". Copie el comando y la clave exactamente como se indica.
Verificar la clave:
sudo apt-key list
Resultado esperado:
-------------------- pub rsa4096 2018-04-18 [SC] [expires: 2023-04-17] E162 F504 A20C DF15 827F 718D 4B7C 549A 058F 8B6B uid [ unknown] MongoDB 7.0 Release Signing Key <packaging@mongodb.com>
sudo apt install -y mongodb-org Errors
Se produce después sudo apt install -y mongodb-org Create a list file for MongoDB de ejecutar en el paso del procedimiento de instalación de MongoDB Community Edition. Suele deberse a un /etc/apt/sources.list.d/mongodb-org-7.0.list archivo faltante o mal configurado.
Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package mongodb-org
Solución
Compruebe el contenido del archivo:
cat /etc/apt/sources.list.d/mongodb-org-7.0.list Si el contenido no coincide con la documentación de su versión de Ubuntu, elimine el archivo y repita el paso Create a list file for MongoDB.
Si el archivo no existe, créelo durante ese paso.
Actualizar los repositorios y volver a intentar la instalación:
sudo apt update sudo apt install -y mongodb-org
dpkg-deb: error Conflictos de paquetes
Ocurre durante sudo apt install -y mongodb-org el paso del procedimiento de instalación de MongoDB Community Edition. Suele deberse a un mongodb paquete de Ubuntu conflictivo ya instalado.
dpkg: error processing archive /var/cache/apt/archives/mongodb-org-server_7.0.0_amd64.deb (--unpack): trying to overwrite '/usr/bin/mongod', which is also in package mongodb-server-core 1:3.6.3-0ubuntu1
Solución
Comprobar si hay conflicto:
sudo apt list --installed | grep mongo
mongodb/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 el resultado muestra paquetes de Ubuntu como éste, elimínelos:
sudo apt remove mongodb sudo apt purge mongodb sudo apt autoremove
Nota
sudo apt purge mongodb Elimina los archivos de configuración predeterminados. Para conservar los archivos de configuración modificados, cópielos a otro directorio (p. ej., /home/your-user-name) antes de purgarlos.
Para paquetes mixtos:
Si la salida muestra mongodb-org mongodb los paquetes y, elimine mongodb-org primero y mongodb luego. Después de borrar todos los paquetes relacionados con MongoDB, vuelva a intentar instalar MongoDB Community Edition.
mongod Errores de socket
Ocurre al iniciar un. Suele deberse mongod mongod a otro proceso (normalmente otro) que utiliza el puerto configurado.
Socket is already in use
Failed to unlink socket file
Solución
Identificar el proceso:
El siguiente ejemplo 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 -tulpn
Ejemplo de salida que muestra mongod en el puerto 27017:
Netid State Local Address:Port udp 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:
Cerrar el proceso existente
- Seleccione un nuevo puerto para el
mongodproceso en conflicto: Modificar en
net.portel archivo de configuraciónUtilice en la línea de
--portcomandos
- Seleccione un nuevo puerto para el
Errores del directorio de datos
Ocurre en el mongod registro del proceso. Suele deberse a que un directorio de datos no existe o no es accesible mongod para.
Data directory ... not found Attempted to create lock file on a read-only directory: ...
Al iniciarse como servicio (sudo systemctl start mongod o sudo
service mongod start), esto puede significar:
dbPathen/etc/mongod.confapunta a un directorio sinrwxpermisos para elmongodbusuario o grupodbPathapunta a un directorio inexistente
Al iniciar desde la terminal, esto puede significar:
dbPatho apunta a un directorio--dbpathsinrwxpermisos para el usuario o su grupoEl directorio no existe
Solución
Dependiendo de la causa, cree el directorio de datos o establezca los permisos y la propiedad adecuados.
Crear el directorio:
Especifique el directorio de datos con
storage.dbPathen el archivo de configuración o--dbpathen la línea de comando.Establecer rutas predeterminadas:
aptInstalación del administrador de paquetes: El archivo de configuración predeterminado/etc/mongod.confestablecestorage.dbPathen/var/lib/mongodb
Asegúrese de que el directorio de datos exista o cree el directorio utilizando
mkdirantes demongodiniciar.Establecer permisos de directorio:
Establecer permisos y propiedad apropiados: