Bagaimana cara mengatur gpg2 sebagai implementasi default gpg di debian?

20

Instalasi debian saya datang dengan gpg 1.4.12, sementara saya ingin menjalankan 2.0.19. Yang pertama datang dalam paket gnupgdan yang terakhir gnupg2. Mereka dapat hidup berdampingan dengan damai sejauh yang saya tahu, tetapi saya benar-benar ingin menggunakan gpg2sebagai penyedia default gpg. Saya tahu debian memiliki update-alternativesyang digunakan untuk pengaturan default, tetapi saya tidak dapat menemukan penyebutan gpgatau gnupgdi dalamnya.

Bagaimana saya bisa mengatur ini?

pengguna329476
sumber

Jawaban:

13

Menjawab

update-alternativeshanya berfungsi jika suatu paket secara eksplisit menggunakan sistem alternatif. gnupg dan gnupg2 tidak.

Latar Belakang

Biasanya alasannya adalah bahwa antarmuka pengguna terlalu banyak berbeda sehingga skrip yang menggunakan satu alat tidak akan berfungsi lagi jika tiba-tiba alat lain berjalan. Contoh khas di sini adalah markdown. Setiap markdownimplementasi di Debian memiliki opsi commandline yang sangat berbeda, maka sistem alternatif tidak digunakan di sana.

gpggpg2Opsi baris perintah dan dan tampaknya tidak banyak berbeda, tetapi mungkin output pada tindakan tertentu atau kode keluar berbeda secara signifikan di beberapa tempat.

Satu hal di mana mereka berbeda dan yang penting untuk instalasi minimal dan media instalasi, adalah ketergantungan mereka. Sementara gnupgpaket adalah prioritas "standar" (yaitu diinstal dalam instalasi standar) dan ketergantungan paket apt, paket gnupg2menarik beberapa perpustakaan lebih banyak yang saat ini hanya prioritas "opsional".

Ada dua laporan bug terbuka di Debian, satu terhadap setiap paket ( # 561540 melawan gnupg dan # 483724 melawan gnupg2 ), meminta penggunaan sistem alternatif untuk gnupgdan gnupg2.

Saat ini salah satu dari laporan bug ini diberi tag wontfix, tetapi tag dikatakan "untuk saat ini" dan ada beberapa petunjuk yang perlu diperhatikan jika sistem alternatif akan digunakan (atau gnupg2akan menjadi default) di masa mendatang. .

Bagaimana, Jika Anda Benar-Benar Ingin

Jika Anda benar-benar ingin gpg2dipanggil jika Anda menelepon gpg, saya sarankan untuk menambahkan alias sesuai di shell Anda, misalnya dengan alias gpg=gpg2untuk shell yang kompatibel dengan bourne-shell. Seharusnya tidak banyak merugikan, tetapi hanya akan berfungsi jika dipanggil dari commandline.

Jika Anda benar-benar ingin /usr/bin/gpgmenjadi gnupg2, Anda dapat melakukannya dengan dpkg-divert, mis. Ganti nama gpgmenjadi gpg1dan kemudian gpg2menjadi gpg. File yang diganti namanya dpkg-divertakan mempertahankan nama baru mereka bahkan setelah pembaruan dari paket yang sesuai.

Tetapi berhati-hatilah: APT membutuhkan dan menggunakan gpgdan mungkin tidak mengharapkannya untuk terjadi gpg2. Jadi Anda dapat merusak bagian dari sistem Anda jika Anda menggunakan dpkg-divertcara itu. (Alias ​​Shell untuk pengguna non-root baik-baik saja mengenai hal itu.)

Axel Beckert
sumber
7

Akan ada jawaban baru untuk pertanyaan itu segera: Gunakan Debian 9 Stretch (akan dirilis sekitar 2 tahun atau lebih ;-) atau lebih baru.

Latar Belakang: Di DebConf15 , Pengelola Paket Debian GnuPG mengumumkan bahwa di masa depan, GnuPG 2.x akan berada /usr/bin/gpgdi Debian dan perintah GnuPG 1.x akan diganti namanya menjadi /usr/bin/gpg1.

Anda masih tidak dapat beralih /usr/bin/gpgke versi GnuPG lain ke suka Anda (lihat jawaban saya yang lain untuk alasan ini), tetapi setidaknya GnuPG 2.x akan menjadi implementasi default dalam waktu dekat di Debian Tidak Stabil dan Pengujian Debian dan segera di Debian Experimental.

Axel Beckert
sumber
Catatan, 2017-06-14: alat debian dalam versi stabil terbaru masih menggunakan gpg1 hardcoded secara internal. Fork Debian (ubuntu, mint) sepertinya memperbaikinya.
peterh mengatakan mengembalikan Monica
Catatan, 2017-06-17: alat debian dalam versi stabil terbaru menggunakan gpg2. (Ya, saya bisa melihat ke masa depan. ;-) Hanya bercanda, tetapi @peterh menulis komentar itu seperti tiga hari sebelum rilis Debian Stable berikutnya akan dirilis yang mengubah hal itu.
Axel Beckert
Baik terima kasih! Namun, menggali gpg2 telah mengajar saya dengan sangat baik, mengapa Anda begitu lambat untuk meningkatkan versi gpg. Saya pikir penyebab sebenarnya dari masalahnya adalah gpg. Saya pikir, mungkin garpu proyek tampaknya diperlukan, bagaimana dengan itu? Jika seseorang hanya membuka garpu gpg2 di github, dan memperbaiki semua gangguan otaknya, bagaimana ia diterima? Saya berpikir untuk melakukannya, tetapi itu tidak layak harganya jika tetap menjadi arsip yang terlupakan selamanya.
peterh mengatakan mengembalikan Monica