Instaluję MongoDB na komputerze z systemem Ubuntu 14.04, korzystając z instrukcji pod adresem : https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
Więc biegnę:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
I wtedy:
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
Śledzony przez:
sudo apt-get update
Pod koniec aktualizacji otrzymuję następujące ostrzeżenie:
W: Błąd GPG: http://repo.mongodb.org trusty / mongodb-org / 3.2 Wydanie: Następujące podpisy były nieprawidłowe: BADSIG D68FA50FEA312927 MongoDB 3.2 Klucz do podpisywania wydania
Jeśli zignoruję ostrzeżenie i spróbuję uruchomić:
sudo apt-get install -y mongodb-org
Dostaję:
OSTRZEŻENIE: Poniższe pakiety nie mogą zostać uwierzytelnione!
mongodb-org-shell mongodb-org-server mongodb-org-mongos mongodb-org-tools mongodb-org E: Wystąpiły problemy i -y zostało użyte bez --force-yes
Jakieś pomysły, jak rozwiązać? Dzięki!
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
Odpowiedzi:
Zaktualizuj wszystkie wygasłe klucze z serwera kluczy Ubuntu jednym poleceniem:
Objaśnienie polecenia:
sudo apt-key list
- wyświetla listę wszystkich kluczy zainstalowanych w systemie;grep "expired: "
- zostaw tylko linie z wygasłymi kluczami;sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp'
- wyciąga klucze;xargs -n1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
- aktualizuje klucze z serwera kluczy Ubuntu według znalezionych wygasłych.Źródło
źródło
--recv-key
jest wygasły klucz.apt-key list
nie jest już zgodny z poleceniami w tej odpowiedzi, które ją przetwarzają. Zamiast tego biegnijsudo apt-key list | grep -A 1 expired
. Skopiuj 40-cyfrowy odcisk palca. Następnie uruchom polecenie, wsudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys $FINGERPRINT
którym$FINGERPRINT
jest skopiowana wartość (jeśli zawiera spacje, umieść ją w cudzysłowie).Wygląda na to, że musisz powtórzyć kroki instalacji dla MongoDB. Najpierw usuń istniejący plik repozytorium dla MongoDB. Zrób jak poniżej.
Następnie dodaj klucz: (bez klucza repozytorium się nie załaduje).
Teraz utwórz nowy plik listy repozytoriów MongoDB:
Po dodaniu szczegółów repozytorium musimy zaktualizować listę pakietów.
Teraz zainstaluj MongoDB.
Mam nadzieję że to pomoże !
źródło
Nie musisz ponownie instalować pakietów mongo, po prostu zmień klucz w następujący sposób:
Wymień klucze, aby potwierdzić, że wygasło:
Wymień klucz:
Numer 0xd68fa50fea312927 to aktualny prawidłowy identyfikator klucza (wygasa w 2019-10-09), jak możesz sprawdzić tutaj .
źródło
Wygląda na to, że wersja 3.2.1 została wydana 11 stycznia 2016 r. I od tego momentu sygnatura pakietów jest zła. Podpis na paczkach był w porządku dzień wcześniej.
referencje: https://jira.mongodb.org/browse/SERVER/fixforversion/15908/?selectedTab=com.atlassian.jira.jira-projects-plugin:version-summary-panel
Możesz dodać opcję --force-yes lub poczekać kilka godzin, aż zespół mongodb zobaczy i naprawi problem.
Tam jest już bilet: https://jira.mongodb.org/browse/SERVER-22144
źródło
Miałem również do czynienia z tym problemem podczas instalowania MongoDB 4.0 na Ubuntu 16.04. Więc zrobiłem.
sudo rm /etc/apt/sources.list.d/mongodb*.list
- usuń istniejący plik dla MongoDBsudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E52529D4
- dodaj kluczsudo 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'
- utwórz nowy plik listy repozytoriów MongoDBTeraz zakończ instalację aktualizacją repozytoriów, a następnie zainstaluj MongoDB, włącz
mongod
usługę i uruchom ją, a na koniec sprawdź wersję MongoDB:źródło
Napotkałem również ten problem podczas instalowania MongoDB 3.2 na moim ubuntu 16.04 za pomocą poniższych poleceń. Poniższe rozwiązanie zostało przedstawione jako pytanie związane z instalacją MongoDB w wersji 3.2
Po uruchomieniu powyższego polecenia aktualizacji znalazłem następujące ostrzeżenia
Dalsze badanie za pomocą poniższego polecenia, aby wyświetlić listę wszystkich kluczy
Pokazuje, że aktualny klucz wygasł w dniu 2017-10-08
Miało to również sens, ponieważ obecna stabilna wersja MongoDB jest teraz (3.4.9).
Aby najpierw rozwiązać problem, wykonujemy małe porządki (opcjonalnie)
usuwamy stary dodany klucz
sudo apt-key list // Wyświetl wszystkie klucze
sudo apt-key del EA312927 // Znajdź identyfikator UID klucza do usunięcia
lista kluczy apt | grep Mongodb // Sprawdź, czy został usunięty
Teraz usuwamy repozytorium MongoDB dodane w /etc/apt/sources.list.d
sudo rm /etc/apt/sources.list.d/mongodb*.list
Teraz instalujemy najnowszą stabilną wersję MongoDB (3.4.9) za pomocą poniższych poleceń
Zaimportuj klucz publiczny używany przez Menedżera pakietów Ubuntu
Utwórz listę plików dla mongoDB, aby pobrać bieżące repozytorium
Zainstaluj MongoDB
źródło
Miałem ten sam problem i rozwiązałem go, instalując mongodb metodą tarballa. Aby uzyskać szczegółowe informacje, skorzystaj z poniższego łącza.
https://docs.mongodb.org/manual/tutorial/install-mongodb-on-linux/
Dodawanie szczegółów poniżej
export PATH = / bin: $ PATH
następnie uruchom mongod (może być konieczne ustawienie ścieżki db)
źródło
W rzeczywistości bardzo ważne jest, aby rozwiązać problem
źródło
Miałem ten sam problem, więc zrobiłem:
root@skarabi:~# apt remove mongodb-org
Następnie:
root@skarabi:~# sudo rm /etc/apt/sources.list.d/mongodb*.list
Po :
root@skarabi:~# apt update
źródło
apt remove
(odinstalować) Mongo ze swojego komputera, aby uzyskać najnowszy klucz. Będziesz niszczyć całą bazę danych tylko po to, aby spróbować pobrać zaktualizowany klucz do źródeł apt.Korzystając z odpowiedzi dlopatin, wymyśliłem to dla Ubuntu 18.04, ponieważ ten kod już nie działa:
sudo apt-key list
grep -A 1 "\[expired:"
^\s\{1,10\}
i wybierz znaki alfanumeryczne\(\w*\)
, zamień te linie na wybraną grupę, którą jest odcisk palca\1
, powtórz dla wszystkich zwróconych liniig
, a następnie wydrukuj odcisk palcap
. To daje:sed -ne 's|^\s\{1,10\}\(\w*\)|\1|gp'
xargs -d '\n'
a następnie przekaż odciski palców jako argumenty do apt-key, aby je zaktualizować:sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
co daje:xargs -d '\n' sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
Mam nadzieję, że to jasne. Zignoruj ostrzeżenie o przetwarzaniu danych wyjściowych apt-key :)
źródło
Doświadczyłem podobnego problemu i otrzymałem następujący błąd podczas instalowania MongoDB 4.2 na wystąpieniu Ubuntu 18.04 w Google Cloud.
Rozwiązaniem, które zadziałało ode mnie, było uruchomienie następującego polecenia, aby uzyskać klucz. Znalazłem to na oficjalnych stronach problemów Jira w MongoDB.
Znalazłem to rozwiązanie w oficjalnych wydaniach Jira MongoDB. Oto link do problemu.
źródło