대답
update-alternatives
패키지가 대체 시스템을 명시 적으로 사용하는 경우에만 작동합니다. gnupg와 gnupg2는 그렇지 않습니다.
배경
일반적으로 사용자 인터페이스가 너무 다르기 때문에 갑자기 다른 도구가 대신 실행되는 경우 한 도구를 사용하는 스크립트가 더 이상 작동하지 않습니다. 일반적인 예는 다음과 같습니다 markdown
. markdown
데비안의 각 구현은 상당히 다른 명령 줄 옵션을 가지고 있기 때문에 대체 시스템은 사용되지 않습니다.
gpg
의와 gpg2
의 명령 줄 옵션은 많은 차이가하지 않는 것,하지만 어쩌면 특정 작업 또는 종료 코드의 출력은 일부 지역에서 크게 다르다.
그것들이 다르고 최소 설치 및 설치 매체에 중요한 것은 의존성입니다. 그동안 gnupg
패키지는 우선 순위의 "표준"(즉, 표준 설치에 설치) 및 패키지의 종속성 apt
, 패키지 gnupg2
현재는 우선 순위의 "선택"입니다 상당히 좀 더 라이브러리 당긴 다.
데비안에서 두 개의 열린 버그 리포트, 각 패키지에 대해 하나 (이 있습니다 # GnuPG에 대한 561540 및 gnupg2에 대한 # 483724 에 대한 대안 시스템의 사용을 요청하는), gnupg
그리고 gnupg2
.
현재 이러한 버그 보고서 중 하나에 태그가 지정 wontfix
되었지만 태그는 "현재"라고하며 향후 대체 시스템이 사용되거나 기본값이 될 경우 주의해야 할 몇 가지 힌트 가 있습니다. gnupg2
.
당신이 정말로 원하는 경우에, 방법
을 gpg2
호출 한 경우 실제로 호출하려면 bourne-shell 호환 쉘 gpg
과 같이 쉘에 별명을 추가하는 것이 좋습니다 alias gpg=gpg2
. 많은 해를 끼치 지 않아야하지만 명령 줄에서 호출 된 경우에만 작동합니다.
당신이 정말로 갖고 싶어 /usr/bin/gpg
gnupg2을 할 경우에 해당 할 수있는 dpkg-divert
, 예를 들어, 이름 바꾸기 gpg
에 gpg1
다음 gpg2
에를 gpg
. 로 이름이 바뀐 파일 dpkg-divert
은 해당 패키지를 업데이트 한 후에도 새 이름을 유지합니다.
그러나 경고하십시오 : APT는 gpg
실제로 사용하기를 요구하고 사용 하지 않을 수 있습니다 gpg2
. 따라서 사용하면 시스템의 일부가 손상 될 수 있습니다 dpkg-divert
. (루트가 아닌 사용자의 쉘 별명은 이와 관련하여 좋습니다.)