มาตรฐานสำหรับการตั้งชื่อไฟล์ deb คืออะไร?


10

ฉันต้องการค้นหามาตรฐานสำหรับชื่อไฟล์ deb foo_1.0.0-1_all.debเช่นฉันมีไฟล์ที่มีชื่อ ตามที่ฉันพบในคำถามที่พบบ่อย Debianมีการประชุมดังกล่าว:

<foo>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb

แต่นี่ไม่ใช่มาตรฐาน มันไม่ได้ตอบคำถามมากมาย ตัวอย่างเช่น: นานเท่าไหร่สามารถ? ตัวละครที่ได้รับอนุญาตคืออะไร? สิ่งที่มีค่าสามารถอยู่ใน?

มีรายละเอียดมาตรฐานที่อธิบายชื่อไฟล์ deb หรือไม่?


คำตอบ:


5

ดีที่คุณกล่าวว่าชื่อfoo_VVV-RRR_AAA.debสำหรับไฟล์ deb เป็นเพียงการประชุมสำหรับการตั้งชื่อ.debไฟล์ที่VVV, RRRและเป็นรุ่นที่แก้ไขและสถาปัตยกรรมของแพคเกจAAAfoo

นอกจากนี้การประชุมนี้เป็นข้อเสนอแนะ (บอก) เมื่อมีการสร้างแพคเกจที่มีdebuildหรือGit-buildpackage

หากคุณเห็นด้วยกับข้อตกลงนี้ก็โอเคถ้าไม่คุณสามารถเปลี่ยนชื่อ.debไฟล์ได้ตามที่คุณต้องการแต่เพียงทำตามกฎเหล่านี้ (ในกรณีนี้คุณอาจต้องเรียกใช้dpkg --info <deb_file>เพื่อค้นหาข้อมูลแบบง่าย ๆ สำหรับชื่อไฟล์ deb)

ตอนนี้คุณสามารถอ่านได้ที่Filename - Wikipedia :

ไม่มีมาตรฐานการเข้ารหัสทั่วไปสำหรับชื่อไฟล์

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

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

ดังนั้นหากไม่มีมาตรฐานสำหรับชื่อไฟล์โดยทั่วไปฉันเกือบจะแน่ใจว่าไม่มีมาตรฐานพิเศษสำหรับ.debชื่อไฟล์ หรือถ้าคุณยังคงสับสนใช้เวลาการประชุมเป็นมาตรฐานและทำตามกฎเหล่านี้


0

นี่คือความคิดบางอย่างเกี่ยวกับการตั้งชื่อแบบแผน:

หากคุณใช้ Debian เป็นระยะเวลาหนึ่งคุณอาจสังเกตเห็นว่าไฟล์แพคเกจ Debian ทั้งหมดปฏิบัติตามอนุสัญญาการตั้งชื่อที่แน่นอน แพ็คเกจไบนารีเดเบียนทั้งหมดควรมีชื่อไฟล์ที่เป็นไปตามรูปแบบนี้: packagename_version_arch.deb โดยที่ "packagename" เป็นชื่อของแพคเกจ "version" เป็นเวอร์ชันแพคเกจที่มีหมายเลขหลักรองและหมายเลขการแก้ไขและ "arch" เป็น สถาปัตยกรรมสำหรับแพคเกจ < .. >

จากIBM.com

ถึงแม้คนหนึ่งนี้สำหรับรอบต่อนาทีจะมีการประชุมที่ดีตั้งชื่อสวยเช่นกัน: ชื่อ - รุ่น - ปล่อย สถาปัตยกรรม . รอบต่อนาที

ที่อยู่:

  • nameคือชื่อที่อธิบายถึงซอฟต์แวร์สำเร็จรูป

  • versionเป็นเวอร์ชันของซอฟต์แวร์สำเร็จรูป

  • รุ่นคือจำนวนครั้งที่ซอฟต์แวร์รุ่นนี้ได้รับการบรรจุ

  • สถาปัตยกรรมเป็นชื่อชวเลขและอธิบายประเภทของฮาร์ดแวร์คอมพิวเตอร์ที่ซอฟต์แวร์สำเร็จรูปทำขึ้นเพื่อใช้งาน มันอาจเป็นสตริง src หรือ nosrc สตริงทั้งสองนี้ระบุว่าไฟล์เป็นแพ็กเกจแหล่ง RPM สตริง nosrc หมายความว่าไฟล์มีเฉพาะไฟล์สร้างแพ็คเกจในขณะที่สตริง src หมายถึงไฟล์มีไฟล์สร้างแพ็กเกจที่จำเป็นและซอร์สโค้ดของซอฟต์แวร์

จากRPM.org

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