W: Błąd GPG: http://ppa.launchpad.net precyzyjna Wersja: Nie można zweryfikować następujących podpisów, ponieważ klucz publiczny jest niedostępny:

44

Kiedy to robię, pojawia się następujący błąd sudo apt-get update

W: GPG error: http://ppa.launchpad.net precise Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6AF0E940624A220

Próbowałem następujących sposobów po przeczytaniu różnych pytań tutaj, a także przez google.

próbowałem

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6AF0E1940624A220

To nie pomogło. Też próbowałem

sudo gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys

myślący port 11371 (domyślnie) może być zablokowany z powodu zapory ogniowej.

Próbowałem też zresetować wszystko w następujący sposób

sudo rm /var/lib/apt/lists/* -vf
sudo apt-get update && sudo apt-get upgrade

wciąż otrzymuję ten sam błąd lub otrzymuję aktualizację. Jakieś inne możliwe rozwiązanie, które mogę wypróbować?

Aniket Thakur
źródło
Czy wypróbowałeś tutaj wszystkie rozwiązania? askubuntu.com/questions/13065/…
fossfreedom
Spróbuj:$ sudo apt-key adv --keyserver-options http-proxy=<proxy-server> --keyserver keyserver.ubuntu.com --recv 6AF0E1940624A220
Marslo,

Odpowiedzi:

77

Drugie podejście wymienione w tym linku zadziałało dla mnie. Ręcznie pobierz klucz i dodaj go. Mam nadzieję, że pomaga także innym.


Powyższy link zawiera szczegółowe wyjaśnienia ze zrzutami ekranu. Ma też kilka innych prostych metod, które można wypróbować przed zrobieniem tego ręcznie. Ponieważ nie jest dostępny z niektórych regionów, pozwól mi opisać metodę, która działała dla mnie: Youtube .

  1. Przejdź do serwera kluczy publicznych OpenPGP . Tam możesz wpisać swój klucz w Search Stringpole, pozostawiając wszystko inne bez zmian, a następnie kliknąć „Szukaj!”.
    Przy szukaniu klucza, zawsze dołączana 0xdo niego ! Oznacza to, że na przykład musisz szukać 0x6AF0E1940624A220zamiast 6AF0E1940624A220.
  2. Kliknij link podany w pubsekcji. Powinno to zabrać Cię na stronę zawierającą klucz. Nagłówek strony powinien być podobny doPublic Key Server -- Get "0x6AF0E1940624A220"
  3. Skopiuj wszystko spod tytułu (zaczynając od -----BEGIN PGP PUBLIC KEY BLOCK-----) i zapisz go w pliku (np key1.).
  4. Po utworzeniu pliku uruchom następujące polecenie

    sudo apt-key add key1
    

Otrzymasz odpowiedź „OK”.

I gotowe. Powtórz procedurę dla innych kluczy, których może brakować.

Aniket Thakur
źródło
Czy mogę prosić o opisanie tego linku tutaj? Filtrował dla naszego kraju.
shgnInc
@shgnInc dodał odpowiednią część.
Aniket Thakur
2
Dziękuję bardzo.
shgnInc
Dla tych, którym rzucono wyzwanie (większość z nas!), Oto skrypt, który można wkleić do powłoki bash i nacisnąć klawisz Return, aby naprawić ten problem dla wszystkich kluczy: sudo apt-get update 2> & 1 | \ grep NO_PUBKEY | \ sed -e ' s? ^. * NO_PUBKEY ?? ' | \ podczas czytania _hash; Do \ wget -O " keyserver.ubuntu.com/pks/lookup?op=get&search=0x$ {_hash}" | \ sudo apt-key add -; gotowe
Michael Mikowski,
Komenda Ubuntu: $ sudo apt-key adv --keyserver-options http-proxy=<myProxy> --keyserver keyserver.ubuntu.com --recv <MISSED_PUBKEY_NUMBER>. Na przykład w przypadku 6AF0E1940624A220, polecenie powinno być: $ sudo apt-key adv --keyserver-options http-proxy=<proxy_server> --keyserver keyserver.ubuntu.com --recv 6AF0E1940624A220. Inspirowane z superuser.com/a/784913/112396
Marslo,
1

To jest uproszczona wersja odpowiedzi Aniket:

for fingerprint in 40976EAF437D05B5 3B4FE6ACC0B21F32; do
  curl "http://keyserver.ubuntu.com/pks/lookup?op=get&fingerprint=on&search=0x$fingerprint" | \
    awk '/-----BEGIN PGP/{p=1} /-----END PGP/{print; p=0} p==1{print}' > key.txt;
  sudo apt-key add key.txt;
done

Umieść tyle kluczy, ile potrzebujesz w pierwszym wierszu.

Dołączyłem obce średniki, aby można było uczynić z tego jedno-liniowy element Dockerfile. Nie mam pojęcia, dlaczego wymaga tego wcześniej działająca kompilacja kontenera. Otrzymałem ten błąd przed tą poprawką:

W: GPG error: http://deb.nodesource.com trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1655A0AB68576280
W: GPG error: http://archive.ubuntu.com trusty-updates InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://archive.ubuntu.com trusty-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://security.ubuntu.com trusty-security InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://archive.ubuntu.com trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
Bruno Bronosky
źródło