คุณจะสร้างแพคเกจ deb "ลงนาม" ได้อย่างไร


10

ฉันต้องการสร้างแพ็คเกจ deb จำนวนหนึ่ง แต่ฉันไม่ทราบว่าแพ็คเกจ "การลงชื่อ" ทำงานอย่างไร ดังนั้นฉันจึงสงสัยว่าจะสร้างแพ็คเกจ deb ที่ลงนามแล้วได้อย่างไร


4
อาจเป็นไปได้ที่ซ้ำกันของการสร้างแพคเกจ. deb จากสคริปต์หรือไบนารี
Sampo Sarrala - codidact.org

1
@SampoSarrala นี่ไม่ซ้ำกันเลย
Pilot6

คำตอบ:


5

การลงแพคเกจบนระบบ Ubuntu / Debian ค่อนข้างยุ่ง ตามทฤษฎีแล้วการลงนามในแพคเกจเดบิตทำให้ผู้ที่ได้รับแพ็คเกจของคุณสามารถตรวจสอบได้ว่าแพคเกจนั้นไม่ได้รับการแก้ไขหลังจากที่คุณลงนาม ในความเป็นจริงการตรวจสอบลายเซ็นเป็นการยากที่จะติดตั้งและถูกปิดใช้งานโดยค่าเริ่มต้น หากผู้ใช้ทำการตั้งค่าแบบโลคัลผู้ใช้จะไม่ตรวจสอบลายเซ็นเมื่อติดตั้งแพ็คเกจ

ในการลงชื่อแพ็คเกจคุณสามารถใช้: debsigs หรือ dpkg-sig ลายเซ็นไม่สามารถใช้งานร่วมกันได้ดังนั้นคุณจะต้องตรวจสอบให้แน่ใจว่าผู้ใช้กำลังใช้เครื่องมือที่เหมาะสมในด้านการรับเพื่อตรวจสอบลายเซ็น

dpkg-sig นั้นง่ายต่อการใช้งานสำหรับทั้งคุณและผู้ใช้ แต่ debsigs เป็นเครื่องมือที่มีการสนับสนุนในตัว (ซึ่งถูกปิดใช้งานตามค่าเริ่มต้น) บน Ubuntu และ Debian

ฉันเขียนโพสต์บล็อกที่มีรายละเอียดทางเทคนิคทั้งหมดของการลงนามและตรวจสอบแพ็กเกจซอร์ส (ไฟล์. dsc), แพ็คเกจไบนารี (.deb) และที่เก็บแพ็กเกจ APT ด้วยตนเองที่นี่: http://blog.packagecloud.io/eng/2014/ 10/28 / HowTo-gpg ลงชื่อยืนยัน-deb-แพคเกจ apt-เก็บ /


ดูเหมือนว่าความจริงที่ว่าแพ็คเกจไบนารี .deb สามารถเป็น (และเท่าที่ห่วงโซ่การบรรจุอย่างเป็นทางการสำหรับ Debian / Ubuntu) รวมอยู่ในไฟล์. changes เช่นกัน ถูกตัดออกในคำตอบนี้และโพสต์บล็อกที่ลิงก์
arand

1

การลงนามในแพ็คเกจบน Debian / Ubuntu นั้นมักกระทำผ่านไฟล์. changes เมื่อสร้างแพ็คเกจคุณมักจะจบลงด้วยไฟล์. changes แสดงรายการผลลัพธ์ของ build (ซอร์สโค้ดและ / หรือแพ็กเกจไบนารี) และ checksums ของพวกเขาเมื่อคุณลงนามแพ็คเกจนี้โดยปกติแล้วเป็นไฟล์ที่คุณเซ็นชื่อ ความสมบูรณ์ของแพคเกจโดยวิธีการตรวจสอบของมัน)

วิธีที่ง่ายที่สุดในการลงชื่อไฟล์. changes คือการใช้ debsign

debsign hello_1.0_amd64.changes

สิ่งนี้จะเกิดขึ้นโดยอัตโนมัติหากคุณมีคีย์หลักในพวงกุญแจ gnupg ของคุณและคุณเรียกใช้dpkg-buildpackageหรือdebuildไม่ใช้-usและไม่มี-ucสวิตช์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.