จะรับชื่อผู้จำหน่ายของแพ็คเกจ linux ที่ใช้ debian ได้อย่างไร?

Aug 20 2020

การกระจาย Linux ที่ใช้ rpm ให้ชื่อผู้ขายเช่น:

rpm -qi nano
<other info>
Vendor: CentOS
<other info>

ฉันจะรับชื่อผู้จำหน่ายสำหรับแพ็คเกจในการแจกจ่ายตาม Debian ได้อย่างไร ลองแล้ว:

dpkg -l
apt list
apt show <package name>

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

คำตอบ

2 StephenKitt Aug 20 2020 at 19:37

.debแพ็คเกจไม่ติดตามผู้ขายต่อแพ็คเกจ สิ่งที่ใกล้เคียงที่สุดคือฟิลด์ "Origin" ของReleaseไฟล์ที่อธิบายถึงที่เก็บซึ่งสามารถดาวน์โหลดแพ็กเกจได้

หากต้องการทราบสิ่งนี้ให้เริ่มต้นด้วยapt show:

$ apt show ... | grep APT-Sources:
APT-Sources: http://deb.debian.org/debian buster/main amd64 Packages

จากนั้นมองหาReleaseไฟล์ที่เกี่ยวข้องใน/var/lib/apt/lists:

$ ls /var/lib/apt/lists/deb.debian.org_debian_dists_buster_*Release
/var/lib/apt/lists/deb.debian.org_debian_dists_buster_InRelease

สุดท้ายมองหา“ Origin” ที่นั่น:

$ grep Origin: /var/lib/apt/lists/deb.debian.org_debian_dists_buster_InRelease
Origin: Debian
ArtemS.Tashkinov Aug 20 2020 at 18:42

ผู้ดูแลระบบ Debian / Ubuntu ไม่บันทึกข้อมูลนี้ apt-cache show packagenameแสดงข้อมูลที่เทียบได้กับrpm -qiแต่ไม่มีข้อมูลใดVendorๆ เท่านั้นMaintainerซึ่งไม่ใช่สิ่งที่คุณกำลังมองหา