Tôi muốn tạo một số gói gỡ lỗi, nhưng tôi không biết cách "ký" các gói hoạt động. Vì vậy, tôi đã tự hỏi làm thế nào để tạo ra một gói deb đã ký.
Tôi muốn tạo một số gói gỡ lỗi, nhưng tôi không biết cách "ký" các gói hoạt động. Vì vậy, tôi đã tự hỏi làm thế nào để tạo ra một gói deb đã ký.
Câu trả lời:
Việc ký gói trên các hệ thống Ubuntu / Debian khá lộn xộn. Về lý thuyết, việc ký một gói gỡ lỗi giúp người nhận gói của bạn có thể xác minh rằng gói đó không bị sửa đổi sau khi bạn ký. Trong thực tế, xác minh chữ ký rất khó thiết lập và bị tắt theo mặc định. Trừ khi người dùng thực hiện một loạt các thiết lập cục bộ, họ sẽ không xác minh chữ ký khi gói được cài đặt.
Để ký một gói, bạn có thể sử dụng: debsigs hoặc dpkg-sig. Các chữ ký không tương thích với nhau, vì vậy bạn sẽ cần đảm bảo rằng người dùng đang sử dụng công cụ thích hợp ở phía bên nhận để xác minh chữ ký.
dpkg-sig dễ sử dụng hơn cho cả bạn và người dùng, nhưng debsigs là công cụ hỗ trợ tích hợp (được tắt theo mặc định) trên Ubuntu và Debian.
Tôi đã viết một bài đăng blog chứa tất cả các chi tiết kỹ thuật về ký và xác minh các gói nguồn (tệp .dsc), gói nhị phân (.deb) và kho lưu trữ gói APT tại đây: http://blog.packagecloud.io/eng/2014/ 10/28 / howto-gpg-đăng-xác minh-deb-gói-apt-kho /
Việc ký gói trên Debian / Ubuntu thường được thực hiện thông qua các tệp .changes. Khi xây dựng gói bạn có xu hướng kết thúc bằng tệp .changes, liệt kê kết quả của bản dựng (gói nguồn và / hoặc gói nhị phân) và tổng kiểm tra của chúng, khi bạn ký các gói, đây thường là tệp bạn ký (do đó cho phép xác minh gói toàn vẹn bằng cách kiểm tra của nó).
Cách đơn giản nhất để ký một tệp .changes là sử dụng debsign
debsign hello_1.0_amd64.changes
Điều này xảy ra tự động nếu bạn có khóa chính trong móc khóa gnupg của bạn và bạn chạy dpkg-buildpackage
hoặc debuild
không có -us
và -uc
chuyển đổi.