Debianでgpgをgpgのデフォルト実装として設定するにはどうすればよいですか?


20

私のdebianインストールにはgpg 1.4.12が付属していましたが、2.0.19を実行したいと思います。前者はパッケージgnupgに含まれ、後者はパッケージに含まれていますgnupg2。私の知る限り、それらは平和的に共存できますがgpg2、のデフォルトプロバイダーとして使用したいのですgpg。debianにはupdate-alternativesデフォルトの設定に使用されるものがありますが、それについての言及gpgやそのgnupg中には言及がありません。

これを設定するにはどうすればよいですか?

回答:


13

回答

update-alternativesパッケージが代替システムを明示的に使用している場合にのみ機能します。gnupgとgnupg2はサポートしていません。

バックグラウンド

通常、その理由は、ユーザーインターフェイスが非常に異なるため、他のツールが突然代わりに実行されると、1つのツールを使用するスクリプトが機能しなくなるためです。ここに典型的な例がありmarkdownます。markdownDebianの各実装にはまったく異なるコマンドラインオプションがあるため、代替システムはそこで使用されていません。

gpggpg2のコマンドラインオプションはそれほど違わないようですが、特定のアクションまたは終了コードの出力は、場所によっては大幅に異なる場合があります。

それらが異なる点の1つは、最小インストールとインストールメディアにとって重要なことであり、それらの依存関係です。一方でgnupg、パッケージには、優先度の「標準」である(すなわち、標準インストールでインストールされている)と、パッケージの依存関係apt、パッケージのgnupg2現在優先度のみの「オプション」ですかなり多くの図書館で引っ張ります。

Debianには2つのオープンバグレポートがあり、各パッケージに対して1つ(gnupgに対して#561540およびgnupg2に対して#483724)、gnupgandの代替システムの使用を要求していますgnupg2

現在、これらのバグレポートの1つにタグが付けられてwontfixいますが、タグは「今のところ」と言われ、将来代替システムが使用される(またはデフォルトになる)場合に注意する必要があるいくつかのヒントgnupg2があります。

あなたが本当に欲しい場合の方法

gpg2呼び出した場合に本当に呼び出したい場合gpgalias gpg=gpg2、bourne-shell互換シェルなどで、シェルに対応するエイリアスを追加することをお勧めします。大した害はありませんが、コマンドラインから呼び出された場合にのみ機能します。

あなたが本当にしたい場合は/usr/bin/gpggnupg2であることを、あなたがそれを行うことができますdpkg-divert例えば、リネーム、gpggpg1し、その後gpg2gpg。で名前を変更したファイルdpkg-divertは、対応するパッケージを更新した後でも新しい名前を保持します。

ただし、注意してください。APTは、gpg実際にが必要であり、実際に使用されることを期待しない場合がありますgpg2。したがってdpkg-divert、その方法を使用すると、システムの一部が破損する可能性があります。(それに関して、非rootユーザーのシェルエイリアスは問題ありません。)


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)は修正されているようです。
ペテルはモニカを

サイドノート、2017-06-17:最新の安定版のdebianツールはgpg2を使用します。(はい、将来を見ることができます。;-)冗談ですが、@ peterhは、それを変更する次のDebian安定版リリースがリリースされる3日前と同じようにそのコメントを書きました。
アクセルベッカート

いいよ、ありがとう!しかし、gpg2を掘り下げることは非常によく教えてくれました。なぜgpgバージョンのアップグレードがそんなに遅くなったのですか。問題の本当の原因はgpgであると思います。おそらく、プロジェクトフォークが必要だと思いますが、どうでしょうか。誰かが単にgithubでgpg2フォークを開き、そのすべての脳損傷を修正する場合、どのように受け取られますか?私はそれをやろうと考えていますが、それが永久に忘れられたアーカイブのままであるなら、その価格の価値はありません。
ペテルはモニカを
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.