gestreift.net  
Home arrow News arrow Anleitungen für Linux arrow apt-key / GPG error
apt-key / GPG error Drucken
Ab Debian etch gibt es apt in der Version 0.6.xx, welches als grandiose Neuerung die Absicherung der Echtheit der Update-Server durch GPG mitbringt. Dies manifestiert sich gleich nach dem ersten 'apt-get update' nach Einspielen der neuen apt-Version in den Augen des Anwenders durch mehrere derartige Meldungen:
W: GPG error: http://update.server testing Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 010908312D230C5F
(Artikel wurde am 12. August 2006 aktualisiert!) 
 
Da sich nun in den Newsgroups und Foren die Hinweise gegenseitig widersprechen, schreibe ich hier mal meinen bisher  gut funktionierenden Lösungsansatz (frei nach diesem Thread).

Ein Blick in die Datei /usr/bin/apt-key zeigt:

...
ARCHIVE_KEYRING=/usr/share/keyrings/debian-archive-keyring.gpg
REMOVED_KEYS=/usr/share/keyrings/debian-archive-removed-keys.gpg
...

Diese beiden Dateien müssen erstmal erzeugt werden, damit das neue Kommande apt-key überhaupt seinen Dienst antritt. Ist dies via touch geschehen, kann man apt-key darum bitten, die TrustDB anzulegen (list reicht hier aus):

touch /usr/share/keyrings/debian-archive-keyring.gpg
touch /usr/share/keyrings/debian-archive-removed-keys.gpg
apt-key list

Damit wird die Datei /etc/apt/trustdb.gpg erzeugt und auch gleich mit dem Schlüssel für die Debian Standardarchive gefüllt. Nun müssen noch die Schlüssel eingepflegt werden, die 'apt-get update' nach wie vor bemängelt. Für jeden von apt-get bemängelten Schlüssel sind dann die folgenden beiden Befehle auszuführen:

gpg --recv-keys --keyserver <KEYSERVER>  <bemängelter  Schlüssel>
gpg --armor --export <bemängelter Schlüssel> | apt-key add -

Dabei bindet der erste Befehl den Schlüssel in den Keyring des aufrufenden Benutzers (meist root) ein. Die zweite Zeile exportiert den Schlüssel dann wieder und übergibt ihn direkt an apt-key, welches ihn dann in den Keyring von apt einbindet. Ein passender KEYSERVER wäre zum Beispiel hkp://pgp.mit.edu.

Apropos hkp:// - Wer hinter einer restriktiven Firewall lebt, sollte den TCP-Port 11371 nach draußen freischalten. 

Update: Nach einigen Aktualisierungen in den Debian-Paketen reicht es nun aus, das Paket debian-archive-keyring neu zu installieren:

apt-get install debian-archive-keyring
apt-key update

Danke für die Hinweise, Justus & Oliver!