Ответ
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 хороши в этом отношении.)