bagaimana Anda membuat paket deb "ditandatangani"

10

Saya ingin membuat sejumlah paket deb, tetapi saya tidak tahu cara kerja paket "penandatanganan". Jadi saya bertanya-tanya bagaimana cara membuat paket deb yang ditandatangani.

daniel hoggan
sumber
4
kemungkinan duplikat untuk membuat Paket deb. Dari skrip atau binari
Sampo Sarrala - codidact.org
1
@ SampoSarrala Ini bukan duplikat sama sekali.
Pilot6

Jawaban:

5

Penandatanganan paket pada sistem Ubuntu / Debian agak berantakan. Secara teori, menandatangani paket deb memungkinkan orang yang menerima paket Anda untuk memverifikasi bahwa paket itu tidak dimodifikasi setelah Anda menandatanganinya. Pada kenyataannya, verifikasi tanda tangan sangat sulit untuk diatur dan dinonaktifkan secara default. Kecuali jika pengguna melakukan banyak pengaturan secara lokal, mereka tidak akan memverifikasi tanda tangan ketika paket diinstal.

Untuk menandatangani paket, Anda dapat menggunakan: debsigs atau dpkg-sig. Tanda tangan tidak kompatibel satu sama lain, jadi Anda harus memastikan pengguna menggunakan alat yang tepat di sisi penerima untuk memverifikasi tanda tangan.

dpkg-sig lebih mudah digunakan untuk Anda dan pengguna, tetapi debsigs adalah alat dengan dukungan bawaan (yang dinonaktifkan secara default) di Ubuntu dan Debian.

Saya menulis posting blog yang berisi semua rincian teknis tentang penandatanganan dan verifikasi paket sumber (file .dsc), paket biner (.deb), dan repositori paket APT sendiri di sini: http://blog.packagecloud.io/eng/2014/ 10/28 / howto-gpg-sign-memverifikasi-deb-paket-apt-repositori /

Joe Damato
sumber
Sepertinya fakta bahwa paket .deb biner dapat (dan, sejauh rantai pengemasan resmi untuk Debian / Ubuntu) termasuk dalam file .changes juga. Dihilangkan dalam jawaban ini dan pos blog tertaut.
dan
1

Penandatanganan paket pada Debian / Ubuntu umumnya dilakukan melalui file .changes. Ketika membangun sebuah paket, Anda cenderung berakhir dengan file .changes, mendaftar hasil build (paket source dan / atau binary), dan checksum-nya, ketika Anda menandatangani paket, ini biasanya file yang Anda tandatangani (sehingga memungkinkan verifikasi integritas paket melalui checksum-nya).

Cara paling sederhana untuk menandatangani file .changes adalah menggunakan debsign

debsign hello_1.0_amd64.changes

Ini terjadi secara otomatis jika Anda memiliki kunci utama di gantungan kunci gnupg, dan Anda menjalankan dpkg-buildpackageatau debuildtanpa -usdan -ucberalih.

Arand
sumber