데비안에서 gpg2를 gpg의 기본 구현으로 설정하는 방법은 무엇입니까?


20

내 데비안 설치는 gpg 1.4.12와 함께 제공되었지만 2.0.19를 실행하고 싶습니다. 전자는 패키지로 제공되고 gnupg후자 는 패키지로 제공됩니다 gnupg2. 그것들은 내가 아는 한 평화롭게 공존 할 수 있지만 gpg2의 기본 공급자 로 사용 하고 싶습니다 gpg. 나는 데비안이 알고 update-alternatives기본값을 설정하는 데 사용되는,하지만 난에 대한 언급 찾을 수 없습니다 gpg또는 gnupg거기에 있습니다.

이것을 어떻게 설정할 수 있습니까?

답변:


13

대답

update-alternatives패키지가 대체 시스템을 명시 적으로 사용하는 경우에만 작동합니다. gnupg와 gnupg2는 그렇지 않습니다.

배경

일반적으로 사용자 인터페이스가 너무 다르기 때문에 갑자기 다른 도구가 대신 실행되는 경우 한 도구를 사용하는 스크립트가 더 이상 작동하지 않습니다. 일반적인 예는 다음과 같습니다 markdown. markdown데비안의 각 구현은 상당히 다른 명령 줄 옵션을 가지고 있기 때문에 대체 시스템은 사용되지 않습니다.

gpg의와 gpg2의 명령 줄 옵션은 많은 차이가하지 않는 것,하지만 어쩌면 특정 작업 또는 종료 코드의 출력은 일부 지역에서 크게 다르다.

그것들이 다르고 최소 설치 및 설치 매체에 중요한 것은 의존성입니다. 그동안 gnupg패키지는 우선 순위의 "표준"(즉, 표준 설치에 설치) 및 패키지의 종속성 apt, 패키지 gnupg2현재는 우선 순위의 "선택"입니다 상당히 좀 더 라이브러리 당긴 다.

데비안에서 두 개의 열린 버그 리포트, 각 패키지에 대해 하나 (이 있습니다 # GnuPG에 대한 561540gnupg2에 대한 # 483724 에 대한 대안 시스템의 사용을 요청하는), gnupg그리고 gnupg2.

현재 이러한 버그 보고서 중 하나에 태그가 지정 wontfix되었지만 태그는 "현재"라고하며 향후 대체 시스템이 사용되거나 기본값이 될 경우 주의해야 할 몇 가지 힌트 가 있습니다. gnupg2.

당신이 정말로 원하는 경우에, 방법

gpg2호출 한 경우 실제로 호출하려면 bourne-shell 호환 쉘 gpg과 같이 쉘에 별명을 추가하는 것이 좋습니다 alias gpg=gpg2. 많은 해를 끼치 지 않아야하지만 명령 줄에서 호출 된 경우에만 작동합니다.

당신이 정말로 갖고 싶어 /usr/bin/gpggnupg2을 할 경우에 해당 할 수있는 dpkg-divert, 예를 들어, 이름 바꾸기 gpggpg1다음 gpg2에를 gpg. 로 이름이 바뀐 파일 dpkg-divert은 해당 패키지를 업데이트 한 후에도 새 이름을 유지합니다.

그러나 경고하십시오 : APT는 gpg실제로 사용하기를 요구하고 사용 하지 않을 수 있습니다 gpg2. 따라서 사용하면 시스템의 일부가 손상 될 수 있습니다 dpkg-divert. (루트가 아닌 사용자의 쉘 ​​별명은 이와 관련하여 좋습니다.)


7

이 질문에 대한 새로운 답변이 곧 나올 것입니다. 데비안 9 스트레치를 사용하십시오 (2 년 정도 후에 출시 될 것입니다 ;-) 이상.

배경 : DebConf15 에서 데비안 GnuPG 패키지 관리자 향후 GnuPG 2.x가 /usr/bin/gpg데비안에 있으며 GnuPG 1.x 명령의 이름이로 변경 될 것이라고 발표했습니다 /usr/bin/gpg1.

여전히 /usr/bin/gpg다른 GnuPG 버전 으로 전환 할 수는 없지만 (이 이유에 대해서는 다른 답변을 참조하십시오) Debian Unstable 및 Debian Testing에서 GnuPG 2.x 이상이 가까운 장래에 기본 구현이 될 것입니다 그리고 곧 데비안 실험에서.


참고 사항, 2017-06-14 : 최신 안정 버전의 데비안 도구는 여전히 내부적으로 하드 코딩 된 gpg1을 사용합니다. 데비안 포크 (우분투, 민트)가 그것을 고치는 것 같습니다.
피터는 모니카

참고 사항, 2017-06-17 : 최신 안정 버전의 데비안 도구는 gpg2를 사용합니다. (예, 미래를 볼 수 있습니다. ;-) 농담이지만 ​​@peterh는 다음 데비안 스 테이블 릴리스가 출시되기 3 일 전에 바로 그 의견을 썼습니다.
Axel Beckert 2016 년

고마워요! 그러나 gpg2를 파고 들었을 때 gpg 버전을 업그레이드하는 데 왜 그렇게 느렸습니까? 문제의 실제 원인은 gpg라고 생각합니다. 아마도 프로젝트 포크가 필요할 것 같습니다. 어떻습니까? 누군가가 단순히 github에서 gpg2 포크를 열고 모든 뇌 손상을 고치면 어떻게받을 수 있습니까? 나는 그것을 생각하고 있지만 영원히 잊혀진 기록 보관소로 남아 있다면 그만한 가치가 없습니다.
peterh는 분석 재개 모니카 말한다
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.