apt-cache dump --installed
ไม่ทำงานมันแสดงรายการแพ็คเกจที่ถอนการติดตั้งเช่นกัน
ฉันต้องการแสดงรายการแพ็คเกจการติดตั้งแต่ละบรรทัดโดยมีหมายเลขเวอร์ชันที่ติดตั้งไว้
apt-cache dump --installed
ไม่ทำงานมันแสดงรายการแพ็คเกจที่ถอนการติดตั้งเช่นกัน
ฉันต้องการแสดงรายการแพ็คเกจการติดตั้งแต่ละบรรทัดโดยมีหมายเลขเวอร์ชันที่ติดตั้งไว้
คำตอบ:
ลอง dpkg -l
มันจะแสดงรายการแพ็คเกจเวอร์ชันและคำอธิบายสั้น ๆ ให้คุณ
apt-show-versions
uptotdate
วิธีที่ง่ายที่สุดคือการใช้dpkg
แต่อาจแสดงแพ็กเกจที่ไม่เกี่ยวข้องจำนวนหนึ่งและจะตัดชื่อแพ็กเกจแบบยาวและหมายเลขเวอร์ชัน:
dpkg -l
ในการแสดงรายการแพ็คเกจที่ติดตั้งอย่างถูกต้องเท่านั้นและไม่ตัดทอนชื่อ:
dpkg -l | grep '^ii'
เพื่อให้สามารถควบคุมรูปแบบผลลัพธ์ได้มากขึ้นคุณสามารถใช้dpkg-query
:
dpkg-query -W -f '${status} ${package} ${version}\n' | \
sed -n 's/^install ok installed //p'
คำสั่งอื่น ๆ สามารถ:
apt-show-versions
นอกจากนี้ยังให้ข้อมูลเกี่ยวกับสถานะของแพ็กเกจ (ทันสมัย, อัปเกรดได้, ... ) และเกี่ยวกับการกระจายดั้งเดิม (wheezy, jessie, ... ) หนึ่งสามารถกรองแพคเกจที่มาจาก backport หรือที่เก็บแปลกใหม่อื่น ๆ
โปรแกรมนี้บรรจุแยกกัน ติดตั้งครั้งแรกด้วย:
apt-get install apt-show-versions
apt-mark showmanual
สิ่งนี้จะช่วยให้คุณมีวิธีที่ดีและง่ายในการเรียกคืนแพ็คเกจทั้งหมดที่ติดตั้งด้วยตนเองดูคำตอบ Askubuntu นี้ได้ apt-mark showmanual > /tmp/versions && apt-show-versions | grep -f /tmp/versions
คำสั่งต่อไปนี้แสดงรายการแพ็กเกจที่มีเวอร์ชันและยังให้คุณตั้งค่าระบบด้วยแพ็กเกจและเวอร์ชันเดียวกันในภายหลังโดยใช้pkg-selections.txt
ไฟล์ที่สร้างขึ้นที่นี่:
aptitude -q -F "%?p=%?V %M" --disable-columns search \~i > pkg-selections.txt
แต่ละบรรทัดจะมีชื่อแพ็คเกจเวอร์ชั่นและตัวเลือก "A" หากมีการติดตั้งแพ็คเกจโดยอัตโนมัติ
ที่มา: " การโคลนระบบ Debian - แพ็คเกจและเวอร์ชันที่เหมือนกัน " pkg-selections.txt
นอกจากนี้ยังมีสคริปต์ที่กำหนดค่าระบบจาก
ในการแสดงชื่อของแต่ละแพ็คเกจที่ติดตั้งให้พิมพ์เป็นผู้ใช้ใด ๆ :
dpkg --get-selections
คุณจะได้ผลลัพธ์ดังนี้:
accountsservice install
aclinstall install
acpi-supportinstall install
acpidinstall install
...
ในการลบสตริงอักขระ "install" ที่ไม่จำเป็นคุณสามารถใช้sed :
dpkg --get-selections | sed 's:install$::'
และถ้าคุณไม่ต้องการบันทึกลงในไฟล์ชื่อInstalledPackagesคุณพิมพ์สิ่งนี้:
dpkg --get-selections | sed 's:install$::' > InstalledPackages
หากคุณไม่สามารถเข้าถึงระบบที่ใช้งานจริงและมีการสำรองข้อมูลของ/
พาร์ติชันรากคุณสามารถ:
root@backup_server /mnt/old_root/var/lib/dpkg/info # ls -la *.list | awk {'print $9'}| sed 's/.list//' >> /root/installed_app
ตอนนี้/root/installed_app
มีแพ็คเกจที่ติดตั้งทั้งหมด!