Jak ustawić gpg2 jako domyślną implementację gpg na Debianie?

20

Moja instalacja Debiana pochodzi z gpg 1.4.12, a ja chciałbym uruchomić 2.0.19. Pierwsza jest w pakiecie, gnupga druga gnupg2. Mogą one współistnieć pokojowo, o ile mi wiadomo, ale naprawdę chciałbym użyć ich gpg2jako domyślnego dostawcy gpg. Wiem, Debian update-alternatives, który jest używany do ustawiania wartości domyślnych, ale nie mogę znaleźć żadnej wzmianki gpglub gnupgw nim.

Jak mogę to skonfigurować?

użytkownik329476
źródło

Odpowiedzi:

13

Odpowiedź

update-alternativesdziała tylko wtedy, gdy pakiet wyraźnie korzysta z systemu alternatyw. gnupg i gnupg2 nie.

tło

Zwykle powodem jest to, że interfejs użytkownika różni się zbyt mocno, aby skrypty korzystające z jednego narzędzia nie działały, jeśli nagle uruchomią się inne narzędzia. Typowym przykładem jest tutaj markdown. Każda markdownimplementacja w Debianie ma całkiem inne opcje wiersza poleceń, dlatego system alternatyw nie jest tam używany.

gpg„s i gpg2” s opcje wywołania, nie wydają się znacznie różnić, ale może wyjście na pewnych działań lub kodów wyjściowych znacznie różnią się w niektórych miejscach.

Różnią się między sobą i co jest ważne dla minimalnych instalacji i nośników instalacyjnych, to ich zależności. Chociaż gnupgpakiet ma priorytet „standardowy” (tzn. Jest instalowany w standardowej instalacji) i jest zależny od pakietu apt, pakiet gnupg2pobiera nieco więcej bibliotek, które obecnie mają priorytet „opcjonalny”.

Istnieją dwa otwarte raporty o błędach w Debianie, po jednym dla każdego pakietu ( # 561540 przeciwko gnupg i # 483724 przeciwko gnupg2 ), z prośbą o użycie systemu alternatyw dla gnupgi gnupg2.

Obecnie jeden z tych raportów o błędach jest oznaczony wontfix, ale mówi się, że jest to „na razie” i istnieją pewne wskazówki, na które należy zwrócić uwagę, jeśli system alternatywny będzie używany (lub gnupg2stanie się domyślny) w przyszłości .

Jak to zrobić, jeśli naprawdę tego chcesz

Jeśli naprawdę chcesz gpg2zostać wywołany, jeśli zadzwoniłeś gpg, polecam dodanie odpowiedniego aliasu w swojej powłoce, np. W alias gpg=gpg2przypadku powłok kompatybilnych z bourne-shell. Nie powinien wyrządzać wiele szkód, ale będzie działał tylko wtedy, gdy zostanie wywołany z wiersza poleceń.

Jeśli naprawdę chcesz /usr/bin/gpgbyć gnupg2, możesz to zrobić dpkg-divert, np. Zmieniając nazwę gpgna, gpg1a następnie gpg2na gpg. Pliki o zmienionych dpkg-divertnazwach zachowają swoją nową nazwę nawet po aktualizacji odpowiednich pakietów.

Ale ostrzegam: APT wymaga i używa gpgi może nie oczekiwać, że tak będzie gpg2. Więc możesz zepsuć części swojego systemu, jeśli używasz w dpkg-divertten sposób. (Aliasy powłoki dla użytkowników innych niż root są w tym względzie w porządku).

Axel Beckert
źródło
7

Wkrótce pojawi się nowa odpowiedź na to pytanie: użyj Debian 9 Stretch (zostanie wydany za około 2 lata ;-) lub nowszy.

Tło: Na DebConf15 opiekunowie pakietów Debian GnuPG ogłosili, że w przyszłości GnuPG 2.x będzie /usr/bin/gpgw Debianie, a nazwa polecenia GnuPG 1.x zostanie zmieniona na /usr/bin/gpg1.

Nadal nie będziesz mógł przejść /usr/bin/gpgna inną wersję GnuPG według własnych upodobań (zobacz moją inną odpowiedź z tego powodu), ale przynajmniej GnuPG 2.x będzie domyślną implementacją w najbliższej przyszłości w Debian Unstable i Debian Testing i już wkrótce w Debian Experimental.

Axel Beckert
źródło
Uwaga dodatkowa, 14.06.2017: Narzędzia debian w najnowszej stabilnej wersji nadal wewnętrznie używają gpg1 na stałe. Widelce Debiana (ubuntu, mint) wydają się to naprawiać.
Peter mówi, że przywraca Monikę
Uwaga dodatkowa, 2017-06-17: narzędzia debian w najnowszej stabilnej wersji używają gpg2. (Tak, widzę przyszłość. ;-) Żartowałem, ale @peterh napisał ten komentarz dokładnie trzy dni przed wydaniem kolejnej wersji stabilnej Debiana, która dokładnie to zmienia.
Axel Beckert
Dobrze, dziękuję! Jednak zagłębianie się w gpg2 nauczyło mnie całkiem dobrze, dlaczego tak wolno aktualizujesz wersje gpg. Myślę, że prawdziwą przyczyną problemu jest gpg. Myślę, że może potrzebny jest widelec do projektu, co powiesz na to? Gdyby ktoś po prostu otworzył widelec gpg2 na githubie i naprawił wszystkie jego braindamage, jak by go otrzymał? Zastanawiam się nad tym, ale po prostu nie jest ono warte swojej ceny, jeśli pozostanie na zawsze zapomnianym archiwum.
Peter mówi, że przywróć Monikę