Câu trả lời
update-alternatives
chỉ 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 markdown
triể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 ở đó.
gpg
Các gpg2
tù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ù gnupg
gó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 đó gnupg2
ké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 gnupg
và 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 gnupg2
sẽ 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=gpg2
cá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/gpg
trở thành gnupg2, bạn có thể làm điều đó với dpkg-divert
, ví dụ như đổi tên gpg
thành gpg1
và sau đó gpg2
thành gpg
. Các tệp được đổi tên với dpkg-divert
sẽ 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 gpg
và 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-divert
theo cách đó. (Bí danh Shell cho người dùng không root có liên quan đến điều đó.)