Come impostare gpg2 come implementazione predefinita di gpg su debian?


20

La mia installazione di debian è arrivata con gpg 1.4.12, mentre vorrei eseguire 2.0.19. Il primo arriva nel pacchetto gnupge il secondo gnupg2. Possono coesistere pacificamente per quanto ne so, ma mi piacerebbe davvero usare gpg2come fornitore predefinito di gpg. So che debian ha update-alternativesquale viene utilizzato per impostare i valori predefiniti, ma non riesco a trovare alcuna menzione gpgo gnupgin esso.

Come posso impostarlo?

Risposte:


13

Risposta

update-alternativesFunziona solo se un pacchetto utilizza esplicitamente il sistema alternativo. gnupg e gnupg2 no.

sfondo

Di solito il motivo è che l'interfaccia utente differisce troppo in modo che gli script che utilizzano uno strumento non funzionino più se improvvisamente vengono eseguiti gli altri strumenti. Un tipico esempio qui è markdown. Ogni markdownimplementazione in Debian ha opzioni di riga di comando abbastanza diverse, quindi il sistema alternativo non è in uso lì.

gpgLe gpg2opzioni della riga di comando di " e " non sembrano differire molto, ma forse l'output su determinate azioni o codici di uscita differisce in modo significativo in alcuni punti.

Una cosa in cui differiscono e che è importante per installazioni minime e supporti di installazione, sono le loro dipendenze. Mentre il gnupgpacchetto ha la priorità "standard" (cioè installato in un'installazione standard) e una dipendenza del pacchetto apt, il pacchetto gnupg2include molte più librerie che attualmente sono solo prioritarie "opzionali".

Ci sono due segnalazioni di bug aperte in Debian, una per ogni pacchetto ( # 561540 contro gnupg e # 483724 contro gnupg2 ), che richiede l'uso del sistema alternativo per gnupge gnupg2.

Attualmente una di queste segnalazioni di bug è taggata wontfix , ma si dice che il tag è "per ora" e ci sono alcuni suggerimenti su cosa bisogna fare attenzione nel caso in cui il sistema alternativo verrà usato (o gnupg2diventerà il default) in futuro .

Come, nel caso volessi davvero

Se vuoi davvero gpg2 essere chiamato se lo hai chiamato gpg, ti consiglio di aggiungere un alias corrispondente nella tua shell, ad esempio con alias gpg=gpg2shell compatibili con bourne-shell. Non dovrebbe fare molto male, ma funzionerà solo se chiamato dalla riga di comando.

Se vuoi davvero /usr/bin/gpgessere gnupg2, puoi farlo con dpkg-divert, ad esempio rinominare gpgin gpg1e poi gpg2ingpg . I file rinominati dpkg-divertconterranno il loro nuovo nome anche dopo gli aggiornamenti dei pacchetti corrispondenti.

Ma attenzione: APT richiede e utilizza gpge potrebbe non aspettarsi che lo sia effettivamente gpg2. Quindi potresti rompere parti del tuo sistema se lo usi in dpkg-divertquesto modo. (Alias ​​di shell per utenti non root vanno bene al riguardo.)


7

Presto ci sarà una nuova risposta a questa domanda: Usa Debian 9 Stretch (per essere rilasciato tra circa 2 anni ;-) o più recente.

Background: In DebConf15 il Maintainer del pacchetto Debian GnuPG ha annunciato che in futuro GnuPG 2.x sarà /usr/bin/gpgin Debian e il comando GnuPG 1.x verrà rinominato /usr/bin/gpg1.

Non sarai ancora in grado di passare /usr/bin/gpgad un'altra versione di GnuPG ai tuoi Mi piace (vedi la mia altra risposta per il motivo dietro questo), ma almeno GnuPG 2.x sarà l'implementazione predefinita nel prossimo futuro in Debian Unstable e Debian Testing e molto presto in Debian Experimental.


Nota a margine, 14/06/2017: gli strumenti debian nell'ultima versione stabile usano ancora gpg1 hardcoded internamente. Le forcelle Debian (Ubuntu, Mint) sembrano risolverlo.
Peter dice di reintegrare Monica il

Nota a margine, 17/06/2017: gli strumenti debian nell'ultima versione stabile usano gpg2. (Sì, posso vedere nel futuro. ;-) Sto solo scherzando, ma @peterh ha scritto quel commento proprio come tre giorni prima che verrà rilasciata la prossima versione di Debian Stable che cambia esattamente questo.
Axel Beckert,

Bene grazie! Tuttavia, scavare in gpg2 mi ha insegnato abbastanza bene, perché eri così lento ad aggiornare le versioni di gpg. Penso che la vera causa del problema sia il gpg. Penso, forse un fork del progetto sembra necessario, che ne dici? Se qualcuno aprisse semplicemente un fork di gpg2 sul github e risolvesse tutti i suoi problemi cerebrali, come verrebbe ricevuto? Sto pensando di farlo, ma semplicemente non vale il suo prezzo se rimane un archivio dimenticato per sempre.
Peter dice di reintegrare Monica il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.