โครงสร้างของที่เก็บ Ubuntu คืออะไร?


29

ไฟล์ในที่เก็บ Ubuntu เป็นอย่างไร? ไฟล์สำคัญในที่เก็บคืออะไร? จะเกิดอะไรขึ้นเมื่อที่เก็บข้อมูลไม่สอดคล้องแตกหักหรือซิงค์กัน

คำตอบ:


19

ตามบรรทัด deb ในแหล่งที่มา apt ของคุณ apt จะดึงข้อมูล:

จะตรวจสอบว่า Release.gpg เป็นลายเซ็นที่ถูกต้องสำหรับไฟล์ Release และถ้าเนื้อหา Packages.gz ตรงกับการตรวจสอบความสมบูรณ์ที่มีอยู่ในไฟล์ Release หากมีความไม่ตรงกันจะมีการรายงานความล้มเหลวของลายเซ็นของที่เก็บข้อมูล

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

คำถามสุดท้ายของคุณไม่เกี่ยวกับโครงสร้างมิเรอร์ต่อ se แต่เป็นเรื่องเกี่ยวกับการซิงโครไนซ์มิเรอร์ซึ่งขึ้นอยู่กับกระบวนการมิเรอร์ สามารถซิงโครไนซ์โดยใช้ตำแหน่งชั่วคราวโดยไม่ทำลายความสมบูรณ์ของการเก็บถาวรระหว่างการซิงค์ ฉันไม่แน่ใจว่า Ubuntu ทั้งหมดทำเช่นนั้นหรือไม่


น่าเสียดายที่ลิงก์เสีย
น้ำเงิน

พวกเขาจะไม่แตกพวกเขาเป็นเพียงแม่แบบคุณจะต้องแทนที่ "ปล่อย" "ส่วนประกอบ", ไบนารี - "ฯลฯ ซึ่งเป็นเขตข้อมูลแบบไดนามิก
João Pinto

18

Joao ตอบคำถามครึ่งหลังของฉันดังนั้นฉันจึงตรวจสอบครึ่งแรกด้วยตัวเอง ที่ระดับรูทมีสี่ไดเร็กทอรีและหนึ่งไฟล์

root
| -- dists
| -- pool
| -- indices
| -- project
| -- ls-lr.gz

(ใน repo วิทยาลัยของฉันมีเพียงสองรายการแรกอยู่ที่นั่นดังนั้น 3 รายการสุดท้ายดูเหมือนจะไม่จำเป็นสำหรับการทำงานของ repo)

ไฟล์ls-lr.gzมีเอาต์พุตของls -lrคำสั่งที่รันบนไดเร็กทอรี root ของที่เก็บ

distsไดเรกทอรีดูเหมือนว่าจะมีมากที่สุดของเมตารวมทั้งไฟล์ packages.gz (ซึ่งมีรายชื่อของแพคเกจ) และ Release.gpg / วางจำหน่ายซึ่งลงนามในแพคเกจ (ขอบคุณ Joao สำหรับข้อมูล)

poolไดเรกทอรีประกอบด้วยแฟ้ม .deb ที่เกิดขึ้นจริง /pool/[section]/[letter]/[group]/packagename.debองค์กรคือ ดังนั้นตำแหน่งที่แท้จริงของแพ็กเกจ python-subversion คือ/pool/main/s/subversion/python-subversion_1.3.2-3ubuntu2%7edapper1_amd64.debเนื่องจาก subversion เป็นกลุ่มของแพ็กเกจ python-subversion และ s เป็นตัวอักษรตัวแรกของการโค่นล้ม

projectsไดเรกทอรีดูเหมือนว่าจะมีไม่กี่ไฟล์รายละเอียดว่ากระจกถูกซิงค์กับ repo เดิม

indicesไดเรกทอรีมีไฟล์จำนวนมากที่สุดของพวกเขาว่างเปล่า ไฟล์ที่ไม่ว่างเปล่าดูเหมือนจะให้ข้อมูลเมตาเพิ่มเติมสำหรับแพคเกจ

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