Ich habe gerade Ubuntu 12.04 installiert und ein Repo hinzugefügt, und als ich apt-get update
machte, fehlte mir der gpg-Schlüssel.
Der folgende Befehl scheint bei mir nicht zu funktionieren:
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
Wie kann das Problem behoben werden?
Ich mochte diese Lösung, lade die fehlenden Schlüssel erneut vom Ubuntu-Schlüsselserver herunter.
Für Ubuntu
In meinem Fall
Reading package lists... Done
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 2EA8F35793D8809A
Hier ist der Befehl zum Hinzufügen des fehlenden Schlüssels, der in der Fehlermeldung erwähnt wird.
Sudo apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 2EA8F35793D8809A
Also nehme ich den fehlenden Schlüssel 2EA8F35793D8809A
und fordere den keyserver.ubuntu.com auf, ihn zur Liste der Schlüssel hinzuzufügen, die ich in apt habe.
Für Linux Mint
Dein Schlüsselserver ist etwas anders keyserver.linuxmint.com
Sudo apt-key adv --recv-key --keyserver keyserver.linuxmint.com "missing key"
Alternative Schlüsselserver zum Ausprobierenkeyserver.ubuntu.com
Es gibt eine Software namens Y PPA manager
. Sie kann helfen, GPG-Schlüsselfehler zu beheben.
Y PPA-Manager
Installieren -
Sudo add-apt-repository ppa:webupd8team/y-ppa-manager
Sudo apt-get update
Sudo apt-get install y-ppa-manager
Sobald Sie es installiert haben, starten Sie es, gehen Sie zu advance
und wählen Sie "Alle fehlenden GPG-Schlüssel importieren"
Der automatische Download mit apt-key adv --recv-keys
funktioniert möglicherweise nicht hinter einer Firewall.
Öffnen Sie in diesem Fall die Webseite von buntu Key Server in Ihrem Webbrowser und suchen Sie nach der Zeichenfolge 0x<hexadecimal code of your missing key>
.
Öffnen Sie den Link im Abschnitt Pub . Speichern Sie den Schlüsselinhalt (von -----BEGIN PGP PUBLIC KEY BLOCK-----
bis -----END PGP PUBLIC KEY BLOCK-----
) als Datei.
Dann renne:
Sudo apt-key add <file-with-saved-key>
Quelle: http://opensourceforgeeks.blogspot.in/2013/04/w-gpg-error-httpppalaunchpadnet-precise.html
geben Sie zuerst den folgenden Befehl in das Terminal ein
Sudo rm /var/lib/apt/lists/* -vf
aktualisieren Sie dann Ihr System, indem Sie den folgenden Befehl in das Terminal eingeben
Sudo apt-get update && Sudo apt-get upgrade
danach sollte es keine fehler geben und alles sollte gut funktionieren.
zu dieser Fehlermeldung, die nach dem Hinzufügen eines neuen Repositorys und dem Aktualisieren der Repository-Liste auftritt. Dies liegt an einem Server, dessen Adresse nicht mehr gültig ist. Ändern Sie einfach die Adresse in eine gute.
Öffnen Sie die Datei ~/.gnupg/gpg.conf
mit einem Texteditor.
Im Terminal: gedit ~/.gnupg/gpg.conf
suchen Sie dann in dieser Datei die folgende fette Linie (116. Linie) (die standardmäßig wie folgt lauten sollte):
[...]
Keyserver hkp: //keys.gnupg.net
# keyserver mailto: [email protected]
# keyserver ldap: //keyserver.pgp.com
fügen Sie dann die folgende fette Linie hinzu, um das folgende Ergebnis zu erhalten:
(Fügen Sie der zweiten Zeile ein # hinzu, um die alte Adresse zu kommentieren.)
[...]
keyserver http://keyserver.ubuntu.com
#
keyserver hkp: //keys.gnupg.net
# keyserver mailto: [email protected]
# keyserver ldap: //keyserver.pgp.com
Speichern Sie die Datei und versuchen Sie erneut zu aktualisieren:
Im Terminal: Sudo apt-get update
Basierend auf der Antwort von nelaar:
Sudo apt-get update 2>&1 1>/dev/null | sed -ne 's/.*NO_PUBKEY //p' |
while read key; do
echo 'Processing key:' "$key"
Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys "$key"
done
Das Skript speichert alle Fehler in einer temporären Datei, durchläuft sie dann und importiert die fehlenden Schlüssel.
Sudo add-apt-repository ppa:webupd8team/y-ppa-manager
Sudo apt-get update
Sudo apt-get install y-ppa-manager
Öffnen Sie Y PPA Manager From Dash
Geben Sie zuerst den folgenden Befehl in das Terminal ein
Sudo rm /var/lib/apt/lists/* -vf
aktualisieren Sie dann Ihr System, indem Sie den folgenden Befehl in das Terminal eingeben
Sudo apt-get update && Sudo apt-get upgrade
danach sollte es keine fehler geben und alles sollte gut funktionieren.
Was für mich funktioniert hat war, zuerst den Schlüssel zu löschen und dann neu zu installieren. Um das zu erreichen, habe ich folgendes getan:
[email protected] > ~: Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 630239CC130E1A7FD81A27B140976EAF437D05B5
löschen mit
[email protected] > ~: Sudo apt-key del 630239CC130E1A7FD81A27B140976EAF437D05B5
Installieren Sie dann erneut, indem Sie Folgendes eingeben
[email protected] > ~: Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 630239CC130E1A7FD81A27B140976EAF437D05B5
Ich wollte solche Fehler automatisch in einem Bash-Skript beheben. Für alle Interessierten sollte dies der Trick sein:
Sudo apt-get update 2> /tmp/keymissing
if [ -f /tmp/keymissing ]
then
for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //")
do
echo -e "\nProcessing key: $key"
Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key
Sudo apt-get update
done
rm /tmp/keymissing
fi
Ich bin auf dasselbe Problem gestoßen, als ich ein ppa ( ppa:nathandyer/vocal-stable
) hinzufügte, wodurch meine Repositorys beschädigt wurden. Ich wurde vom Autor von Web Upd8 darüber geführt, wie ich versuchen kann, dies zu beheben. Hier sind seine Schritte, die mir geholfen haben.
Sichern Sie Ihre _.gpg
_ Schlüssel für den Fall, dass etwas schief geht.
Erstellen wir einen Ordner, in dem wir unser Backup ablegen.
_mkdir ~/gpg-backups
_
Dadurch werden alle Dateien im Ordner _/etc/apt/trusted.gpg.d/
_ gesichert.
_Sudo cp /etc/apt/trusted.gpg.d/*.* ~/gpg-backups/
_
Jetzt werden wir alle _.gpg
_ Schlüssel entfernen.
_Sudo rm /etc/apt/trusted.gpg.d/
_
_Sudo cp /etc/apt/trustdb.gpg ~/gpg-backups/
_
_Sudo rm /etc/apt/trustdb.gpg
_
klicken Sie unter "Software & Updates" auf der Registerkarte "Authentifizierung" auf "Standardeinstellungen wiederherstellen"
Installieren Sie den y-ppa Manager, um alle fehlenden GPG-Schlüssel zu importieren
_Sudo add-apt-repository ppa:webupd8team/y-ppa-manager
Sudo apt-get update
Sudo apt-get install y-ppa-manager
_
Referenz :
Wenn Sie so etwas haben:
# aptitude update
...
Ign http://archive.canonical.com wily/partner Translation-en_US
Fetched 422 kB in 3s (130 kB/s)
W: GPG error: http://ubuntu.volia.net wily InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
Zunächst einmal versuchen:
# Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
Die Ausgabe des letzten Befehls kann sein:
gpg: keyblock resource `/etc/apt/trusted.gpg.d/webupd8team_ubuntu_experiments.gpg': resource limit
gpg: keyblock resource `/etc/apt/trusted.gpg.d/webupd8team_ubuntu_gthumb.gpg': resource limit
Sie müssen also zu /etc/apt/trusted.gpg.d/
gehen und nicht verwendete Schlüssel entfernen und dann apt-key adv
und aptitude update
wiederholen.
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | Sudo apt-key add -
ausführen