Właśnie zainstalowałem Ubuntu 12.04 i dodałem kilka repozytoriów, a kiedy to zrobiłem apt-get update
, brakowało mi klucza gpg.
Następujące polecenie wydaje się nie działać dla mnie:
apt-get update 2> /tmp/keymissing; for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //"); do echo -e "\nProcessing key: $key"; gpg --keyserver subkeys.pgp.net --recv $key && sudo gpg --export --armor $key | apt-key add -; done
Jak rozwiązać ten problem?
updates
repository
gnupg
keys
Fih
źródło
źródło
Odpowiedzi:
Podobało mi się to rozwiązanie, ponownie pobierz brakujące klucze z serwera kluczy Ubuntu.
Dla Ubuntu
W moim przypadku
Oto polecenie dodania brakującego klucza wymienionego w komunikacie o błędzie.
Biorę więc brakujący klucz
2EA8F35793D8809A
i proszę keyserver.ubuntu.com o dodanie go do listy kluczy, które mam w apt.Dla Linuksa mięta
Twój kluczowy serwer jest nieco inny
keyserver.linuxmint.com
Alternatywne serwery kluczy do wypróbowania
keyserver.ubuntu.com
źródło
adkeys (){ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys "$1";}
Aby usunąć zduplikowane lub problematyczne klucze, używam do tego:grep -ril "pattern" /etc/apt | sudo xargs rm -f
--keyserver ha.pool.sks-keyservers.net
. Jest to pula kluczy o wysokiej dostępności, która znacznie zwiększa szansę na uzyskanie klucza, którego potrzebujesz.Istnieje oprogramowanie o nazwie „
Y PPA manager
Może pomóc naprawić błędy kluczy GPG”.Menedżer PPA
Żeby zainstalować -
Po zainstalowaniu uruchom go, a następnie przejdź do
advance
i wybierz „zaimportuj wszystkie brakujące klucze GPG”źródło
sudo apt-get...
Automatyczne pobieranie
apt-key adv --recv-keys
może nie działać za zaporą ogniową.W takim przypadku otwórz stronę Ubuntu Key Server w przeglądarce internetowej i wyszukaj ciąg
0x<hexadecimal code of your missing key>
.Otwórz link w sekcji pubu . Zapisz kluczową zawartość (od
-----BEGIN PGP PUBLIC KEY BLOCK-----
do-----END PGP PUBLIC KEY BLOCK-----
) jako plik.Następnie uruchomić:
Źródło: http://opensourceforgeeks.blogspot.in/2013/04/w-gpg-error-httpppalaunchpadnet-precise.html
źródło
najpierw wprowadź następujące polecenie w terminalu
następnie zaktualizuj system, wprowadzając następujące polecenie w terminalu
po tym nie powinno być żadnych błędów i wszystko powinno działać dobrze.
źródło
sudo su
przed wpisaniem mojego polecenia powyżejsudo su
jest w żaden sposób właściwym podejściem - w tym przypadkusudo -s
zrobiłbyś to, czego potrzebowałeś.sudo rm /var/lib/apt/lists/* -rf
(opcja „r” zamiast „v”)sudo
irm
jest niebezpieczne. Używając oburm
i*
jest niebezpieczne. Użyj trzech w tym samym poleceniu, a rekin ugryzie cię lub twoje pliki.Dla Ubuntu 12.04 Precise: trwałe rozwiązanie
na ten komunikat o błędzie pojawiający się po dodaniu nowego repozytorium i aktualizacji listy repozytoriów. Wynika to z serwera, którego adres nie jest już prawidłowy. Więc po prostu zmień adres na dobry.
Otwórz plik
~/.gnupg/gpg.conf
za pomocą edytora tekstu.W terminalu:
gedit ~/.gnupg/gpg.conf
następnie w tym pliku znajdź następującą pogrubioną linię (116. linia) (która powinna być domyślna jak poniżej):
następnie dodaj następujący pogrubiony wiersz, aby w końcu dać następujący wynik:
(dodaj # do drugiego wiersza w następujący sposób, aby skomentować stary adres)
Zapisz plik i spróbuj zaktualizować ponownie:
W terminalu:
sudo apt-get update
źródło
Na podstawie odpowiedzi Nelaar:
Skrypt zrzuca wszystkie błędy do pliku tymczasowego, a następnie zapętla je, importując brakujące klucze.
źródło
Najłatwiejsza droga to Y PPA MAnager
Otwórz Y PPA Manager od Dash
Wpisz swoje hasło administratora
Kliknij dwukrotnie opcję zaawansowaną
Kliknij Spróbuj zaimportować wszystkie brakujące klucze GPG
Kliknij Ok, aby to naprawić
źródło
Najpierw wprowadź następujące polecenie w terminalu
następnie zaktualizuj system, wprowadzając następujące polecenie w terminalu
po tym nie powinno być żadnych błędów i wszystko powinno działać dobrze.
źródło
Dla mnie zadziałało najpierw usunięcie klucza, a następnie ponowna instalacja. Aby to osiągnąć, wykonałem następujące czynności:
usuwanie z
Następnie zainstaluj ponownie, pisząc
źródło
Napotkałem ten sam problem, ponieważ dodanie ppa (
ppa:nathandyer/vocal-stable
) spowodowało uszkodzenie moich repozytoriów. Zostałem poprowadzony przez autora aktualizacji sieci Web8, w jaki sposób mogę to naprawić, oto jego kroki, które mnie zadziałały.Wykonaj kopię zapasową
.gpg
kluczy, na wypadek, gdyby coś poszło nie tak.Zróbmy folder, w którym będziemy przechowywać naszą kopię zapasową.
mkdir ~/gpg-backups
Spowoduje to utworzenie kopii zapasowej wszystkich plików w
/etc/apt/trusted.gpg.d/
folderze.sudo cp /etc/apt/trusted.gpg.d/*.* ~/gpg-backups/
Teraz usuniemy wszystkie
.gpg
klucze.sudo rm /etc/apt/trusted.gpg.d/
sudo cp /etc/apt/trustdb.gpg ~/gpg-backups/
sudo rm /etc/apt/trustdb.gpg
Zainstaluj menedżera y-ppa, aby zaimportować wszystkie brakujące klucze GPG
Odniesienie :
źródło
sudo rm /etc/apt/trusted.gpg.d/*
. Pominięcie*
w EOL nie jest możliwe, ponieważ nie można usunąć niepustych katalogów,rm
gdy-r
opcja nie jest określona. - Ach, i możesz zabić 2 ptaki za pomocą 1 kamienia przy liniisudo mv /etc/apt/trustdb.gpg ~/gpg-backups/
. Ponieważ jeśli przenosisz plik, nie potrzebujeszrm
później pliku źródłowego.Chciałem automatycznie naprawić takie błędy w skrypcie bash. Dla wszystkich zainteresowanych powinno to załatwić sprawę:
źródło
Jeśli masz coś takiego:
Najpierw spróbuj:
Wyjście ostatniego polecenia może być:
Więc musisz iść
/etc/apt/trusted.gpg.d/
i usunąć nieużywane klucze, a następnie powtórzyćapt-key adv
iaptitude update
źródło
Biegać
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
źródło
Ten problem przyszedł mi do głowy, gdy instaluję 12.04 przy użyciu ustawień niemieckich. Lista repozytoriów korzysta wówczas domyślnie z niemieckich repozytoriów lustrzanych. W takim przypadku możesz edytować listę repozytoriów i zmienić wszystkie niemieckie repozytoria lustrzane na standardowe repozytoria Ubuntu.
Możesz użyć następującej metody:
Wyszukaj i zamień w Nano za pomocą Alt-r
Wyszukaj (do zastąpienia):
/de.
Zamienić:
/
Zamień wszystko (naciśnij A)
Zapisz plik Ctrl-x
Następnie zaktualizuj system, wprowadzając następujące polecenie w terminalu:
Po tym nie powinno być żadnych błędów i wszystko powinno działać poprawnie.
źródło