Skript zum Import von Launchpad PPA OpenPGP Keys

[Update]Hier gibts eine etwas verbesserte Version des Skriptes, das automatisch alle Keys für die in der sources.list vorhandenen PPAs importiert[/Update]

In der neuesten Version unterstützt das Launchpad PPA System auch endlich das signieren der PPAs. Allerdings ist das Hinzufügen der Keys in das lokale System durchaus als Quälerei zu bezeichnen (hier ist der Prozess beschrieben).

Darum hier ein kleines Skript, welches das ganze ein wenig vereinfachen sollte:

#!/bin/bash
# Script for retrieving and adding
# Launchpad PPA OpenPGP keys to the local system.

if [ "$1" != "" ]; then
string=`curl -s $1 | grep 'OpenPGP key' | sed -e 's/.*code>\(.*\)<\/code.*/\1/'`
echo "$string"

gpg --no-verbose --no-default-keyring --keyring /tmp/tmp.keyring --keyserver keyserver.ubuntu.com --recv $string&& gpg --no-default-keyring --keyring /tmp/tmp.keyring --export --armor $string | sudo apt-key add - && rm /tmp/tmp.keyring
if [ $? = 0 ]; then
echo ""
echo "Key successfully imported"
echo ""
exit 0
elif [ $? = 1 ]; then
echo ""
echo "An error occured, please check the PPA URL"
echo ""
fi
else
echo "Please use the right syntax:"
echo "import-ppa-key [PPA URL]"
echo "PPA URL looks like this: https://edge.launchpad.net/~user/+archive/ppa"
exit 1
fi

Das ganze gibts auch nochmal hier im noPaste-Service: http://paste.pocoo.org/show/102735/
Oder hier direkt als Datei zum herunterladen: http://zeroathome.de/files/import-ppa-key

Wie immer, nicht schön, aber es funktioniert 😉

Nach dem Download die Datei ausführbar machen
chmod +x import-ppa-key
und ausführen
import-ppa-key [PPA URL]
der Parameter [PPA-URL] sollte folgendermaßen aussehen:
https://edge.launchpad.net/~user/+archive/ppa

zum Beispiel:

import-ppa-key https://edge.launchpad.net/~transmissionbt/+archive/ppa

Beim ausführen wird der OpenPGP Key aus der Seite extrahiert und ins lokale "apt-System" eingefügt.

10 Gedanken zu „Skript zum Import von Launchpad PPA OpenPGP Keys

  1. Pingback: oshelpdesk.org » [Update] PPA-Pakete künftig signiert «

  2. McDope

    Nettes script, wirklich cool wäre aber noch eines das die keys für alle ppas in der sources.list importiert 🙂 *wink*

  3. Dudley

    Ach menno, da haste mir ja jetzt die ganze Arbeit abgenommen ;-). Um die Fehlermeldung wollt ich mich schon ’ne ganze Weile kümmern.

    Dank dir, hat einwandfrei funktioniert!

  4. Maxi

    Tolles Script, danke!
    Aber wichtig: Ich musste vor dem Ausführen erst noch ›curl‹ installieren, das solltest Du vielleicht im Beitrag erwähnen.

  5. SMut

    Hm.
    Ich benutze da eigentlich einfach, nach einem apt-get update, wo man die Key-IDs an den Kopf geschmissen bekommt:
    W: GPG error: http://ppa.launchpad.net hardy Release: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 60D11217247D1CFF
    einfach apt-key in folgedem Synax:
    apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 60D11217247D1CFF
    und dann bekommt man als Antwort (so es einen Schlüssel mit dem Fingerabdruck auf dem Keyserver gibt):
    Executing: gpg –ignore-time-conflict –no-options –no-default-keyring –secret-keyring /etc/apt/secring.gpg –trustdb-name /etc/apt/trustdb.gpg –keyring /etc/apt/trusted.gpg –recv-keys –keyserver keyserver.ubuntu.com 60D11217247D1CFF
    gpg: requesting key 247D1CFF from hkp server keyserver.ubuntu.com
    gpg: key 247D1CFF: public key „Launchpad PPA for OpenOffice.org Scribblers“ imported
    gpg: Total number processed: 1
    gpg: imported: 1 (RSA: 1)

    und fertig 😉

    PS: Trotzdem ein nettes Script, aber IMO nicht unbedingt nötig…

  6. zero

    @SMut: Spätestens aber dann wenn man einen oder sogar mehrere Rechner hat auf denen mehr als ein oder zwei PPAs aktiv sind, wird die Sache dann schon wieder lästig…
    Auf meinem Rechner sind zB im Moment acht PPAs vorhanden und da kam mir die Idee mit dem Skript recht schnell (nach dem zweiten Repo um genau zu sein 😉 )

  7. SMut

    @zero
    Ich wollte keineswegs Deine hineingesteckte Arbeit herabsetzen, aber bei freier Software ist es immer so, dass man mehrere Möglichkeiten hat 🙂
    Meine Variante ist halt die Hauruckversion, schnell zum Ziel und nicht so elegant wie Deine Variante – mit vielleicht einem Hauch mehr Tipparbeit.

Kommentare sind geschlossen.