Câu trả lời
update-alternativeschỉ hoạt động nếu một gói sử dụng rõ ràng hệ thống thay thế. gnupg và gnupg2 không.
Lý lịch
Thông thường lý do là giao diện người dùng khác nhau quá nhiều do đó các tập lệnh sử dụng một công cụ sẽ không hoạt động nữa nếu đột nhiên các công cụ khác chạy thay thế. Một ví dụ điển hình ở đây là markdown. Mỗi markdowntriển khai trong Debian có các tùy chọn dòng lệnh khá khác nhau, do đó hệ thống thay thế không được sử dụng ở đó.
gpgCác gpg2tùy chọn dòng lệnh của và dường như không khác nhau nhiều, nhưng có thể đầu ra của một số hành động hoặc mã thoát nhất định khác nhau đáng kể ở một số nơi.
Một điều mà chúng khác nhau và điều quan trọng đối với cài đặt và phương tiện cài đặt tối thiểu, là sự phụ thuộc của chúng. Mặc dù gnupggói có mức độ ưu tiên "tiêu chuẩn" (nghĩa là được cài đặt trong bản cài đặt tiêu chuẩn) và sự phụ thuộc của gói apt, gói đó gnupg2kéo theo khá nhiều thư viện hiện chỉ có mức độ ưu tiên "tùy chọn".
Có hai báo cáo lỗi mở trong Debian, một báo cáo đối với mỗi gói ( # 561540 so với gnupg và # 483724 so với gnupg2 ), yêu cầu sử dụng hệ thống thay thế cho gnupgvà gnupg2.
Hiện tại một trong những báo cáo lỗi này được gắn thẻ wontfix, nhưng thẻ được gọi là "cho đến bây giờ" và có một số gợi ý cần phải quan tâm trong trường hợp hệ thống thay thế sẽ được sử dụng (hoặc gnupg2sẽ trở thành mặc định) trong tương lai .
Làm thế nào để, trong trường hợp bạn thực sự muốn
Nếu bạn thực sự muốn gpg2được gọi nếu bạn đã gọi gpg, tôi khuyên bạn nên thêm một bí danh theo trong vỏ của bạn, ví dụ như với alias gpg=gpg2các vỏ tương thích bourne-shell. Không nên làm hại nhiều, nhưng sẽ chỉ hoạt động nếu được gọi từ dòng lệnh.
Nếu bạn thực sự muốn /usr/bin/gpgtrở thành gnupg2, bạn có thể làm điều đó với dpkg-divert, ví dụ như đổi tên gpgthành gpg1và sau đó gpg2thành gpg. Các tệp được đổi tên với dpkg-divertsẽ giữ tên mới ngay cả sau khi cập nhật các gói theo.
Nhưng được cảnh báo: APT yêu cầu và sử dụng gpgvà có thể không mong đợi nó thực sự được gpg2. Vì vậy, bạn có thể phá vỡ các phần của hệ thống của bạn nếu bạn sử dụng dpkg-diverttheo cách đó. (Bí danh Shell cho người dùng không root có liên quan đến điều đó.)