อย่างที่ฉันเข้าใจ
ส่วนในวงเล็บคือข้อมูลเฉพาะของผู้ขาย Ubuntu บอกคุณว่านี่คือรุ่น gcc ของ Ubuntu และสตริงหลังจากนั้นคือเวอร์ชันแพ็คเกจ
เวอร์ชันแพ็คเกจถูกแบ่งออกเป็นสองส่วนด้วยยัติภังค์ (หากมียัติภังค์มากกว่าหนึ่งตัว ยัติภังค์ตัวสุดท้ายจะถูกใช้สำหรับการแยก) "เวอร์ชันอัปสตรีม" และ "การแก้ไขเดเบียน" (ในบางกรณีอาจมีช่วงเวลาด้วย) "เวอร์ชันอัปสตรีม" อาจเป็นหมายเลขเวอร์ชันตามตัวอักษรที่ใช้อัปสตรีมหรืออาจมีตัวบ่งชี้อื่นๆ เช่น +dfsg เพื่อระบุว่าไฟล์ที่ไม่ฟรีถูกแยกออกจาก tarball orig หรือ +git เพื่อระบุว่าสิ่งที่บรรจุอยู่นั้นเป็นจริง ภาพรวมคอมไพล์
ในกรณีนี้ "เวอร์ชันอัปสตรีม" คือ "7.5.0" (เหมือนกับเวอร์ชันอัพสตรีมตามตัวอักษร) และ "การแก้ไข Debian" คือ "3ubuntu1~18.04"
การเปลี่ยนแปลงใน "การแก้ไข Debian" ระบุการเปลี่ยนแปลงใน Debian หรืออนุพันธ์ที่ไม่เปลี่ยนเนื้อหาของ tarball ต้นน้ำ มีหลักการพื้นฐานบางประการในการกำหนดหมายเลขเวอร์ชัน
- ในขอบเขตที่เป็นไปได้ควรระบุเวอร์ชันของแพ็คเกจโดยไม่ซ้ำกัน เห็นได้ชัดว่าสิ่งนี้ไม่สามารถรับประกันได้ 100% เมื่อมีคนสร้างแพ็คเกจหลายคน แต่มีวิธีปฏิบัติที่เป็นที่ยอมรับโดยทั่วไปว่าอนุพันธ์ควรมี "แท็ก" ที่ไม่ซ้ำกันในหมายเลขเวอร์ชันที่กำหนด
- เมื่อมีการอัปเดตรุ่น หมายเลขเวอร์ชันจะต้องเพิ่มขึ้น (ตามกฎการเปรียบเทียบ) เพื่อให้ผู้ใช้ได้รับการอัปเกรดจริง
- เมื่อแพ็คเกจอยู่ใน distro หลายรีลีส เวอร์ชันในรีลีสที่ใหม่กว่าจะต้องสูงกว่าในรีลีสที่เก่ากว่า เพื่อให้ผู้ใช้ที่อัปเกรดระบบได้รับเวอร์ชันที่ถูกต้อง
- ควรมีความหมายสำหรับผู้ใช้
อักขระตัวหนอนในหมายเลขเวอร์ชันเป็นแบบพิเศษ ในอัลกอริทึมการเปรียบเทียบเวอร์ชันจะเปรียบเทียบต่ำกว่าสตริงว่าง นั่นคือ "1.2.3-2~foo" < "1.2.3-2" < "1.2.3-2foo" มักใช้เมื่อแบ็คพอร์ตแพ็กเกจไปยังรีลีสก่อนหน้า นอกจากนี้ยังใช้เพื่อแสดงเวอร์ชันก่อนรีลีสด้วย
ตอนนี้มาแบ่ง "Debian revision" ของแพ็คเกจนี้กันดีกว่า
- "3" คือการแก้ไขจาก Debian เอง ซึ่งบ่งชี้ว่าแพ็คเกจ Debian แพ็คเกจ Ubuntu นี้มีพื้นฐานมาจากการแก้ไขครั้งที่สามที่พวกเขาทำกับแพ็คเกจสำหรับ 7.5.0
- "ubuntu1" ระบุว่าแพ็คเกจนี้ได้รับการแก้ไขโดย Ubuntu
- ~ โดยทั่วไประบุว่านี่เป็น backport บางอย่าง
- 18.04 ดูเหมือนว่าจะระบุว่าแพ็คเกจนี้ได้รับการแบ็คพอร์ตไปยังรุ่นใด สิ่งนี้ปรากฏขึ้นจากสิ่งที่ฉันสามารถบอกได้ว่าเป็นการใช้งานแบบเฉพาะกิจ มีมาตรฐานสำหรับการกำหนดเวอร์ชันของแบ็คพอร์ตที่อัปโหลดไปยังที่เก็บแบ็คพอร์ต แต่แบ็คพอร์ตนี้ได้รับการเผยแพร่เป็นการอัปเดตที่เสถียรไม่ผ่านที่เก็บแบ็คพอร์ต กระบวนการอัปเดตที่เสถียรดูเหมือนจะไม่บังคับรูปแบบการกำหนดเวอร์ชันเฉพาะ แต่แนะนำให้ใช้จากกระบวนการอัปเดตความปลอดภัย แต่ดูเหมือนจะไม่ครอบคลุมกรณีของแพ็คเกจแบ็คพอร์ต