dpkg - ตัวเลือกเลือกแสดงแพ็คเกจที่มีเครื่องหมาย“ deinstall”


39

การดำเนินการdpkg --get-selectionsแพคเกจการแสดงกับหนึ่งในเครื่องหมายหรือinstalldeinstall

apt-get removeแพคเกจบางอย่างที่ฉันสามารถลบสมบูรณ์ด้วย

  1. อะไรdeinstallหมายถึง?

  2. สิ่งที่สามารถทำได้เพื่อให้แพคเกจที่ทำเครื่องหมายdeinstallไม่ได้อยู่ในรายการdpkg --get-selectionsอีกต่อไป?

คำตอบ:


17

"ยกเลิกการติดตั้ง" หมายความว่าอย่างไร

จากmanpage ของdpkgวิธีนี้

แพ็คเกจถูกเลือกสำหรับการถอนการติดตั้งหรือลบออก (เช่นเราต้องการลบไฟล์ทั้งหมดยกเว้นไฟล์กำหนดค่า)

คุณถามด้วย

สิ่งที่สามารถทำได้เพื่อให้แพคเกจที่ระบุว่า "deinstall" ไม่ได้อยู่ในรายการโดย "dpkg --get-selections" อีกต่อไป?

มีสองวิธีที่คุณสามารถทำได้เพื่อไม่ให้แสดงรายการในdpkg --get-selectionsคำสั่ง

1. ยกเลิกการเลือกแพ็คเกจเพื่อลบ

คุณสามารถยกเลิกการเลือกแพ็คเกจซึ่งถูกเลือกเพื่อลบออก ด้วยวิธีนี้dpkg --get-selectionจะไม่แสดงรายการ "ยกเลิกการติดตั้ง"

ดูคำตอบนี้สำหรับขั้นตอนที่แน่นอนในการทำเช่นนี้

2. คุณสามารถทำงานที่เลือกได้จริงเช่นลบการติดตั้ง

ไม่แนะนำถ้าคุณทำdpkg --clear-selectionsโดยบังเอิญซึ่งทำเครื่องหมายแพคเกจทั้งหมดว่า "ยกเลิกการติดตั้ง" ยกเว้นสิ่งจำเป็นอย่างหนึ่ง(ที่นี่สิ่งจำเป็นไม่ได้หมายความว่าคุณสามารถมีระบบได้โดยไม่ต้องใช้ซอฟต์แวร์ใด ๆ โดยไม่จำเป็นจำเป็นต้องบูตเท่านั้น มีระบบลินุกซ์ในระดับต่ำมาก)

คำสั่งในการทำงานที่ต้องการที่เลือกคือ:

sudo apt-get dselect-upgrade

หวังว่านี่จะตอบคำถามของคุณ


สำหรับข้อมูลเพิ่มเติมคุณสามารถตรวจสอบลิงค์เหล่านี้ได้


2
คุณเขียน "ถูกเลือกสำหรับการถอนการติดตั้งหรือลบออก (เช่นเราต้องการลบไฟล์ทั้งหมดยกเว้นไฟล์การกำหนดค่า)" ฉัน ("เรา") เลือกยังไงดี จะเกิดอะไรขึ้นเมื่อฉัน "apt-get remove ... "? และหากเป็นเช่นนั้นเหตุใดจึงมีเพียง "เลือกสำหรับการถอนการติดตั้ง" ทำไมจึงไม่ลบออกทันทีเมื่อเรียกใช้ "apt-get remove"
Mads Skjern

คุณเขียนว่าไม่แนะนำให้อัพเกรด dselect เป็นเพราะในกรณีที่มีการเรียกใช้ - ล้างตัวเลือกโดยไม่ได้ตั้งใจไปที่กระดูกเปลือย หรือด้วยเหตุผลอื่นเช่นกัน? ดูเหมือนว่าจะเป็นสิ่งที่ชัดเจนที่ต้องทำเมื่อต้องการยกเลิกการติดตั้งสิ่งที่เลือกไว้สำหรับการถอนการติดตั้ง: / ??
Mads Skjern

ฉันไม่เข้าใจคำตอบเช่นกัน ฉันกำลังอ่านคู่มือ แต่ก็ไม่ชัดเจนเช่นกัน ตัวอย่างเช่นสถานะการเลือกแพคเกจ "ติดตั้ง" ถูกอธิบายว่าเป็น "แพคเกจถูกเลือกสำหรับการติดตั้ง" แต่ฉันพบว่าแพ็คเกจที่ทำเครื่องหมายเป็น 'ติดตั้ง' ได้รับการติดตั้งแล้วในระบบของฉัน 'เลือกเพื่อการติดตั้ง' หมายถึงอะไร (เมื่อติดตั้งแล้ว?)
Chan Kim

14

คำตอบ "sudo apt-get dselect-upgrade" ไม่ทำงานสำหรับฉัน หากต้องการลบแพ็คเกจที่ถูกติดตั้งครั้งเดียวที่ฉันใช้:

sudo apt-get --purge remove <package_name>

10

หากapt-get --purgeไม่สามารถลบแพคเกจลองต่อไปนี้:

ตรวจสอบแพ็คเกจที่ไม่ได้ติดตั้งเพื่อให้แน่ใจว่าคุณต้องการลบมันจริงๆ

dpkg --get-selections | grep deinstall | cut -f1

หากคุณแน่ใจว่ารันdpkg --purge:

sudo dpkg --purge `dpkg --get-selections | grep deinstall | cut -f1`

1
โปรดทราบว่าสิ่งนี้จะรวมถึงแพ็คเกจใด ๆ ที่มี "deinstall" ในชื่อ ลองdpkg --get-selections | awk '$2 == "deinstall" {print $1}'
rudolfbyker
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.