Problem z kluczami GPG - inne podejście
Artykuł wcześniej był opisywany przypadek braku podpisu repozytoriów przez odpowiedni klucz.
Po co wogóle są klucze GPG? Czy nie można dodawać repozytoriów bez ich użycia?
Otóż niestety nie można. Jeżeli dodamy repozytorium, które wymaga podpisu klucza GPG wówczas, po wpisaniu
sudo apt-get update
mogą pojawić się błędy. I niestety repozytorium nie zostanie zaktualizowane.
Przykład będów:
W: Błąd GPG: http://ppa.launchpad.net intrepid Release: Następujące podpisy nie mogły zostać zweryfikowane z powodu braku klucza publicznego: NO_PUBKEY 2BA7BC59D745C5EB
W: Błąd GPG: http://ppa.launchpad.net intrepid Release: Następujące podpisy nie mogły zostać zweryfikowane z powodu braku klucza publicznego: NO_PUBKEY FC66403D8670A035
W: Błąd GPG: http://debian.vakevainen.fi unstable Release: Następujące podpisy nie mogły zostać zweryfikowane z powodu braku klucza publicznego: NO_PUBKEY 2BFAFC26585DECB0
Jak sobie poradzić z takim problemem? Najprościej jest wyłączyć te repozytoria - czyli skomentować odpowiednie linie przez dodanie na początku znaku "#" w odpowiednim wierszu z nazwą repozytorium (plik: /etc/apt/sources.list)
Ale niestety to rozwiązanie powoduje, że owszem pozostałe repozytoria będą zaktualizowane natomiast programy z repozytorium skomentowanego już nie. I to jest poważny problem.
Czy jest sposób na dodanie odpowiedniego klucza ?
Jasne i nie jest to takie trudne. Można się posłużyć skryptem zawartym w poprzednim artykule, jest on bardzo wygodny ale nie poznacie mechanizmów dodawania kluczy.
Rozwiązanie jest proste. Przypatrzmy się jeszcze raz błędom:
W: Błąd GPG: http://ppa.launchpad.net intrepid Release: Następujące podpisy nie mogły zostać zweryfikowane z powodu braku klucza publicznego: NO_PUBKEY 2BA7BC59D745C5EB
Czyli brakuje klucza oznaczonego: 2BA7BC59D745C5EB
Tak więc zaczynamy.
Pobieramy klucz GPG:
gpg --keyserver keyserver.ubuntu.com --recv 2BA7BC59D745C5EB
Powinien pojawić się komunikat:
gpg: zbiór kluczy ,,/home/szkolnylug/.gnupg/secring.gpg'' został utworzony
gpg: zbiór kluczy ,,/home/szkolnylug/.gnupg/pubring.gpg'' został utworzony
gpg: zapytanie o klucz D745C5EB z hkp serwera keyserver.ubuntu.com
gpg: /home/szkolnylug/.gnupg/trustdb.gpg: baza zaufania utworzona
gpg: klucz D745C5EB: zaimportowano klucz publiczny ,,Launchpad PPA for Kaivalagi''
gpg: Ogółem przetworzonych kluczy: 1
gpg: dołączono do zbioru: 1 (RSA: 1)
Dodajemy klucz:
gpg --export --armor 2BA7BC59D745C5EB | sudo apt-key add -
Operację tą wykonujemy dla pozostałych brakujących kluczy: FC66403D8670A035 i 2BFAFC26585DECB0
gpg --keyserver keyserver.ubuntu.com --recv FC66403D8670A035
gpg: zapytanie o klucz 8670A035 z hkp serwera keyserver.ubuntu.com
gpg: klucz 8670A035: zaimportowano klucz publiczny ,,Launchpad PPA for Spring developers''
gpg: Ogółem przetworzonych kluczy: 1
gpg: dołączono do zbioru: 1 (RSA: 1)
gpg --export --armor FC66403D8670A035 | sudo apt-key add -
OK
gpg --keyserver keyserver.ubuntu.com --recv 2BFAFC26585DECB0
gpg: zapytanie o klucz 585DECB0 z hkp serwera keyserver.ubuntu.com
gpg: klucz 585DECB0: zaimportowano klucz publiczny ,,Petri Vakevainen <Petri.Vakevainen@akumiitti.fi>''
gpg: brak absolutnie zaufanych kluczy
gpg: Ogółem przetworzonych kluczy: 1
gpg: dołączono do zbioru: 1
gpg --export --armor 2BFAFC26585DECB0 | sudo apt-key add -
OK

