Comment définir gpg2 comme implémentation par défaut de gpg sur debian?

20

Mon installation debian est venue avec gpg 1.4.12, alors que j'aimerais exécuter 2.0.19. Le premier vient dans le paquet gnupget le second gnupg2. Ils peuvent coexister pacifiquement pour autant que je sache, mais je voudrais vraiment utiliser gpg2comme fournisseur par défaut de gpg. Je sais que debian a update-alternativesqui est utilisé pour définir les valeurs par défaut, mais je ne trouve aucune mention de gpgou gnupgdedans.

Comment puis-je configurer cela?

user329476
la source

Réponses:

13

Répondre

update-alternativesne fonctionne que si un package utilise explicitement le système alternatif. gnupg et gnupg2 ne le font pas.

Contexte

Habituellement, la raison est que l'interface utilisateur diffère trop pour que les scripts utilisant l'un des outils ne fonctionnent plus si soudainement les autres outils s'exécutent à la place. Voici un exemple typique markdown. Chaque markdownimplémentation dans Debian a des options de ligne de commande assez différentes, donc le système alternatif n'y est pas utilisé.

gpgLes gpg2options de ligne de commande de et ne semblent pas différer beaucoup, mais peut-être que la sortie de certaines actions ou codes de sortie diffère considérablement à certains endroits.

Une chose qui diffère et qui est importante pour des installations et des supports d'installation minimaux, ce sont leurs dépendances. Alors que le gnupgpackage est de priorité "standard" (c'est-à-dire installé dans une installation standard) et une dépendance du package apt, le package gnupg2récupère un certain nombre de bibliothèques qui ne sont actuellement que de priorité "facultative".

Il y a deux rapports de bogues ouverts dans Debian, un contre chaque paquet ( # 561540 contre gnupg et # 483724 contre gnupg2 ), demandant l'utilisation du système alternatif pour gnupget gnupg2.

Actuellement, l'un de ces rapports de bogues est balisé wontfix, mais la balise est dite "pour l'instant" et il y a quelques indices à prendre en compte au cas où le système alternatif serait utilisé (ou gnupg2deviendrait le système par défaut) à l'avenir. .

Comment, au cas où vous voudriez vraiment

Si vous voulez vraiment gpg2être appelé si vous appelez gpg, je recommande d'ajouter un alias correspondant dans votre shell, par exemple avec alias gpg=gpg2pour les shells compatibles bourne-shell. Ne devrait pas faire beaucoup de mal, mais ne fonctionnera que s'il est appelé à partir de la ligne de commande.

Si vous voulez vraiment avoir /usr/bin/gpgà être gnupg2, vous pouvez le faire avec dpkg-divert, par exemple renommer gpgen gpg1puis gpg2en gpg. Les fichiers renommés avec dpkg-divertconserveront leur nouveau nom même après les mises à jour des packages correspondants.

Mais soyez averti: APT nécessite et utilise gpget ne peut pas s'attendre à ce qu'il soit réellement gpg2. Vous pouvez donc casser des parties de votre système si vous utilisez de dpkg-divertcette façon. (Les alias de shell pour les utilisateurs non root sont très bien à ce sujet.)

Axel Beckert
la source
7

Il y aura très bientôt une nouvelle réponse à cette question: utilisez Debian 9 Stretch (qui sortira dans 2 ans environ ;-) ou plus récent.

Contexte: Lors de DebConf15, les mainteneurs de paquets Debian GnuPG ont annoncé qu'à l'avenir, GnuPG 2.x sera /usr/bin/gpgdans Debian et la commande GnuPG 1.x sera renommée /usr/bin/gpg1.

Vous ne pourrez toujours pas passer /usr/bin/gpgà une autre version de GnuPG pour vos goûts (voir mon autre réponse pour la raison derrière cela), mais au moins GnuPG 2.x sera l'implémentation par défaut dans un proche avenir dans Debian Unstable et Debian Testing et très bientôt dans Debian Experimental.

Axel Beckert
la source
Note latérale, 14/06/2017: les outils Debian dans la dernière version stable utilisent toujours gpg1 codé en dur en interne. Les fourches Debian (ubuntu, mint) semblent y remédier.
peterh dit réintégrer Monica le
Note latérale, 2017-06-17: les outils Debian dans la dernière version stable utilisent gpg2. (Oui, je peux voir l'avenir. ;-) Je plaisante, mais @peterh a écrit ce commentaire juste comme trois jours avant la sortie de la prochaine version de Debian Stable, ce qui change exactement cela.
Axel Beckert
Bien, merci! Cependant, creuser dans le gpg2 m'a assez bien appris, pourquoi étiez-vous si lent à mettre à jour les versions de gpg. Je pense que la vraie cause du problème est le gpg. Je pense, peut-être qu'une fourchette de projet semble nécessaire, qu'en est-il? Si quelqu'un ouvrait simplement une fourchette gpg2 sur le github et réparait tous ses braindamages, comment serait-il reçu? Je pense à le faire, mais cela ne vaut tout simplement pas son prix s'il reste une archive oubliée pour toujours.
Peterh dit de réintégrer Monica