Dlaczego aktualizacja apt-get każe mi uruchomić apt-get update?

10

Więc mam to dalej:

# apt-get update
Get:1 http://ftp.us.debian.org etch Release.gpg [1032B]                     
Hit http://ftp.us.debian.org etch Release                                        
(...bunch more of this elided...)
Hit http://ftp.us.debian.org etch/contrib Sources
Fetched 68.8kB in 1s (37.4kB/s)
Reading package lists... Done
W: There is no public key available for the following key IDs:
9AA38DCD55BE302B
W: GPG error: http://ftp.us.debian.org etch Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9AA38DCD55BE302B
W: You may want to run apt-get update to correct these problems

Najwyraźniej nie mogę uruchomić z apt-get updatepowodu problemu , który wymaga apt-getode mnie apt-get updatenaprawy, co jest niezadowalające. Jak to naprawić?

chaos
źródło

Odpowiedzi:

16

Spróbuj to zrobić i ponownie uruchom apt-get:

apt-key update

apt-key to program służący do zarządzania kluczami kluczy gpg dla bezpiecznego apt. Brelok jest przechowywany w pliku /etc/apt/trusted.gpg (nie mylić z powiązanym, ale niezbyt interesującym /etc/apt/trustdb.gpg). apt-key można użyć do wyświetlenia kluczy w breloku oraz do dodania lub usunięcia klucza.

Więcej informacji na wiki Debiana: http://wiki.debian.org/SecureApt

Jeśli to nie zadziała, spróbuj:

gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 9AA38DCD55BE302B
apt-key add /root/.gnupg/pubring.gpg
apt-get update 
Andy May
źródło
Spróbował tego; bez zmiany. :(
chaos
5
Aktualizacja apt-key robi coś tylko, jeśli pakiet debian-archive-keyring jest zainstalowany. Zasadniczo nie jest to konieczne, instalacja pakietu automatycznie aktualizuje brelok APT. Druga sugestia nie jest zbyt bezpieczna, ponieważ nie weryfikujesz, czy klucz należy do projektu Debian. Naprawdę powinieneś sprawdzić jego podpisy przed włączeniem. Ponadto dodanie całego breloka jest złe, potrzebujesz tylko nowo pobranego klucza, więc „gpg --export 9AA38DCD55BE302B | apt-key add - ”byłoby lepiej ...
Raphaël Hertzog
12

lub zrób sudo apt-get install debian-archive-keyringpierwszy.

potem możesz kontynuować normalnie

lepole
źródło
To rozwiązało problem dla mnie na starożytnym serwerze Etch, z definicjami repozytoriów wskazującymi na archive.debian.org/debian
Amos Shapira,
Potwierdzam, że działa to na starym etch na ppc
Ross W
6

Aby zapewnić pochodzenie pobranego pakietu, APT będzie chciał zweryfikować podpisy pliku Release. Jeśli nie będzie w stanie tego zweryfikować, narzeka na wiadomość, którą zobaczyłeś. W takim przypadku musisz zainstalować odpowiedni klucz GPG, aby APT mógł poprawnie zweryfikować plik. Niestety nie powinieneś ślepo pobierać żadnego klucza, ponieważ naprawdę chcesz zezwolić tylko na zaufane klucze, które są własnością właściciela repozytorium. Dlatego musisz pobrać go w sposób zapewniający jego pochodzenie, a samo pobranie go gpg --recv-keynie gwarantuje tego.

Instalowanie nowego klucza odbywa się za pomocą apt-key add <key-file>. Większość nieoficjalnych repozytoriów udostępnia klucz na swojej stronie internetowej i podaje takie instrukcje (URL różni się oczywiście):

wget -O - http://ftp-master.debian.org/keys/archive-key-5.0.asc | sudo apt-key add -

W przypadku oficjalnego serwera lustrzanego Debiana powinieneś automatycznie zainstalować odpowiedni klucz, jest on zawarty w pakiecie, debian-archive-keyringa jego konfiguracja automatycznie aktywuje klucze. Upewnij się, że masz go zainstalowanego i upewnij się, że jest aktualny:

apt-get install debian-archive-keyring

Jeśli nie ufasz swojemu serwerowi lustrzanemu, możesz go zainstalować tylko po zainstalowaniu odpowiedniego klucza za pomocą poprzedniej metody, faktycznie podałem adres URL oficjalnego klucza, którego potrzebujesz.

Aby uzyskać więcej informacji o tym, jak obsługiwane są klucze archiwum Debiana, sprawdź http://ftp-master.debian.org/keys.html .

Raphaël Hertzog
źródło
2

Miałem ten problem, ponieważ przezroczysty serwer proxy dawał mi starą wersję klucza GPG, rozwiązałem go za pomocą wget, aby zmusić serwer proxy do uzyskania nowej wersji, np.

wget --no-cache -O /tmp/Z http://security.debian.org/dists/lenny/updates/Release.gpg
wget --no-cache -O /tmp/Z2 http://security.debian.org/dists/lenny/updates/Release

więc mam nadzieję, że w twoim przypadku rozwiążą go następujące polecenia: -

wget --no-cache -O /tmp/Z http://ftp.us.debian.org/dists/etch/Release.gpg
wget --no-cache -O /tmp/Z2 http://ftp.us.debian.org/dists/etch/Release

Oczywiście jesteśmy już tak daleko od Etch, że już tak nie jest, ale dokumentuję to tutaj, na wypadek, gdyby komuś to pomogło.

Mark Young
źródło