데비안에서 gpg2를 gpg의 기본 구현으로 설정하는 방법은 무엇입니까? 설치는 gpg 1.4.12와 함께 제공되었지만 2.0.19를

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

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



답변

대답

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. (루트가 아닌 사용자의 쉘 ​​별명은 이와 관련하여 좋습니다.)


답변

이 질문에 대한 새로운 답변이 곧 나올 것입니다. 데비안 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 이상이 가까운 장래에 기본 구현이 될 것입니다 그리고 곧 데비안 실험에서.