Erros de recuperação de chave pública
Ocorre durante a etapa Import the public key used by the package management system da instalação do MongoDB Community Edition.
gpg: no valid OpenPGP data found.
várias plataformas
Copie o comando exatamente conforme documentado. A operação deve responder com OK.
Verifique se a chave GPG pública MongoDB existe em seu sistema:
sudo apt-key list
O resultado esperado se assemelha ao seguinte:
/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 9 Release Signing Key <packaging@mongodb.com>
sudo apt update Errors
Ocorre após executar o sudo apt update como parte do procedimento Instalar MongoDB Community Edition. Muitas vezes causado por uma chave de GPG pública MongoDB ausente.
W: GPG error: https://repo.mongodb.org/apt/ubuntu <release>/mongodb-org/9.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/9.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.
várias plataformas
Repita a etapa Import the public key used by the package management system em Instalar MongoDB Community Edition. Copie o comando e a chave exatamente conforme documentado.
Verifique a chave:
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 9 Release Signing Key <packaging@mongodb.com>
sudo apt install -y mongodb-org Errors
Ocorre após executar sudo apt install -y mongodb-org na etapa Create a list file for MongoDB do procedimento Instalar MongoDB Community Edition. Muitas vezes causado por um arquivo /etc/apt/sources.list.d/mongodb-org-9.0.list ausente ou mal configurado.
Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package mongodb-org
várias plataformas
Verifique o conteúdo do arquivo:
cat /etc/apt/sources.list.d/mongodb-org-9.0.list Se o conteúdo não corresponder à documentação da sua versão do Ubuntu, remova o arquivo e repita a etapa Create a list file for MongoDB.
Se o arquivo não existir, crie-o durante essa etapa.
Atualize repositórios e tente instalar novamente:
sudo apt update sudo apt install -y mongodb-org
dpkg-deb: error Conflitos de pacotes
Ocorre durante a etapa sudo apt install -y mongodb-org do procedimento Instalar MongoDB Community Edition. Muitas vezes causado por um pacote Ubuntu mongodb conflitante já instalado.
dpkg: error processing archive /var/cache/apt/archives/mongodb-org-server_9.0.0_amd64.deb (--unpack): trying to overwrite '/usr/bin/mongod', which is also in package mongodb-server-core 1:3.6.3-0ubuntu1
várias plataformas
Verifique se há conflito:
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]
Se a saída mostrar pacotes Ubuntu como este, remova-os:
sudo apt remove mongodb sudo apt purge mongodb sudo apt autoremove
Observação
sudo apt purge mongodb remove os arquivos de configuração padrão. Para preservar arquivos de configuração modificados, copie-os para outro diretório (por exemplo, /home/your-user-name) antes de limpar.
Para pacotes mistos:
Se a saída mostrar os pacotes mongodb-org e mongodb, remova primeiro os pacotes mongodb-org e, em seguida, remova os pacotes mongodb. Após limpar todos os pacotes relacionados ao MongoDB, tente instalar novamente o MongoDB Community Edition.
mongod Erros de soquete
Ocorre ao iniciar um mongod. Muitas vezes, causado por outro processo (normalmente outro mongod) usando a porta configurada.
Socket is already in use
Failed to unlink socket file
várias plataformas
Identifique o processo:
O exemplo a seguir usa ss para listar todos os soquetes TCP (-t) e UDP (-u) no estado LISTEN (-l) e o processo usando cada soquete (-p) sem resolver nenhum nomes de serviço ou nomes de host (-n):
sudo ss -tulpn
Exemplo de saída mostrando mongod na porta 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))
Você também pode:
Encerrar o processo existente
- Selecione uma nova porta para o processo
mongodconflitante: Modifique
net.portno arquivo de configuraçãoUse
--portna linha de comando
- Selecione uma nova porta para o processo
Erros do Diretório de dados
Ocorre no registro de processo mongod. Muitas vezes causado por um diretório de dados que não existe ou não é legível pelo mongod.
Data directory ... not found Attempted to create lock file on a read-only directory: ...
Ao iniciar como um serviço (sudo systemctl start mongod ou sudo service mongod start), isso pode média:
dbPathem/etc/mongod.confaponta para um diretório semrwxpermissões paramongodbusuário ou grupodbPathaponta para um diretório inexistente
Ao iniciar do terminal, isso pode média:
O diretório não existe
várias plataformas
Dependendo da causa, crie o diretório de dados ou defina permissões e propriedade apropriadas.
Crie o diretório:
Especifique o diretório de dados com
storage.dbPathno arquivo de configuração ou--dbpathna linha de comando.Definir caminhos padrão:
aptinstalação do gerenciador de pacote : O arquivo de configuração padrão/etc/mongod.confdefinestorage.dbPathcomo/var/lib/mongodb
Certifique-se de que o diretório de dados exista ou crie o diretório usando
mkdirantes de iniciarmongod.