Estou instalando o MongoDB em uma máquina Ubuntu 14.04, usando as instruções em: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
Então eu corro:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
E depois:
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Seguido por:
sudo apt-get update
Eu recebo o seguinte aviso no final da atualização:
W: Erro GPG: http://repo.mongodb.org trusty / mongodb-org / 3.2 Versão: As seguintes assinaturas eram inválidas: BADSIG D68FA50FEA312927 Chave de assinatura da versão MongoDB 3.2
Se eu ignorar o aviso e tentar executar:
sudo apt-get install -y mongodb-org
Eu recebo:
AVISO: Os seguintes pacotes não podem ser autenticados!
mongodb-org-shell mongodb-org-server mongodb-org-mongos mongodb-org-tools mongodb-org E: Há problemas e -y foi usado sem --force-yes
Alguma ideia de como resolver? Obrigado!
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
Respostas:
Atualize todas as chaves expiradas do servidor de chaves do Ubuntu em um comando:
Explicação do comando:
sudo apt-key list
- lista todas as chaves instaladas no sistema;grep "expired: "
- deixe apenas linhas com chaves expiradas;sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp'
- extrai chaves;xargs -n1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
- atualiza as chaves do servidor de chaves do Ubuntu por chaves expiradas encontradas.Fonte
fonte
--recv-key
é a chave expirada.apt-key list
não é mais compatível com os comandos que o processam nesta resposta. Em vez disso, corrasudo apt-key list | grep -A 1 expired
. Copie a impressão digital de 40 dígitos hexadecimais. Em seguida, execute o comandosudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys $FINGERPRINT
onde$FINGERPRINT
é o valor que você copiou (se contiver espaços, coloque aspas).Parece que você precisa refazer as etapas de instalação do MongoDB. Primeiro, remova qualquer arquivo de repositório existente para MongoDB. Faça como abaixo.
Em seguida, adicione a chave: (sem a chave, o repositório não carrega).
Agora, crie um novo arquivo de lista de repositórios MongoDB:
Depois de adicionar os detalhes do repositório, precisamos atualizar a lista de pacotes.
Agora instale o MongoDB.
Espero que isto ajude !
fonte
Você não precisa reinstalar os pacotes mongo, apenas altere a chave da seguinte forma:
Liste as chaves para confirmar que expirou:
Substitua a chave:
O número 0xd68fa50fea312927 é a ID da chave válida atual (expira em 09/10/2019), como você pode verificar aqui .
fonte
Parece que a versão 3.2.1 foi lançada em 11/01/2016, e a assinatura dos pacotes está ruim desde esse momento. A assinatura dos pacotes estava bem no dia anterior.
refs: https://jira.mongodb.org/browse/SERVER/fixforversion/15908/?selectedTab=com.atlassian.jira.jira-projects-plugin:version-summary-panel
Você pode adicionar a opção --force-yes ou esperar algumas horas para que a equipe mongodb veja e corrija o problema.
Já existe um tíquete lá: https://jira.mongodb.org/browse/SERVER-22144
fonte
Eu também enfrentei esse problema ao instalar o MongoDB 4.0 no Ubuntu 16.04. Então eu fiz.
sudo rm /etc/apt/sources.list.d/mongodb*.list
- remove qualquer arquivo existente para MongoDBsudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E52529D4
- adicione a chavesudo bash -c 'echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" > /etc/apt/sources.list.d/mongodb-org-4.0.list'
- criar um novo arquivo de lista de repositórios MongoDBAgora, conclua a instalação com uma atualização de repositórios, instale o MongoDB, habilite o
mongod
serviço e inicialize-o e, por último, verifique sua versão do MongoDB:fonte
Eu também enfrentei esse problema ao instalar o MongoDB 3.2 em meu ubuntu 16.04 usando os comandos abaixo. A solução abaixo é fornecida como a questão relacionada à instalação v3.2 do MongoDB
Depois de executar o comando de atualização acima, encontrei os seguintes avisos
Em uma investigação mais aprofundada usando o comando abaixo para listar todas as chaves
Isso mostra que a chave atual expirou em 08/10/2017
Isso também fazia sentido, já que a versão estável atual do MongoDB é agora (3.4.9).
Para corrigir o problema, primeiro fazemos uma pequena limpeza (opcional)
removemos a chave antiga adicionada
sudo apt-key list // Lista todas as chaves
sudo apt-key del EA312927 // Encontre o uid da chave a ser excluída
lista apt-key | grep Mongodb // Verifique se foi excluído
Agora removemos o repositório MongoDB adicionado em /etc/apt/sources.list.d
sudo rm /etc/apt/sources.list.d/mongodb*.list
Agora instalamos a versão estável mais recente do MongoDB (3.4.9) usando os comandos abaixo
Importe a chave pública usada pelo Ubuntu Package Manager
Crie uma lista de arquivos para mongoDB para buscar o repositório atual
Instale o MongoDB
fonte
Eu tive o mesmo problema e resolvi instalando o mongodb com o método tarball. Consulte o link abaixo para obter detalhes.
https://docs.mongodb.org/manual/tutorial/install-mongodb-on-linux/
Adicionando detalhes abaixo
exportar PATH = / bin: $ PATH
em seguida, execute mongod (pode ser necessário definir o caminho do banco de dados)
fonte
Na verdade, o seguinte é muito importante para resolver o problema
fonte
Eu tive o mesmo problema, então eu fiz:
root@skarabi:~# apt remove mongodb-org
Então:
root@skarabi:~# sudo rm /etc/apt/sources.list.d/mongodb*.list
Depois de :
root@skarabi:~# apt update
fonte
apt remove
(desinstalar) o Mongo de sua máquina simplesmente para obter a chave mais recente. Você estará destruindo todo o seu banco de dados apenas para tentar obter uma chave atualizada para as fontes do apt.Usando a resposta da dlopatin eu vim com isso para o Ubuntu 18.04, uma vez que o código não funciona mais:
sudo apt-key list
grep -A 1 "\[expired:"
^\s\{1,10\}
e selecione os caracteres alfanuméricos\(\w*\)
, substitua essas linhas pelo grupo selecionado que é a impressão digital\1
, repita para todas as linhas retornadas eg
, em seguida, imprima a impressão digitalp
. Isso dá:sed -ne 's|^\s\{1,10\}\(\w*\)|\1|gp'
xargs -d '\n'
seguida, passe as impressões digitais como argumentos para apt-key para atualizá-los: osudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
que lhe dá:xargs -d '\n' sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
Esperançosamente, isso está claro. Ignore o aviso sobre a análise de saída apt-key :)
fonte
Eu experimentei o problema semelhante e recebi o seguinte erro ao instalar o MongoDB 4.2 na instância do Ubuntu 18.04 no Google Cloud.
A solução que funcionou comigo foi executar o seguinte comando para obter a chave. Eu encontrei isso nas páginas oficiais do Jira Issue do MongoDB.
Eu encontrei essa solução nos problemas oficiais do Jira do MongoDB. Aqui está o link para o problema.
fonte