Importante
MongoDB 8.2 es la última versión menor. A partir de MongoDB 8.2, las versiones menores están disponibles para implementaciones on-premises (MongoDB Community y Enterprise) para casos de uso específicos. Para obtener más información, consulta Versionado de MongoDB.
Para instalar la última versión de MongoDB compatible para uso on-premises, consulta las instrucciones de instalación.
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 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.2 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/8.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.
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 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.2.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-8.2.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_8.2.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: