Ответ
update-alternatives
работает только если пакет явно использует систему альтернатив. gnupg и gnupg2 этого не делают.
Задний план
Обычно причина в том, что пользовательский интерфейс слишком сильно отличается, так что сценарии, использующие один инструмент, больше не будут работать, если вдруг будут запущены другие инструменты. Типичный пример здесь markdown
. Каждая markdown
реализация в Debian имеет совершенно разные параметры командной строки, поэтому система альтернатив там не используется.
gpg
gpg2
Опции командной строки s и s, кажется, не сильно отличаются, но, возможно, выходные данные определенных действий или коды выхода в некоторых местах значительно различаются.
Одна вещь, где они различаются и что важно для минимальной установки и установочного носителя, это их зависимости. В то время как 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 хороши в этом отношении.)