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