มีทางเลือกวิธีบรรทัดคำสั่งเพื่อรับประวัติการติดตั้ง
ผู้จัดการแพคเกจapt
ดูเหมือนว่าจะเข้าสู่ระบบทุกอย่าง/var/log/apt/history.log
และ/var/log/apt/term.log
รวมถึงการแยกทุกอย่างโดย datestamps ทั้งคู่มีข้อมูลที่คล้ายกันและใช้งานได้ แต่term.log
มีทั้งความละเอียดมากขึ้นและไม่ได้ระบุอย่างชัดเจนถึงสิ่งที่ริเริ่มการดำเนินการ
บันทึกประวัติ
/var/log/apt/history.log
เก็บสรุปย่อของการapt
ทำงานแต่ละครั้ง นี่คือตัวอย่างของฉันสำหรับการติดตั้งด้วยตนเอง:
Start-Date: 2014-08-22 17:17:52
Commandline: apt-get install nautilus-dropbox
Install: nautilus-dropbox:amd64 (1.6.1-1), python-gpgme:amd64 (0.3-0ubuntu3, automatic)
End-Date: 2014-08-22 17:19:13
Commandline:
ข้อมูลบ่งชี้ว่าเรียกการทำงานและในกรณีของการติดตั้งทำโดยผู้จัดการการปรับปรุงควรมีลักษณะบางอย่างเช่น:
Commandline: aptdaemon role='role-commit-packages' sender=':1.131'
... และมีรายการแพ็กเกจของคุณเรียงลำดับตามวันที่วิธีการและการกระทำ (ติดตั้ง / อัพเกรด / ลบ) โปรดทราบว่าหากคุณต้องการส่งแพคเกจเหล่านี้กลับไปที่apt-get remove ...
:
- ในฐานะที่เป็นที่กล่าวถึงนี้อย่างสมบูรณ์เอาแพคเกจมากกว่าพวกเขาย้อนกลับ ข้อมูลในบันทึกอาจถูกนำมาใช้อย่างแน่นอนเพื่อดูแพ็คเกจที่อัพเกรด แต่การย้อนกลับเป็นเรื่องอื่น
คุณจะต้องดึงออกจากวงเล็บเนื้อหาของพวกเขาและคั่นด้วยเครื่องหมายจุลภาคจากรายการผ่านทางวิธีที่คุณต้องการการจัดการข้อความ (เช่นsed
, vim
ฯลฯ ) ดังนั้นหากฉันต้องการลบแพ็คเกจในตัวอย่างด้านบนฉันสามารถใช้บรรทัดได้โดยตรง:
sudo apt-get remove nautilus-dropbox:amd64 python-gpgme:amd64
เทอร์มินัลบันทึก
โดยทั่วไปแล้ว/var/log/apt/term.log
มีโครงสร้างที่สะดวกน้อยกว่า แต่เพื่อความสมบูรณ์คุณสามารถได้รับข้อมูลเดียวกัน เทอร์มินัลเอาต์พุตถูกคั่นด้วยการประทับเวลาอีกครั้งและการติดตั้งแพคเกจสามารถรับได้จากบรรทัดของแบบฟอร์มต่อไปนี้:
Selecting previously unselected package nautilus-dropbox.
ต่อไปนี้เป็นวิธีหนึ่งในการพิมพ์รายการแพ็คเกจที่ติดตั้งไปยังเทอร์มินัลสำหรับบันทึกทั้งหมด:
$ awk '/^Selecting/ {gsub(/\./,""); print $5}' /var/log/apt/term.log
สิ่งนี้สามารถปรับหรือขยายเพื่อรับการติดตั้งในช่วงวันที่
apt-get remove
sed 's/ ([^)]*)//g' | sed 's/,//g')