ฉันต้องการสร้างแพ็คเกจ deb จำนวนหนึ่ง แต่ฉันไม่ทราบว่าแพ็คเกจ "การลงชื่อ" ทำงานอย่างไร ดังนั้นฉันจึงสงสัยว่าจะสร้างแพ็คเกจ deb ที่ลงนามแล้วได้อย่างไร
ฉันต้องการสร้างแพ็คเกจ deb จำนวนหนึ่ง แต่ฉันไม่ทราบว่าแพ็คเกจ "การลงชื่อ" ทำงานอย่างไร ดังนั้นฉันจึงสงสัยว่าจะสร้างแพ็คเกจ deb ที่ลงนามแล้วได้อย่างไร
คำตอบ:
การลงแพคเกจบนระบบ 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-เก็บ /
การลงนามในแพ็คเกจบน Debian / Ubuntu นั้นมักกระทำผ่านไฟล์. changes เมื่อสร้างแพ็คเกจคุณมักจะจบลงด้วยไฟล์. changes แสดงรายการผลลัพธ์ของ build (ซอร์สโค้ดและ / หรือแพ็กเกจไบนารี) และ checksums ของพวกเขาเมื่อคุณลงนามแพ็คเกจนี้โดยปกติแล้วเป็นไฟล์ที่คุณเซ็นชื่อ ความสมบูรณ์ของแพคเกจโดยวิธีการตรวจสอบของมัน)
วิธีที่ง่ายที่สุดในการลงชื่อไฟล์. changes คือการใช้ debsign
debsign hello_1.0_amd64.changes
สิ่งนี้จะเกิดขึ้นโดยอัตโนมัติหากคุณมีคีย์หลักในพวงกุญแจ gnupg ของคุณและคุณเรียกใช้dpkg-buildpackage
หรือdebuild
ไม่ใช้-us
และไม่มี-uc
สวิตช์