Aggiunta di chiavi PPA mancanti a un portachiavi apt

Se sei un utente di una distribuzione Linux che sfrutta l'archivio dei pacchetti personali di Launchpad, allora sai quanto può essere facile questo strumento per aggiungere quelle applicazioni difficili da trovare preconfezionate per il tuo sistema. Una volta che ti sei abituato ai PPA, è abbastanza facile dipendere da quei repository. Ma a volte c'è un problema, apparentemente, insormontabile con quei PPA: le chiavi. Se la chiave per un particolare PPA non ti viene fornita, non puoi utilizzare il software, non finché la chiave non viene aggiunta al tuo portachiavi.

Ma come si aggiunge la chiave quando non l'hai mai ricevuta? Che tu ci creda o no, c'è una soluzione semplice per questo compito.

Presumo che tu abbia aggiunto il PPA al tuo file /etc/apt/sources.list (o aggiunto con il comandosudo add-apt-repository ppa: chromium-daily.). Dopo che il PPA è stato aggiunto, il passaggio successivo prima dell'installazione del software consiste nell'eseguire il comando sudo apt-get update. Se la chiave non è stata aggiunta, verrà visualizzato un messaggio di errore indicante la mancanza della chiave. Quando viene visualizzato l'errore, quel particolare PPA non può essere utilizzato. L'errore sarà simile a:

Errore GPG: http://ppa.launchpad.net lucid Release: Impossibile verificare le seguenti firme perché la chiave pubblica non è disponibile: NO_PUBKEY 2524246B1CC723DB

L'indizio qui è l'ultima stringa di caratteri, che è la chiave pubblica. Per aggiungere la chiave per questo particolare PPA (o repository), emettere il comando:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEY_ID

Dove KEY_ID è l'ultima stringa di caratteri nell'errore (in questo caso 2524246B1CC723DB).

Quando viene emesso il comando precedente, verrà visualizzato il seguente output:

In esecuzione: gpg --ignore-time-conflitto --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg - portachiavi /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv-keys 2524246B1CC723DBgpg: richiesta chiave 1CC723DB dal server hkp keyserver.ubuntu.comgpg: chiave 1CC723DB: chiave pubblica 'Launchpad PPA per Chris Coulson' importatagpg:

Numero totale elaborato: 1gpg: importato: 1 (RSA: 1)

La parte importante dell'output di cui sopra è la riga finale, indicata che 1 chiave di 1 è stata elaborata. Quel PPA (o repository) può ora essere utilizzato.

Trovare pronti contro termine e PPA

Ci sono molti repository e PPA là fuori. Un ottimo punto di partenza (diverso da Google) è Trampolino di lancio . Quando vai al launchpad puoi cercare in PPA registrati, Origini pubblicate, PPA attivi e Binari pubblicati. Questo sito suddivide anche i PPA in base alla versione, che include dalla 6.06 alla 11.04. Ovviamente questo è un sito solo per Ubuntu, quindi quei repository funzioneranno solo per Ubuntu e le distribuzioni basate su Ubuntu.

GUI

C'è una GUI chiamata gui-apt-key. Puoi trovarlo in Synaptic (cerca 'gui-apt-key', contrassegnalo per l'installazione e fai clic su Applica per installare.) Questo strumento ti consente fondamentalmente di prendere l'ID della chiave, inserirlo in una piccola area di testo e premere il pulsante Aggiungi per aggiungere una chiave al tuo portachiavi. Se preferisci uno strumento GUI, è una buona strada da percorrere. Personalmente, preferisco usare la riga di comando, poiché è più affidabile e più flessibile.

Pensieri finali

A volte quegli errori di apt possono essere un vero dolore. Ma quando l'errore è una chiave mancante, c'è sempre una soluzione rapida per aggiungere quella chiave.