ดูเหมือนจะไม่มีการบันทึกที่มาของแพ็คเกจที่ ติดตั้ง
apt-cache policy
หากคุณเป็นดีกับสถานที่ได้รับมาจากไหนแพคเกจที่มีชื่อเดียวกันจะได้รับการดาวน์โหลดจากนี้สามารถใช้ได้ผ่าน
สคริปต์ต่อไปนี้ (ค่อนข้างน่าเกลียด) ทำเคล็ดลับสำหรับฉัน:
LC_ALL=C dpkg-query --showformat='${Package}:${Status}\n' -W '*' \
| fgrep ':install ok installed' \
| cut -d: -f1 \
| (while read pkg; do
inst_version=$(apt-cache policy $pkg \
| fgrep Installed: \
| awk '{ print $2 }');
origin=$(apt-cache policy "$pkg" \
| fgrep " *** ${inst_version}" -C1 \
| tail -n 1 \
| cut -c12-);
echo $pkg $origin;
done)
โปรดทราบว่ามันค่อนข้างบอบบางเนื่องจากมีข้อสมมติฐานเกี่ยวกับผลลัพธ์ของapt-cache policy
ซึ่งอาจเปลี่ยนแปลงได้ในเวอร์ชัน ...