Como definir gpg2 como implementação padrão do gpg no debian?


20

Minha instalação debian veio com o gpg 1.4.12, enquanto eu gostaria de estar executando o 2.0.19. O primeiro vem no pacote gnupge o segundo gnupg2. Eles podem coexistir pacificamente até onde eu sei, mas eu realmente gostaria de usar gpg2como o provedor padrão do gpg. Eu sei debian tem update-alternativesque é usado para definir padrões, mas não consigo encontrar qualquer menção gpgou gnupgna mesma.

Como posso configurar isso?

Respostas:


13

Responda

update-alternativessó funciona se um pacote usar explicitamente o sistema de alternativas. gnupg e gnupg2 não.

fundo

Geralmente, o motivo é que a interface do usuário difere demais, de modo que os scripts que usam a ferramenta única não funcionam mais se, de repente, as outras ferramentas forem executadas. Um exemplo típico aqui é markdown. Cada markdownimplementação no Debian tem opções de linha de comando bastante diferentes, portanto o sistema de alternativas não está em uso lá.

gpgAs gpg2opções de linha de comando de s e parecem não diferir muito, mas talvez a saída em determinadas ações ou códigos de saída diferam significativamente em alguns lugares.

Uma coisa em que eles diferem e que é importante para instalações e meios de instalação mínimos, são suas dependências. Enquanto o gnupgpacote é de prioridade "padrão" (isto é, instalado em uma instalação padrão) e uma dependência do pacote apt, o pacote gnupg2atrai muito mais bibliotecas que atualmente são apenas de prioridade "opcional".

Existem dois relatórios de erros abertos no Debian, um contra cada pacote ( # 561540 contra o gnupg e # 483724 contra o gnupg2 ), solicitando o uso do sistema alternativo para gnupge gnupg2.

Atualmente, um desses relatórios de erros está marcado wontfix, mas diz-se "por enquanto" e há algumas dicas sobre o que precisa ser cuidado , caso o sistema alternativo seja usado (ou gnupg2se torne o padrão) no futuro. .

Como, caso você realmente queira

Se você realmente deseja gpg2ser chamado se ligou gpg, recomendo adicionar um apelido de acordo com o seu shell, por exemplo, com alias gpg=gpg2shells compatíveis com bourne-shell. Não deve causar muito dano, mas só funcionará se for chamado a partir da linha de comando.

Se você realmente deseja ter o /usr/bin/gpggnupg2, pode fazer isso com dpkg-divert, por exemplo, renomear gpgpara gpg1e depois gpg2para gpg. Os arquivos renomeados com dpkg-divertmanterão seu novo nome mesmo após as atualizações dos pacotes correspondentes.

Mas esteja avisado: o APT requer e usa gpge pode não esperar que seja gpg2. Portanto, você pode quebrar partes do seu sistema se usar dpkg-divertdessa maneira. (Os aliases de shell para usuários não raiz são bons com relação a isso.)


7

Em breve, haverá uma nova resposta para essa pergunta: Use o Debian 9 Stretch (a ser lançado em 2 anos ou mais ;-) ou mais recente.

Antecedentes: No DebConf15, os Mantenedores de Pacotes Debian GnuPG anunciaram que, no futuro, o GnuPG 2.x estará /usr/bin/gpgno Debian e o comando GnuPG 1.x será renomeado para /usr/bin/gpg1.

Você ainda não poderá mudar /usr/bin/gpgpara outra versão do GnuPG como desejar (veja minha outra resposta para explicar o motivo), mas pelo menos o GnuPG 2.x será a implementação padrão em um futuro próximo nos Debian Unstable e Debian Testing e muito em breve no Debian Experimental.


Nota lateral, 14/06/2017: as ferramentas debian na versão estável mais recente ainda usam o gpg1 codificado internamente. Os garfos Debian (ubuntu, mint) parecem corrigi-lo.
peterh diz restabelecer Monica

Nota lateral, 17/06/2017: as ferramentas debian na versão estável mais recente usam gpg2. (Sim, eu posso ver o futuro. ;-) Estou brincando, mas @peterh escreveu esse comentário apenas três dias antes do lançamento do próximo Debian Stable, o que muda exatamente isso.
precisa

Bom obrigado! No entanto, pesquisar no gpg2 me ensinou muito bem, por que você demorou tanto para atualizar as versões do gpg. Eu acho que a verdadeira causa do problema é o gpg. Acho que talvez seja necessário um garfo de projeto, e quanto a isso? Se alguém simplesmente abrisse um garfo gpg2 no github e consertasse todos os seus braindamages, como seria recebido? Estou pensando em fazê-lo, mas ele simplesmente não vale o preço se continuar a ser um arquivo esquecido para sempre.
peterh diz restabelecer Monica
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.