Score:3

apt repository ทำงานอย่างไรเพื่อค้นหาแพ็คเกจที่มีอยู่

ธง ro

ตัวอย่างเช่นฉันมี apt ubuntu (21.10) ที่เก็บ สำหรับ postgres ในไฟล์ source.list.d:

deb http://apt.postgresql.org/pub/repos/apt/ impish-pgdg หลัก 13

ซึ่งส่งผลให้ apt-รับการปรับปรุง เพื่อดึงข้อมูล:

เข้าชม:4 http://apt.postgresql.org/pub/repos/apt impish-pgdg InRelease
รับ: 5 http://apt.postgresql.org/pub/repos/apt impish-pgdg/main amd64 แพ็คเกจ [247 kB]

ตามค่าเริ่มต้น แพ็คเกจที่แสดง เช่น ผ่าน นโยบาย apt-cache postgresql-plpython3-13 แสดงเฉพาะเวอร์ชันรองล่าสุดของแพ็คเกจนั้น (= 13.5):

postgresql-plpython3-13:
  ติดตั้ง: (ไม่มี)
  ตัวเต็ง: 13.5-1.pgdg100+1
  ตารางเวอร์ชัน:
     13.5-1.pgdg100+1 500
        500 http://apt.postgresql.org/pub/repos/apt impish-pgdg/main แพ็คเกจ amd64

ฉันมองลึกเข้าไปในโครงสร้างที่เก็บและพบเวอร์ชันย่อยที่เก่ากว่าหลายเวอร์ชันสำหรับแพ็คเกจเหล่านั้นที่อยู่ใน: http://apt.postgresql.org/pub/repos/apt/pool/main/p/postgresql-13/

โครงสร้างไดเร็กทอรีส่วนหนึ่งมีลักษณะดังนี้:

dists/
  impish-pgdg/
  (...)
    13/
    หลัก/
    ในการเปิดตัว
    ปล่อย
    (...)
สระน้ำ/
  หลัก/
    หน้า/
    (...)
      postgresql-13/
      (...)
        postgresql-plpython3-13_13.5-1.pgdg100%2B1_amd64.deb
        (...)
  • คำถาม: อัลกอริทึมที่ apt ค้นหาแพ็คเกจเป็นอย่างไร ฉันจะบอก apt หรือกำหนดค่ารายการซอร์สของฉันให้แสดง/จดจำเวอร์ชันย่อยทั้งหมดของแพ็คเกจที่มีอยู่ในที่เก็บได้อย่างไร

ตัวอย่างเช่นแพ็คเกจด้านบนในรุ่น 13.1, ไม่ 13.5?

Score:1
ธง zw

APT สแกนครั้งแรกจริงๆ ความแตกต่าง โฟลเดอร์ ในกรณีของคุณก็คือ http://apt.postgresql.org/pub/repos/apt/dists/impish-pgdg/ .

มันดึงข้อมูล ในการเปิดตัว เพื่อกำหนดส่วนประกอบที่มี:

ส่วนประกอบ: หลัก 9.6 10 11 12 13 14

ดังนั้นคุณจะได้รับแพ็คเกจที่กำหนดไว้ใน แพ็คเกจ ไฟล์ของ หลัก, 9.6, 10, 11, 12, 13, 14 รุ่น

เดอะ ไฟล์แพ็คเกจสำหรับ 13 มีฟิลด์ทั้งหมด:

เวอร์ชัน: 13.5-1.pgdg21.10+1

นี่คือเหตุผลที่ 13.5 พร้อมใช้งานจาก หลัก 13 source.list ไลน์.

FireEmerald avatar
ro flag
ซึ่งหมายความว่าไม่มีทางรับเวอร์ชันอื่น (เก่ากว่า) จากไดเร็กทอรีย่อยภายใน `pool` ที่จะแสดงรายการโดย apt เมื่อเวอร์ชันเหล่านี้ไม่ได้เป็นส่วนหนึ่งของไฟล์ _Packages_
N0rbert avatar
zw flag
ใช่ นี่คือวิธีการทำงาน ดูรายละเอียดที่ https://wiki.debian.org/DebianRepository/Format

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา