Ich installiere MongoDB auf einem Ubuntu 14.04-Computer unter Verwendung der Anweisungen unter: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
Also renne ich:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
Und dann:
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
Gefolgt von:
sudo apt-get update
Am Ende des Updates wird dann folgende Warnung angezeigt:
W: GPG-Fehler: http://repo.mongodb.org trusty / mongodb-org / 3.2 Release: Die folgenden Signaturen waren ungültig: BADSIG D68FA50FEA312927 MongoDB 3.2 Release Signing Key
Wenn ich die Warnung ignoriere und versuche auszuführen:
sudo apt-get install -y mongodb-org
Ich bekomme:
WARNUNG: Die folgenden Pakete können nicht authentifiziert werden!
mongodb-org-shell mongodb-org-server mongodb-org-mongos mongodb-org-tools mongodb-org E: Es gibt Probleme und -y wurde ohne --force-yes verwendet
Irgendwelche Ideen zur Lösung? Vielen Dank!
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
Antworten:
Aktualisieren Sie alle abgelaufenen Schlüssel vom Ubuntu-Schlüsselserver mit einem Befehl:
Befehlserklärung:
sudo apt-key list
- listet alle im System installierten Schlüssel auf;grep "expired: "
- nur Zeilen mit abgelaufenen Schlüsseln belassen;sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp'
- extrahiert Schlüssel;xargs -n1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
- Aktualisiert Schlüssel vom Ubuntu-Schlüsselserver durch gefundene abgelaufene.Quelle
quelle
--recv-key
ist der abgelaufene Schlüssel.apt-key list
nicht mehr mit den Befehlen in dieser Antwort kompatibel ist, die es verarbeiten. Führen Sie stattdessen aussudo apt-key list | grep -A 1 expired
. Kopieren Sie den 40-hexadezimalen Fingerabdruck. Führen Sie als Nächstes den Befehl aus,sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys $FINGERPRINT
bei dem$FINGERPRINT
es sich um den Wert handelt, den Sie kopiert haben (wenn er Leerzeichen enthält, setzen Sie Anführungszeichen darum).Klingt so, als müssten Sie die Installationsschritte für MongoDB wiederholen. Entfernen Sie zunächst alle vorhandenen Repository-Dateien für MongoDB. Gehen Sie wie folgt vor.
Fügen Sie als Nächstes den Schlüssel hinzu: (Ohne den Schlüssel wird das Repository nicht geladen).
Erstellen Sie jetzt eine neue MongoDB-Repository-Listendatei:
Nach dem Hinzufügen der Repository-Details müssen wir die Paketliste aktualisieren.
Installieren Sie nun MongoDB.
Hoffe das hilft !
quelle
Sie müssen die Mongo-Pakete nicht neu installieren, sondern ändern den Schlüssel wie folgt:
Listen Sie die Schlüssel auf, um zu bestätigen, dass sie abgelaufen sind:
Ersetzen Sie den Schlüssel:
Die Nummer 0xd68fa50fea312927 ist die aktuell gültige Schlüssel-ID (läuft am 09.10.2019 ab), wie Sie hier überprüfen können .
quelle
Es scheint, dass Version 3.2.1 am 11. Januar 2016 veröffentlicht wurde und die Signatur des Pakets seit diesem Moment schlecht ist. Die Unterschrift des Pakets war am Tag zuvor in Ordnung.
Refs: https://jira.mongodb.org/browse/SERVER/fixforversion/15908/?selectedTab=com.atlassian.jira.jira-projects-plugin:version-summary-panel
Sie können entweder die Option --force-yes hinzufügen oder einige Stunden warten, bis das Mongodb-Team das Problem sieht und behebt.
Dort gibt es bereits ein Ticket: https://jira.mongodb.org/browse/SERVER-22144
quelle
Dieses Problem trat auch bei der Installation von MongoDB 4.0 unter Ubuntu 16.04 auf. So tat ich.
sudo rm /etc/apt/sources.list.d/mongodb*.list
- Entfernen Sie alle vorhandenen Dateien für MongoDBsudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E52529D4
- Schlüssel hinzufügensudo 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'
- Erstellen Sie eine neue MongoDB-Repository-ListendateiSchließen Sie nun die Installation mit einem Update der Repositorys ab, installieren Sie MongoDB, aktivieren Sie den
mongod
Dienst und starten Sie ihn. Überprüfen Sie zuletzt Ihre MongoDB-Version:quelle
Dieses Problem trat auch bei der Installation von MongoDB 3.2 auf meinem Ubuntu 16.04 mit den folgenden Befehlen auf. Die folgende Lösung wird als Frage zur Installation von MongoDB in Version 3.2 bereitgestellt
Nachdem ich den obigen Update-Befehl ausgeführt hatte, fand ich die folgenden Warnungen
Weitere Untersuchungen mit dem folgenden Befehl, um alle Schlüssel aufzulisten
Es zeigt, dass der aktuelle Schlüssel am 08.10.2017 abgelaufen ist
Dies machte auch Sinn, da die aktuelle stabile Version von MongoDB jetzt (3.4.9) ist.
Um das Problem zuerst zu beheben, führen wir eine kleine Bereinigung durch (optional).
Wir entfernen den alten hinzugefügten Schlüssel
sudo apt-key list // Alle Schlüssel auflisten
sudo apt-key del EA312927 // Finde die UID des zu löschenden Schlüssels
Apt-Key-Liste | grep Mongodb // Überprüfen Sie, ob es gelöscht wurde
Jetzt entfernen wir das MongoDB-Repo, das in /etc/apt/sources.list.d hinzugefügt wurde
sudo rm /etc/apt/sources.list.d/mongodb*.list
Jetzt installieren wir die neueste stabile Version von MongoDB (3.4.9) mit den folgenden Befehlen
Importieren Sie den vom Ubuntu Package Manager verwendeten öffentlichen Schlüssel
Erstellen Sie eine Dateiliste für mongoDB, um das aktuelle Repository abzurufen
Installieren Sie MongoDB
quelle
Ich hatte das gleiche Problem und löste es durch die Installation von Mongodb mit der Tarball-Methode. Weitere Informationen finden Sie unter dem folgenden Link.
https://docs.mongodb.org/manual/tutorial/install-mongodb-on-linux/
Details unten hinzufügen
export PATH = / bin: $ PATH
Führen Sie dann mongod aus (möglicherweise muss der Datenbankpfad festgelegt werden).
quelle
Tatsächlich ist das Folgende sehr wichtig, um das Problem zu lösen
quelle
Ich hatte das gleiche Problem, also tat ich:
root@skarabi:~# apt remove mongodb-org
Dann:
root@skarabi:~# sudo rm /etc/apt/sources.list.d/mongodb*.list
Nach dem :
root@skarabi:~# apt update
quelle
apt remove
Mongo von Ihrem Computer zu (deinstallieren), nur um den neuesten Schlüssel zu erhalten. Sie zerstören Ihre gesamte Datenbank, nur um zu versuchen, einen aktualisierten Schlüssel für die passenden Quellen abzurufen.Mit der Antwort von dlopatin habe ich mir das für Ubuntu 18.04 ausgedacht, da dieser Code nicht mehr funktioniert:
sudo apt-key list
grep -A 1 "\[expired:"
^\s\{1,10\}
, und wählen Sie die alphanumerischen Zeichen aus\(\w*\)
. Ersetzen Sie diese Zeilen durch die ausgewählte Gruppe, bei der es sich um den Fingerabdruck\1
handelt. Wiederholen Sie diesen Vorgang für alle zurückgegebenen Zeileng
und drucken Sie dann den Fingerabdruckp
. Das gibt:sed -ne 's|^\s\{1,10\}\(\w*\)|\1|gp'
xargs -d '\n'
, passieren dann die Fingerabdrücke als Argumente an apt-Schlüssel , um sie zu aktualisieren:sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
welche Sie gibt:xargs -d '\n' sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
Hoffentlich ist das klar. Ignorieren Sie die Warnung zum Parsen der Apt-Key-Ausgabe :)
quelle
Ich habe das ähnliche Problem festgestellt und beim Installieren von MongoDB 4.2 unter der Ubuntu 18.04-Instanz in Google Cloud den folgenden Fehler erhalten.
Die Lösung, die von mir aus funktioniert hat, war das Ausführen des folgenden Befehls, um den Schlüssel zu erhalten. Ich habe dies auf den offiziellen Jira Issue Pages von MongoDB gefunden.
Ich habe diese Lösung in offiziellen Jira-Problemen von MongoDB gefunden. Hier ist der Link zum Problem.
quelle