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.
Verifica que la clave pública GPG de MongoDB exista en tu sistema:
sudo apt-key list
La 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 8B6B uid [ unknown] MongoDB 7.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/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
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 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
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-7.0.list que falta o está mal configurado.
Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package mongodb-org
Solución
Revisa 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éalo 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
Verifica si existe 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 la salida muestra paquetes de Ubuntu como este, remuévelos:
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 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 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
Salida de ejemplo 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:
Apaga el proceso existente
- Seleccione un puerto nuevo para el proceso conflictivo
mongod: Modificar en
net.portel archivo de configuraciónUtilice
--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:
dbPatho--dbpathapunta a un directorio sin permisosrwxpara 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.
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.Establecer permisos de directorio:
Establece los permisos y la propiedad adecuados: