หลังจากขุดเพิ่มเติมฉันก็คิดออก
TL;ดร
พิน: ปล่อย X=Y
กรองฟิลด์ของไฟล์ Release โดยใช้เครื่องหมายชวเลข ในไฟล์เผยแพร่ เวอร์ชันควรเป็นเวอร์ชันของ ปล่อย. เช่น) สำหรับ Debian bullseye ที่คุณมี พิน: ปล่อย v=11
หรือสำหรับ Ubuntu Jammy ที่คุณสามารถทำได้ พิน: ปล่อย v=22.04
. ต้นทางควรเป็นชื่อผู้แต่งหรือผู้ขาย เช่น.) พิน: ปล่อย o=LP-PPA-mozillateam
.
ขา: รุ่น X
กรองตามเวอร์ชันแพ็คเกจ เช่น.) พิน: รุ่น 1:91
.
พิน: origin X
กรองตามชื่อโฮสต์ เช่น.) พิน: ต้นทาง ppa.launchpad.net
.
ปล่อยไฟล์
ใน การกำหนดเวอร์ชันแพ็คเกจและคุณสมบัติการแจกจ่าย
ส่วนของ ผู้ชาย apt_preferences
เราพบสิ่งนี้
ตำแหน่งที่แสดงอยู่ในไฟล์ source.list(5) ควรมีไฟล์ Packages และ Release เพื่ออธิบายแพ็คเกจที่มีอยู่ในตำแหน่งนั้น
ดังนั้นแต่ละสถานที่ (ซึ่งมีที่มา) จึงมี ปล่อยไฟล์ สำหรับแต่ละรุ่นที่มีอยู่ในลิงก์นั้น เราเห็นว่าไฟล์เผยแพร่ถูกโฮสต์ไว้ที่ dists/$DIST/ในรีลีส
.
ในเครื่องของฉันเรามี
นโยบาย $ apt-cache
500 http://ppa.launchpad.net/mozillateam/ppa/ubuntu jammy/main แพ็คเกจ amd64
รีลีส v=22.04,o=LP-PPA-mozillateam,a=jammy,n=jammy,l=Firefox ESR และ Thunderbird รุ่นเสถียร,c=main,b=amd64
ที่มา ppa.launchpad.net
ที่นี่ คุณจะเห็นว่าเครื่องของฉันกำลังใช้ แจมมี่
ปล่อย. ดังนั้นไฟล์เผยแพร่ที่เกี่ยวข้องจึงอยู่ที่ dists/jammy/InRelease
. สิ่งนี้ให้ไฟล์นี้แก่เราที่นี่: http://ppa.launchpad.net/mozillateam/ppa/ubuntu/dists/jammy/InRelease.
ไฟล์รีลีสนั้นสร้างขึ้นโดยบุคคลที่โฮสต์พื้นที่เก็บข้อมูลและมีข้อมูลเมตาเกี่ยวกับการแจกจ่าย ข้อมูลบางอย่างเป็นตัวเลือก และบางอย่างไม่ใช่ ฟิลด์ที่ไม่บังคับบางฟิลด์ประกอบด้วย:
- ต้นทาง
- ฉลาก
- รุ่น
- ห้องชุด
- รหัสชื่อ
และบางฟิลด์ที่ไม่บังคับรวมถึง:
นี่คือสิ่งที่คุณกรองเมื่อคุณระบุ พิน: ปล่อย X=
ในไฟล์การตั้งค่าของคุณ นอกจากนี้ยังมีคำอธิบายเมื่อคุณเรียกใช้ นโยบาย apt-cache
. ในตัวอย่างข้างต้น เรามี:
- ต้นทาง:
o=LP-PPA-mozillateam
- ฉลาก:
l=ไฟร์ฟอกซ์ ESR
- รุ่น:
v=22.04
- ห้องสวีท:
a=แจมมี่
- รหัสชื่อ:
n=แจมมี่
- ส่วนประกอบ:
ค=หลัก
หมายเหตุ: ฉันไม่พบสิ่งใดใน man page ที่เกี่ยวข้องกับ ข=
ฟิลด์ในเอาต์พุตของ นโยบาย apt-cache
สั่งการ.
ต้นทาง
นอกจากข้อมูลข้างต้นในไฟล์เผยแพร่แล้ว สถานที่ยังมีจุดกำเนิดอีกด้วย นี้ยังรวมอยู่ในผลลัพธ์ของ นโยบาย apt-cache
สั่งการ. อย่างที่คุณเห็นตัวอย่างด้านบนก็เป็นได้ ppa.launchpad.net
.
นี่คือสิ่งที่คุณกรองเมื่อคุณรวม พิน: origin X
ในไฟล์การตั้งค่าของคุณ
ใน ผลกระทบของการตั้งค่า APT
ส่วนของ man page มีประโยคที่เป็นประโยชน์ดังนี้
ไม่ควรสับสนกับที่มาของการแจกจ่ายตามที่ระบุในไฟล์ Releaseสิ่งที่ตามหลังแท็ก "Origin:" ในไฟล์ Release ไม่ใช่ที่อยู่อินเทอร์เน็ต แต่เป็นชื่อผู้เขียนหรือผู้ขาย เช่น "Debian" หรือ "Ximian"
รุ่น
กลับไป การกำหนดเวอร์ชันแพ็คเกจและคุณสมบัติการแจกจ่าย
ส่วนของหน้าคน
ดังได้กล่าวมาแล้วว่า
ตำแหน่งที่แสดงอยู่ในไฟล์ source.list(5) ควรมีไฟล์ Packages และ Release เพื่ออธิบายแพ็คเกจที่มีอยู่ในตำแหน่งนั้น
เช่นเดียวกับไฟล์รีลีสนี้ เรายังมีไฟล์แพ็คเกจด้วย หน้าคนกล่าวต่อไปว่า:
มีเพียงสองบรรทัดในแต่ละบันทึก [ของไฟล์แพ็คเกจ] เท่านั้นที่เกี่ยวข้องกับการตั้งค่าลำดับความสำคัญ APT:
แพคเกจ: สาย
    ระบุชื่อแพ็คเกจ
เวอร์ชัน: line
   ระบุหมายเลขเวอร์ชันสำหรับแพ็คเกจที่มีชื่อ
สิ่งนี้แตกต่างจากที่ระบุไว้สำหรับฟิลด์เวอร์ชันของ ปล่อย ไฟล์ที่มันบอกว่า
เวอร์ชัน: line
   ตั้งชื่อรุ่นที่วางจำหน่าย ตัวอย่างเช่น แพ็กเกจในแผนผังอาจเป็นของ Debian เวอร์ชัน 11
หากเราพบหนึ่งในไฟล์แพ็คเกจเหล่านี้ เราจะเห็นสิ่งนี้ สำหรับแพ็คเกจด้านบน สำหรับสถาปัตยกรรมของฉัน อยู่ที่นี่: http://ppa.launchpad.net/mozillateam/ppa/ubuntu/dists/jammy/main/binary-amd64/Packages.xz
ภายในไฟล์เก็บถาวรที่บีบอัดนั้น เรามีไฟล์ แพ็คเกจ
ไฟล์ที่มีรายการแพ็คเกจทั้งหมดที่มีอยู่และเวอร์ชัน (และข้อมูลอื่น ๆ อีกมากมาย) นี่เป็นส่วนหนึ่งของหนึ่งในหลาย ๆ แพ็คเกจที่มีอยู่:
แพ็คเกจ: ธันเดอร์เบิร์ด
ลำดับความสำคัญ: ไม่บังคับ
ส่วน: จดหมาย
ขนาดที่ติดตั้ง: 227239
ผู้ดูแล: ทีม Ubuntu Mozilla <[email protected]>
สถาปัตยกรรม: amd64
เวอร์ชัน: 1:91.5.1+build1-0ubuntu1
รุ่นนี้เป็นสิ่งที่คุณเหมาะสมกว่าเมื่อคุณรวม ขา: รุ่น X
ในไฟล์การตั้งค่าของคุณ
หากคุณวิ่ง นโยบาย apt-cache
ในแพ็คเกจเฉพาะ คุณสามารถดูเวอร์ชันที่มีสำหรับแพ็คเกจนั้น
ธันเดอร์เบิร์ดนโยบาย $ apt-cache
ธันเดอร์เบิร์ด:
ติดตั้งแล้ว: 1:78.14.0-1~deb11u1
ผู้สมัคร: 1:78.14.0-1~deb11u1
ตารางเวอร์ชัน:
1:91.5.1+build1-0ubuntu1 500
500 http://ppa.launchpad.net/mozillateam/ppa/ubuntu jammy/main แพ็คเกจ amd64
1:91.5.1-1+b2 10
10 http://ftp.us.debian.org/debian unstable/main แพ็คเกจ amd64
1:91.5.0-2~deb11u1 500
500 http://security.debian.org/debian-security bullseye-security/main แพ็คเกจ amd64
*** 1:78.14.0-1~deb11u1 900
900 http://deb.debian.org/debian bullseye/main แพ็คเกจ amd64
100 /var/lib/dpkg/สถานะ
ความสับสนกับเวอร์ชัน
ปรากฏว่าเวอร์ชันที่ระบุในไฟล์เผยแพร่ดูเหมือนจะไม่ถูกต้องเสมอไป ตัวอย่างเช่น สำหรับ Google Chrome เรามีสิ่งนี้:
นโยบาย $ apt-cache
900 http://dl.google.com/linux/chrome/deb เสถียร/หลัก แพ็คเกจ amd64
เผยแพร่ v=1.0,o=Google LLC,a=เสถียร,n=เสถียร,l=Google,c=main,b=amd64
ที่มา dl.google.co.th
ฉันไม่แน่ใจว่าเวอร์ชันนี้ควรจะแสดงถึงอะไร เนื่องจากไม่ตรงกับเวอร์ชันในไฟล์แพ็คเกจ:
$ grep "Package\|เวอร์ชัน" /var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages
แพ็คเกจ: google-chrome-เบต้า
เวอร์ชัน: 99.0.4844.17-1
แพ็คเกจ: google-chrome-เสถียร
เวอร์ชัน: 98.0.4758.80-1
แพ็คเกจ: google-chrome-ไม่เสถียร
เวอร์ชัน: 100.0.4867.0-1