คู่มือบรรจุภัณฑ์เดเบียนที่ง่ายที่สุดคืออะไร?


150

ฉันไปที่ Wiki ของ Ubuntu แต่สับสนมีหลายวิธีมากเกินไป โปรดบอกคำแนะนำง่ายๆเกี่ยวกับบรรจุภัณฑ์ Debian


3
คุณต้องการสร้างแพคเกจสำหรับการใช้งานของคุณเองในคอมพิวเตอร์เฉพาะหรือเพื่อให้คนอื่นใช้หรือไม่?
andol

1
ซอฟต์แวร์ใดที่คุณต้องการจัดแพคเกจภาษา
Umang

4
ฉันมีปัญหาเดียวกัน บทเรียนและคู่มือส่วนใหญ่เริ่มต้นด้วย "รับ tarball upstream" จากจุดนี้เมื่อเราแพ้ เรามีสิ่งที่ง่ายที่เราต้องการปรับใช้ไม่มี tarball ต้นน้ำไม่มีซอร์สโค้ด มันเป็นเพียงไฟล์สงครามสคริปต์บางไฟล์และไฟล์ jar บางไฟล์ ลูก tar upstream คืออะไรทั้งหมดเกี่ยวกับและมีใครเห็นคำแนะนำไม่ได้ใช้อย่างใดอย่างหนึ่งซึ่งจะครอบคลุม (เช่นข้อตกลงกับปัญหาของผู้ใช้)
John Little

2
ฉันจะไปสำหรับคนที่ผมโพสต์มากกว่า StackOverflow

ถ้าคุณต้องการสร้าง "แพ็คเกจเสมือน" (การพึ่งพากลุ่มกัน) มันคุ้มค่าที่จะดูequivs-build
Rolf

คำตอบ:


103

นี่เป็น HOWTO ที่ดีสำหรับการสร้าง.debไฟล์พื้นฐาน มันเหมาะสำหรับการสร้าง.debไฟล์สำหรับการใช้งานส่วนตัว แต่ไม่เข้มงวดพอหากคุณต้องการให้แพ็คเกจรวมอยู่ใน Debian / Ubuntu - เพื่อที่คุณควรอ่านคู่มือDebian New Maintainerและ / หรือคู่มือบรรจุภัณฑ์ Ubuntu (ซึ่งฉันเชื่อว่าคุณ ' ได้ลองแล้ว)

เครื่องมือที่ดีสำหรับการตรวจสอบ.debไฟล์ของคุณสำหรับการปฏิบัติตามคือlintian(ติดตั้งได้จากที่เก็บ)

มีสองเซสชันที่นี่ในห้องสนทนาถามอูบุนตู

พื้นฐานของบรรจุภัณฑ์บน Ubuntu (บรรจุภัณฑ์: ตอนที่ 1)

บรรจุภัณฑ์ Ubuntu สำหรับ PPA ของ Launchpad (บรรจุภัณฑ์: ตอนที่ 2)


นี่เป็นการรวบรวมสิ่งที่จำเป็นในการเริ่มต้นด้วยการบรรจุภัณฑ์ แต่ใน HOWTO ฉันพลาดข้อมูลที่จะรวมไอคอนแอปพลิเคชันในไฟล์ deb (และไม่พบอะไรเกี่ยวกับที่อื่น) คำใบ้เกี่ยวกับวิธีการทำมัน?
nightcod3r

14

คุณมีปัญหากับส่วนใด แม้ว่าจะมีความซับซ้อนคู่มือดูเหมือนจะค่อนข้างชัดเจนเมื่อฉันทำตาม

สรุปด่วน:

  • แยกแหล่งที่มา .tar.gz
  • วิ่ง dh_make
  • แก้ไขไฟล์ debian
  • เปิดใช้ debuild

3
สิ่งที่ฉันสับสนคือกระบวนการนี้เหมือนกันไม่ว่าจะเป็นภาษาต้นฉบับหรือโครงสร้างไดเรกทอรีหรือไม่
เซท

9
ปมคือเราไม่มี. tar.gz เราต้องการจัดทำแอพที่เราเขียน ดูเหมือนจะไม่มีไกด์เล่มนี้พวกเขาทั้งหมดเริ่มต้นด้วย "tarball ต้นน้ำ" ซึ่งเราไม่มี
John Little

@JohnLittle คำตอบนี้อาจช่วยได้: askubuntu.com/a/27731/5
Nathan Osman

1
สิ่งที่เกี่ยวกับระยะยาวบรรจุภัณฑ์ซ้ำแล้วซ้ำอีก? ฉันต้องทำกระบวนการบรรจุภัณฑ์ที่ซับซ้อนและยาวนานเช่นนี้ทุกครั้งหรือไม่
kravemir

หากผู้ใช้ไม่มีรหัสGPGdebuildจะล้มเหลวเมื่อเกิดข้อผิดพลาด " debsign: gpg! Aborting .... "
agc

10

คุณสามารถใช้dpkg-debสำหรับการสร้างแพ็คเกจง่ายๆ

นี่คือการสอนที่ดีจากUbuntuforums


5

วิธีที่ง่ายที่สุดมากที่จะจัดแพคเกจบางสิ่งบางอย่างคือการใช้checkinstall


4
checkinstall ให้วิธีที่รวดเร็วในการสร้างแพคเกจไบนารี debin (.deb) จากวิธีการติดตั้งแหล่งที่มา อย่างไรก็ตามมันไม่ได้ให้แพคเกจเดเบียนที่เหมาะสม (สร้างขึ้นจากแพคเกจแหล่งเดเบียน)
João Pinto

โอ้มนุษย์ .. ฉันต้องใช้ก่อนที่จะรวบรวม .. นั่นก็เหมือนกับการรวบรวมชั่วโมง
Piotr Kula

5

โพสต์ครั้งแรกบนStackOverFlowคู่มือนี้มีไว้สำหรับซอฟต์แวร์ที่รวบรวมหรือตีความล่วงหน้า:

วิธีที่ถูกต้องในการสร้างแพ็คเกจ deb ใช้dpkg-buildpackageแต่บางครั้งมันก็ค่อนข้างซับซ้อน แต่คุณสามารถใช้dpkg -b <folder>และมันจะสร้างแพ็คเกจ Debian ของคุณ

สิ่งเหล่านี้เป็นพื้นฐานสำหรับการสร้างแพ็คเกจ Debian ด้วยdpkg -b <folder>ไบนารีหรือสคริปต์ชนิดใดก็ได้ที่ทำงานโดยอัตโนมัติโดยไม่จำเป็นต้องมีการรวบรวมด้วยตนเอง (Python, Bash, Pearl, Ruby):

  1. สร้างไฟล์และโฟลเดอร์เพื่อสร้างโครงสร้างต่อไปนี้:

    ProgramName-Version/
    ProgramName-Version/DEBIAN
    ProgramName-Version/DEBIAN/control
    ProgramName-Version/usr/
    ProgramName-Version/usr/bin/
    ProgramName-Version/usr/bin/your_script
    

    สคริปต์ที่วางที่/usr/bin/เรียกโดยตรงจากสถานีโปรดทราบว่าฉันไม่ได้เพิ่มส่วนขยายในสคริปต์ นอกจากนี้คุณสามารถสังเกตเห็นว่าโครงสร้างของแพคเกจ deb จะเป็นโครงสร้างของโปรแกรมเมื่อติดตั้งแล้ว ดังนั้นหากคุณทำตามตรรกะนี้หากโปรแกรมของคุณมีไฟล์เดียวคุณสามารถวางโดยตรงภายใต้ProgramName-Version/usr/bin/your_scriptแต่ถ้าคุณมีหลายไฟล์คุณควรวางไว้ภายใต้ProgramName-Version/usr/share/ProgramName/all your filesและวางไฟล์เดียวภายใต้/usr/bin/ที่จะเรียกสคริปต์ของคุณจาก/usr/share/ProgramName/

  2. เปลี่ยนสิทธิ์โฟลเดอร์ทั้งหมดเป็นรูท:

     chown root:root -R /path/to/ProgramName-Version  
    
  3. เปลี่ยนการอนุญาตของสคริปต์:

     chmod 0755 /path/to/the/script
    
  4. ในที่สุดคุณสามารถเรียกใช้: dpkg -b /path/to/the/ProgramName-Versionและแพคเกจ deb ของคุณจะถูกสร้างขึ้น! (นอกจากนี้คุณยังสามารถเพิ่มสคริปต์การโพสต์ / ก่อนและทุกสิ่งที่คุณต้องการมันทำงานเหมือนแพ็คเกจเดเบียนปกติ)

นี่คือตัวอย่างของcontrolไฟล์ คุณจะต้องคัดลอก / วางในไฟล์ว่างเปล่าที่เรียกว่า "ควบคุม" และวางไว้ในโฟลเดอร์ DEBIAN

Package: ProgramName
Version: VERSION
Architecture: all
Maintainer: YOUR NAME <EMAIL>
Depends: python2.7, etc , etc,
Installed-Size: in_kb
Homepage: http://foo.com
Description: Here you can put a one line description.This is the short Description.
 Here you put the long description, indented by 1 space.

3

ไม่คู่มือบรรจุภัณฑ์ที่ง่ายและชัดเจนที่สุดในโลกนี้คือ

บรรจุภัณฑ์ Java Applications สำหรับ Ubuntu และ Debian อื่น ๆ

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

คุณสามารถเปรียบเทียบกับคู่มือการบรรจุภัณฑ์ Debian


3
"Simple" ไม่ได้แปลว่า "สมบูรณ์" มีนโยบายมากมายที่กวดวิชาบรรจุภัณฑ์. deb พื้นฐานจะไม่ครอบคลุมโปรแกรมประเภทต่าง ๆ ดังนั้นบรรจุภัณฑ์จึงไม่ใช่เรื่องง่ายเหมือนกับ "การสอนแบบง่าย"
Thomas Ward

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