Ответ
update-alternatives
работает только в том случае, если пакет явно использует систему альтернатив. gnupg и gnupg2 этого не делают.
Фон
Обычно причина в том, что пользовательский интерфейс слишком сильно отличается, так что сценарии, использующие один инструмент, больше не будут работать, если вдруг будут запущены другие инструменты. Типичным примером здесь является markdown
. Каждая реализация markdown
в Debian имеет совершенно разные параметры командной строки, поэтому система альтернатив там не используется.
Опции командной строки для gpg
и gpg2
похоже, не сильно отличаются, но, возможно, выходные данные определенных действий или коды выхода в некоторых местах значительно различаются.
Одна вещь, где они различаются и которая важна для минимальных установок и установочных носителей, это их зависимости. В то время как пакет gnupg
имеет приоритет "стандартный" (т. Е. Установлен в стандартной установке) и зависит от пакета apt
, пакет gnupg2
в себя еще несколько библиотек, которые в настоящее время имеют только приоритет "необязательно".
В Debian есть два открытых отчета об ошибках, по одному для каждого пакета (# 561540 для gnupg и # 483724 для gnupg2), запрашивающих использование системы альтернатив для gnupg
и gnupg2
.
В настоящее время один из этих отчетов об ошибках помечен как wontfix
, но этот тег называется "пока", и есть некоторые подсказки, о которых нужно позаботиться в случае использования системы альтернатив (или gnupg2
станет по умолчанию) в будущее.
Как, если вы действительно хотите
Если вы действительно хотите, чтобы gpg2
вызывался, если вы вызывали gpg
, я рекомендую добавить соответствующий псевдоним в вашу оболочку, например, с alias gpg=gpg2
для оболочек, совместимых с bourne-shell. Не должно причинить большого вреда, но будет работать только при вызове из командной строки.
Если вы действительно хотите, чтобы /usr/bin/gpg
был gnupg2, вы можете сделать это с помощью dpkg-divert
, например переименовать gpg
в gpg1
и затем gpg2
в gpg
. Файлы, переименованные с помощью dpkg-divert
, сохранят свое новое имя даже после обновления соответствующих пакетов.
Но будьте осторожны: APT требует и использует gpg
и может не ожидать, что он на самом деле будет gpg2
. Таким образом, вы можете сломать части вашей системы, если вы используете dpkg-divert
таким образом. (Псевдонимы оболочки для пользователей без полномочий root хороши в этом отношении.)