เหตุใดจึงไม่มีแพ็คเกจแพ็คเกจใน Arch Linux


28

ฉันเข้าใจว่าการแจกแจงตามแหล่งที่มาเช่นGentooหรือSlackwareไม่จำเป็นต้องมี*-devรุ่นของโปรแกรม ซึ่งรวมถึงซอร์สโค้ดรวมถึงไฟล์ส่วนหัวเพื่อรวบรวมทุกอย่างในเครื่อง

แต่ฉันไม่เคยเห็น*-devแพ็คเกจในArch Linuxแม้ว่าจะเป็นแพ็คเกจก็ตาม ฉันวิ่งข้าม*-devแพคเกจจำนวนมากในการกระจายอื่น ๆ

คำตอบ:


30

แพ็คเกจ -dev มักจะมีไฟล์ส่วนหัว, ตัวอย่าง, เอกสารประกอบและอื่น ๆ ซึ่งไม่จำเป็นต้องใช้เพียงแค่เรียกใช้โปรแกรม (หรือใช้ไลบรารีเป็นการอ้างอิง) พวกมันถูกปล่อยออกมาเพื่อประหยัดพื้นที่

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


1
สวัสดีขอบคุณสำหรับคำตอบของคุณ ฉันคิดว่าคุณพูดถูกเพราะฉันสังเกตเห็นบนArch Linuxฉันสามารถรวบรวมแพ็คเกจได้ทันที (ไม่จำเป็นต้องติดตั้ง-devแพ็คเกจ) คุณสามารถรวมการอ้างอิงเดียวได้ไหม
เซบาสเตียน

3
การอ้างอิงที่สำคัญที่สุดหากเป็นไปได้ว่าThe Arch Wayและหลักการเรียบง่าย - การทำ-devแพคเกจจริงหมายถึงการสร้างแพ็คเกจและกำจัดไฟล์รวม อย่างไรก็ตามแพคเกจ Archlinux มีแพ็คเกจตามที่สร้างขึ้น (ตัวอย่างเช่นการเรียกใช้make) โดยไม่ต้องสัมผัสหลังจากนั้น มีข้อยกเว้นสำหรับกฎนี้ แต่ฉันไม่สามารถนึกคำถามที่เกี่ยวข้องกับคำถามนี้ได้
Wieland

4

หากคุณต้องการแก้ไขแหล่งที่มาของแพคเกจมาตรฐานและรวบรวมด้วยตัวคุณเองคุณควรใช้ระบบ ABS (Arch Build System) อ้างจากArch Linux Wiki :

Arch Build System, ABS สำหรับระยะสั้นเป็นระบบที่คล้ายกับพอร์ตสำหรับการสร้างและบรรจุภัณฑ์ซอฟต์แวร์จากซอร์สโค้ด ในขณะที่ pacman เป็นเครื่องมือ Arch พิเศษสำหรับการจัดการแพ็คเกจไบนารี (รวมถึงแพ็คเกจที่สร้างด้วย ABS) แต่ ABS เป็นชุดเครื่องมือสำหรับการรวบรวมแหล่งที่มาลงในแพ็คเกจ. pkg.tar.gz / .pkg.tar.xz ที่ติดตั้งได้

นี่เป็นวิธีการที่แนะนำเมื่อใช้ Arch Linux


1
คุณกำลังสับสนกับแพ็คเกจ dev ด้วย src packages src แพ็คเกจให้คุณสร้างแพ็คเกจเอง แพ็คเกจ dev ช่วยให้คุณสร้างสิ่งที่ขึ้นอยู่กับแพ็คเกจ
Matthew Marshall

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