Docs Menu
Docs Home
/ /
Instale en Ubuntu
/ / / / / /

Solución de problemas

Durante Import the public key used by the package management system paso de la Procedimiento de instalación de MongoDB Community Edition: es posible que se encuentre con un "gpg: no valid OpenPGP data found." error.

Asegúrese de copiar el comando exactamente como se documenta. La operación debería responder con OK.

Para comprobar que la clave GPG pública de MongoDB existe en su sistema, ejecute el siguiente comando en la terminal:

sudo apt-key list

La salida debe incluir una entrada similar 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 6.0 Release Signing Key <packaging@mongodb.com>

Es posible que encuentre uno o más errores similares a los siguientes al ejecutar sudo apt-get update como parte del procedimiento de instalación de MongoDB Community Edition:

W: GPG error: https://repo.mongodb.org/apt/ubuntu <release>/mongodb-org/6.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/6.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.

Estos errores indican que la clave GPG pública de MongoDB no se agregó en Import the public key used by the package management system el paso del procedimiento de instalación de MongoDB Community Edition.

Repetir el paso Import the public key used by the package management system del procedimiento Instalar MongoDB Community Edition normalmente resuelve este problema. Asegúrate de copiar el comando y la clave exactamente como está documentado.

Puede validar que la clave GPG pública de MongoDB exista en su sistema ejecutando el siguiente comando en la terminal:

sudo apt-key list

La salida debe incluir una entrada similar a la siguiente:

--------------------
pub rsa4096 2018-04-18 [SC] [expires: 2023-04-17]
E162 F504 A20C DF15 827F 718D 4B7C 549A 058F 8B6B
uid [ unknown] MongoDB 6.0 Release Signing Key <packaging@mongodb.com>

Es posible que encuentre un error similar al siguiente al ejecutar sudo apt install -y mongodb-org en Create a list file for MongoDB el paso del procedimiento Instalar MongoDB Community Edition:

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package mongodb-org

Este error indica que es posible que el /etc/apt/sources.list.d/mongodb-org-6.0.list esté configurado incorrectamente o que falte.

Para revisar el contenido del archivo mongodb-org-6.0.list, ejecute el siguiente comando en la terminal o shell:

cat /etc/apt/sources.list.d/mongodb-org-6.0.list

Si el contenido del archivo no coincide exactamente con la documentación de su versión de Ubuntu en el paso enlazado anteriormente, elimine el archivo y repita el paso Create a list file for MongoDB. Si el archivo no existe, créelo como parte de ese paso.

Una vez que haya validado que el archivo mongodb-org-6.0.list existe y tiene el contenido correcto, ejecute sudo apt update para actualizar los repositorios apt y vuelva a intentar sudo apt install -y mongodb-org.

Es posible que encuentre un error similar al siguiente al instalar el paquete mongodb-org:

dpkg: error processing archive /var/cache/apt/archives/mongodb-org-server_6.0.0_amd64.deb (--unpack):
trying to overwrite '/usr/bin/mongod', which is also in package mongodb-server-core 1:3.6.3-0ubuntu1

Este error indica que el sistema ya tenía instalado el paquete Ubuntu mongodb antes de instalar los paquetes oficiales de MongoDB Inc. mongodb-org. Para confirmar si el host tiene instalado el paquete Ubuntu mongodb, ejecute el siguiente comando en una terminal o shell:

sudo apt list --installed | grep mongo

Si tu salida es similar a la siguiente, debes desinstalar el paquete Ubuntu mongodb antes de volver a intentar el procedimiento de Instalar MongoDB Community Edition:

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]

Ejecute los siguientes comandos en una terminal o shell para eliminar por completo el paquete Ubuntu mongodb antes de volver a intentar el procedimiento de instalación:

sudo apt remove mongodb
sudo apt purge mongodb
sudo apt autoremove

Nota

sudo apt purge mongodb Elimina los archivos de configuración predeterminados instalados por el mongodb paquete Ubuntu. Si ha modificado estos archivos de configuración y desea conservarlos, cópielos a otro directorio,/home/your-user-name como.

Si su salida incluye una combinación de binarios mongodb-org y mongodb, es posible que deba primero apt remove, apt purge y apt autoremove del paquete mongodb-org antes de intentar eliminar y purgar el paquete mongodb de Ubuntu. Después de borrar todos los paquetes relacionados con MongoDB, vuelva a intentar la instalación.

Es posible que se produzcan los Socket is already in use Failed to unlink socket file errores o al iniciar un. Estos errores suelen indicar que mongodotro proceso utiliza el puerto configurado para el proceso, mongod mongod normalmente otro ejecutándose en el sistema.

El siguiente ejemplo utiliza la utilidad ss para enumerar todos los sockets TCP (-t) o 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

La siguiente salida parcial muestra un proceso mongod escuchando en el puerto 27017. Intentar ejecutar otro proceso mongod en ese mismo puerto generará errores de socket.

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))

Si el sistema tiene un procesomongodu otro proceso ejecutándose en el puerto deseado, debe cerrar el proceso existente o seleccionar un nuevo puerto para el nuevo procesomongod. Puede especificar la opciónnet.portdel archivo de configuración para cambiar el puerto en el que escucha el procesomongod.

Los usuarios pueden encontrar errores similares al siguiente en el mongod registro del proceso:

Data directory ... not found
Attempted to create lock file on a read-only directory: ...

Generalmente, estos errores indican que el directorio de datos de MongoDB no existe o no es accesible mongod para.

El directorio de datos se especifica con la storage.dbPath configuración en el archivo de configuración, o con la --dbpath opción a en mongod la línea de comando.

  • Si instaló MongoDB a través del apt administrador de paquetes, el archivo de /etc/mongod.conf configuración predeterminado storage.dbPath establece /var/lib/mongodb en.

  • Si ejecutas mongod en la línea de comandos y omites completamente la opción --dbpath, MongoDB utiliza un --dbpath por defecto de /data/db.

Tanto si utiliza una de las rutas de directorio de datos mencionadas anteriormente como si proporciona su propia ruta en el archivo de configuración o en la línea de comandos, asegúrese de que el directorio de datos exista en su sistema de archivos antes de iniciar. Puede crear directorios en Ubuntu con mongod el mkdir comando.

El directorio de datos debe configurarse con los permisos y la configuración de propiedad adecuados para permitir que lea, escriba y navegue por el contenido del directorio (permisos mongod derwx usuario o grupo).

Utilice chown y chmod para modificar los permisos y establecer user:group la propiedad de según corresponda antes de mongod iniciar.

Los usuarios que inician como mongod servicio (por ejemplo, usando sudo systemctl start mongod sudo service mongod starto) generalmente solo ven estos errores si modificaron el valor predeterminado dbPath en /etc/mongod.conf a:

  • Un directorio que no permite que el mongodb usuario o el mongodb grupo lean, escriban o ejecutenrwx () el directorio y su contenido, o

  • Un directorio que no existe.

Los usuarios que inician sin usar la definición del servicio (por ejemplo, usando la terminal mongod para mongod iniciar) normalmente ven estos errores si:

  • El directorio especificado en dbPath o no permite que el usuario o un grupo al que pertenece el usuario lea, escriba y --dbpath ejecuterwx () el directorio o su contenido, o

  • El directorio de datos especificado no existe.

Volver

Instala usando .tgz Tarball

En esta página