รวบรวมแหล่งที่มาเป็นแพคเกจ DEB


34

ฉันมักจะมีปัญหาในการติดตั้งและลบซอฟต์แวร์ที่คอมไพล์ดังนั้นฉันตัดสินใจที่จะสร้างซอฟต์แวร์จากซอร์สโค้ดเป็นแพ็คเกจ. deb เพื่อการติดตั้ง / ลบได้ง่ายขึ้น

ผมอยากจะรู้วิธีที่ง่ายและสั้น ๆ เพื่อสร้างแหล่งที่มาเป็นแพคเกจ .deb ที่เป็นผู้ใช้

ฉันเหนื่อย:

  • ubucompilatorซึ่งไม่ได้ผลสำหรับฉัน
  • วิธีนี้เป็นแนวทาง แต่ฉันพบว่านานเกินไป

1
Ubucompilator เป็นโครงการที่น่าสนใจและผมขอชมเชยความพยายามของพวกเขาจนถึงปัจจุบัน อย่างไรก็ตามในขณะที่คุณค้นพบมันมีเพียง GUI front-end ถึงสี่หรือห้าคำสั่งในระดับต่ำ และไม่คุณไม่สามารถใช้มันเพื่อสร้างแพ็คเกจ '.deb' ที่เหมาะสมได้อย่างง่ายดาย
david6

คำตอบ:


47

checkinstall ทำในสิ่งที่คุณต้องการเพื่อให้บรรลุ: มันจะตรวจสอบว่าไฟล์ใดได้รับการติดตั้งและใส่ไว้ในแพ็คเกจ. deb ซึ่งสามารถติดตั้งและนำออกได้

ติดตั้งด้วย

apt-get install checkinstall

จากนั้นคุณทำการติดตั้งปกติจากซอร์สโค้ดแทนที่ 'sudo make install' ด้วย 'sudo checkinstall':

  ./configure
  make
  sudo checkinstall

การอ้างอิง: https://help.ubuntu.com/community/CheckInstall


9

เรามีคู่มือการบรรจุภัณฑ์ที่ดีจริงๆที่มีส่วนในเรื่องของแพ็กเกจใหม่


1
ฉันแนะนำลิงก์นี้เนื่องจากมีข้อมูลทั้งหมดที่ใครบางคนต้องการ นอกจากนี้หากมีคำถามเฉพาะเจาะจงฉันอาจช่วยพวกเขาได้ แต่ไม่ใช่เพื่ออธิบายขั้นตอนทั้งหมดในการสร้างแพ็คเกจเดเบียนจากแหล่งที่มา
Thomas Ward

@ppumkin: อัปเดต
tumbleweed

6

ฉันใช้make checkinstallคำสั่งหลายครั้งเพื่อสร้าง.debแพ็คเกจบนเครื่องหนึ่งเพื่อติดตั้งบนเซิร์ฟเวอร์อื่นของฉัน มันเป็นวิธีที่รวดเร็วในการติดตั้งรุ่นเบต้า ใช้งานได้ แต่ควรใช้ด้วยความระมัดระวัง มีข้อผิดพลาดสำหรับผู้ใช้ที่ไม่เข้าใจฟังก์ชั่นมากมายของ.debแพ็คเกจ

ฉันมีเซิร์ฟเวอร์ยี่สิบบางตัวที่ใช้แอพที่ปลูกเองภายในบ้านเดียวกัน การเพิ่มบิลด์สนับสนุนและคอมไพเลอร์ในแต่ละโฮสต์นั้นไม่ยาก

การป้อนคำสั่งเพื่อดาวน์โหลดและรวบรวมเวอร์ชันใหม่ยี่สิบครั้งใช้เวลานาน ทางเลือกคือการอัปโหลดสคริปต์เพื่อทำงานและจากนั้นเรียกใช้สคริปต์ แต่มันก็มักจะง่ายกับการใช้งานการปรับปรุงโดยใช้ไฟล์ที่สร้างขึ้นด้วย.debcheckinstall


0

งานการบรรจุโค้ดซอฟต์แวร์แบบสุ่มบางส่วนลงใน. deb นั้นค่อนข้างซับซ้อนหากซอฟต์แวร์ไม่ได้อยู่ในรูปแบบนั้นแล้วโดยเฉพาะอย่างยิ่งเมื่อเทียบกับเพียงแค่ทำการติดตั้ง หากคุณต้องการให้สิ่งต่าง ๆ เรียบง่ายขึ้นฉันคิดว่าคุณกำลังก้าวไปในทิศทางที่ผิด

ฉันไม่ได้บอกว่าคุณทำไม่ได้ - นักพัฒนา Debian ทำมันมาก แต่ดูเหมือนจะไม่ใช่วิธีที่ง่ายที่สุดในการทำสิ่งที่คุณต้องการ

บางทีคุณควรมีสมาธิมากขึ้นในการเรียนรู้วิธีการรวบรวมและติดตั้งซอฟต์แวร์จากแหล่ง "งาน" ในความโปรดปรานของคุณคือความจริงที่ว่าทุกสิ่งที่คุณติดตั้งด้วยตัวเองควรจะอยู่ใน / usr / local


ขอบคุณสำหรับ sugestion แต่ฉันรู้แล้วเกี่ยวกับการรวบรวมซอฟต์แวร์ฉัน hav เงียบจำนวนของพวกเขารวบรวมในระบบของฉัน Te สิ่งเดียวที่ฉันพบว่ายากคือการอัพเกรดหรือลบออก ดังนั้นฉันแม้ว่าไฟล์ deb จะมีประโยชน์มากขึ้น
Ashu

เหตุผลที่แพคเกจเดบิตสามารถอัพเกรดหรือลบตัวเองได้อย่างราบรื่นก็คือมีบางคนมีสคริปต์ที่เขียนขึ้นอย่างระมัดระวังสำหรับแต่ละแพ็คเกจ นอกจากนี้พวกเขายังต้องเพิ่มเมตาดาต้าอธิบายอื่น ๆ อีกมากมายซึ่ง dpkg สามารถใช้เพื่อกำหนดว่าไฟล์ใด คุณจะทำให้งานของคุณถูกตัดออกไป
thomasrutter

1
ที่จริงเพียงไปกับคำตอบของฟลอยด์ ดูเหมือนว่าวิธีการแก้ปัญหาที่ดีกว่าโดยรวมถ้ามันทำในสิ่งที่มันบอกว่ามันทำ!
thomasrutter

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