การเพิ่มสคริปต์การติดตั้ง post .deb


17

ดังนั้นฉันกำลังสร้าง.debและฉันต้องทำคำสั่งหลังการติดตั้งไม่กี่ (เชื่อมโยงเส้นทางห้องสมุดและสิ่งอื่น ๆ )

มีวิธีที่จะเป็นเช่นนั้นเมื่อคุณทำsudo dpkg -i <pacakage-name>.debสคริปต์ทำงานหรือไม่

คำตอบ:


21

คุณสามารถรันคำสั่งหลังการติดตั้งโดยใช้เชลล์สคริปต์ postinst ที่อยู่ในโฟลเดอร์ debian ในซอร์ส

นี่เป็นเชลล์สคริปต์ปกติที่มีคำสั่งทั้งหมดที่จะดำเนินการ (ตามลำดับ) หลังจากการติดตั้งแพ็กเกจ dpkg จะเรียกใช้สิ่งนี้โดยอัตโนมัติ ดังนั้นสิ่งที่คุณต้องทำคือสร้างเชลล์สคริปต์ก่อนที่จะบรรจุแพ็กเกจซอร์สของคุณลงในแพ็คเกจไบนารีตั้งชื่อเป็น 'postinst' และวางไว้ในไดเรกทอรี debian

สำหรับข้อมูลเพิ่มเติมโปรดเยี่ยมชมอูบุนตูบรรจุภัณฑ์คู่มือ


ไม่มีหน้าอีกต่อไป ...
IonicăBizău

2
มีหน้านี้อยู่ลิงค์นั้นผิด (มี '/ html' ซ้ำกันในตอนท้าย) ลิงค์ที่ถูกต้องคือpackaging.ubuntu.com/html แต่อาจมีการเปลี่ยนแปลงหน้าเพราะฉันพบpackage.ubuntu.com/html/packaging-new-software.htmlเพื่อเป็นประโยชน์มากขึ้น
Knetic

ระวัง postinst จะไม่ถูกดำเนินการหลังจาก "การติดตั้งแพคเกจ" มันถูกดำเนินการหลังจาก "การแยกไฟล์จากแพคเกจ deb" กระบวนการติดตั้งอาจล้มเหลวและ postinst ยังคงถูกดำเนินการ
Miguel Ortiz

ไม่ @Miguel หากกระบวนการติดตั้งพบข้อผิดพลาดก่อนที่จะpostinstดำเนินการแล้วpostinstจะไม่ดำเนินการ
Stephen Kitt

@StephenKitt ฉันกำลังทำงานกับแพคเกจ deb ที่ไม่ได้ขึ้นกับการอ้างอิงและดำเนินการ postinst จริง ๆ ฉันจะพยายามอัปเดตคำตอบด้วยข้อมูลห้องปฏิบัติการ
Miguel Ortiz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.