Як встановити gpg2 як реалізацію за умовчанням gpg на debian?


20

Моя установка debian оснащена gpg 1.4.12, тоді як я хотів би запустити 2.0.19. Перший поставляється в упаковці, gnupgа другий gnupg2. Наскільки я знаю, вони можуть мирно співіснувати, але я дуже хотів би використовувати їх gpg2як постачальника за замовчуванням gpg. Я знаю, що в debian update-alternativesвикористовується параметр за замовчуванням, але я не можу знайти жодної згадки про нього gpgабо gnupgв ньому.

Як я можу це налаштувати?

Відповіді:


13

Відповідь

update-alternativesпрацює, лише якщо пакет явно використовує систему альтернатив. gnupg і gnupg2 ні.

Фон

Зазвичай причина полягає в тому, що користувальницький інтерфейс відрізняється занадто сильно, щоб сценарії, що використовують один інструмент, більше не працюватимуть, якщо раптом замість цього запустяться інші інструменти. Типовий приклад тут markdown. Кожна markdownреалізація в Debian має досить різні варіанти командного рядка, отже, система альтернатив там не використовується.

gpggpg2Параметри командного рядка '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цим способом. (Псевдонії оболонки для некорінних користувачів в цьому відношенні добре.)


7

Незабаром з’явиться нова відповідь на це питання: Використовуйте Debian 9 Stretch (вийде приблизно через 2 роки ;-) або новіший.

Передумови: На DebConf15 сервіси пакетів Debian GnuPG оголосили, що в майбутньому GnuPG 2.x буде /usr/bin/gpgв Debian, а команда GnuPG 1.x буде перейменована в /usr/bin/gpg1.

Ви все одно не зможете переключитися /usr/bin/gpgна іншу версію GnuPG за вашими вподобаннями (див. Мою іншу відповідь з причини цього), але принаймні GnuPG 2.x буде реалізацією за замовчуванням найближчим часом у Debian Unstable і Debian Testing і дуже скоро в Debian Experimental.


Бічна примітка, 2017-06-14: інструменти debian у останній стабільній версії все ще використовують жорсткий код gpg1 внутрішньо. Вилки Debian (ubuntu, mint), здається, виправляють це.
Peterh каже відновити Моніку

Бічна примітка, 2017-06-17: інструменти debian в останній стабільній версії використовують gpg2. (Так, я бачу в майбутньому. ;-) Просто жартую, але @peterh написав цей коментар так само, як і за три дні до виходу чергового випуску Debian Stable, який змінить саме це.
Аксель Беккерт

Добре, дякую! Однак копання у gpg2 мене дуже добре навчило, чому ви так повільно оновили версії gpg. Я думаю, що справжньою причиною проблеми є gpg. Я думаю, може бути, потрібна вилка для проекту, як щодо цього? Якщо хтось просто відкриє вилку gpg2 на github і виправить усі її мозкові пошкодження, як би це було отримано? Я думаю про це, але це просто не варто його ціни, якщо він назавжди залишиться забутим архівом.
Peterh каже відновити Моніку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.