วิธีเลิกทำ apt-get remove


18

ฉันรู้ว่ามันเป็นสถานการณ์ที่ตลก แต่ฉันเอาหลามกับโปรแกรมที่เกี่ยวข้องทั้งหมดจาก Ubuntu โดยใช้ sudo apt-get remove python หรือไม่ เห็นได้ชัดว่าฉันสามารถติดตั้งไพ ธ อนกลับมาได้ แต่ใช้เวลาในการติดตั้งโปรแกรมทั้งหมดที่ฉันลบไป อาจจะมีวิธีแก้ปัญหาบางอย่าง?

ขอบคุณ


โปรดรวมความพยายามในการวิจัยเพื่อลบการลงคะแนน
Colyn1337

ว้าว! คำถามอายุ 3 ปีที่ช่วยในการกู้คืนคอมพิวเตอร์ของฉัน ดีใจมากที่มาที่นี่และพบบน google ขอบคุณ!
Michael Cole

คำตอบ:


26

ไม่มีวิธีที่ง่าย แต่ถ้าคุณดู /var/log/apt/history.log คุณสามารถดูสิ่งที่ถูกลบ เพียงติดตั้งแต่ละแพ็คเกจที่ถูกลบ


2
มันช่วยชีวิตฉันไว้!
Sanket Sahu

3
ฉันลงทะเบียนกับ serverfault เพื่อโหวตสิ่งนี้ขอบคุณ
Phil

20

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

echo '#!/bin/bash' > restore
echo sudo apt-get install `grep Remove /var/log/apt/history.log | tail -1 | sed -e 's|Remove: ||g' -e 's|([^)]*)||g' -e 's|:[^ ]* ||g' -e 's|,||g'` >> restore
chmod +x restore 
./restore

ผู้ช่วยชีวิต ... ควรตระหนักได้ว่าapt remove libboost*มันเป็นความคิดที่ไม่ดี
Persistence

2
ขอบคุณคุณช่วยชีวิตฉันไว้ !! คำเตือน: ไม่ควรเรียกใช้ "sudo apt purge python2.7"

2
ไม่ได้ทำงานsudo apt remove python3ฮ่าฮ่า
ThaJay

ดีฉันใช้apt purgeเพื่อฉีกฉันสิ่งที่ดีมันคือการติดตั้งใหม่ จะดีที่จะรู้ว่าระบบปฏิบัติการที่สำคัญ (สำหรับคนส่วนใหญ่) เช่น netplan ต้องการสิ่งนี้ แน่ใจว่ามันอ้างอิงอยู่ในรายการลบก่อนถามว่าคุณแน่ใจ แต่ใครมีเวลาดูและให้แน่ใจว่าเมื่อมันง่ายกว่าที่จะตีyกุญแจและreturnระบบของคุณเข้าสู่การให้อภัย ...
DeeJayh

5

ผมพบว่าเคล็ดลับเด็ดจากฟอรั่มอูบุนตู

เป็นไปได้ที่จะรันสิ่งต่อไปนี้ในเทอร์มินัล:

awk '!/^Start|^Commandl|^End|^Upgrade:|^Error:/ { gsub( /\([^()]*\)/ ,"" );gsub(/ ,/," ");sub(/^Install:/,""); print}' /var/log/apt/history.log

ดูผลลัพธ์จากนั้นใช้

sudo apt-get install [packages]

และแทนที่ [แพ็คเกจ] ด้วยบรรทัดสุดท้ายของแพ็กเกจที่ถูกส่งคืน (โปรดทราบว่าอาจมีการห่อ)


คุณบันทึกวันของฉัน มันช่วยฉันได้จริงๆ
Khamidulla

1

ค้นหาแพ็คเกจทั้งหมดที่ถอนการติดตั้ง จะถูกเก็บไว้ที่/var/log/apt/history.log คุณสามารถเขียนโปรแกรมเชลล์เพื่อติดตั้งแต่ละแพ็คเกจที่ถูกลบ เขียนบนเครื่องมือแก้ไขข้อความ GNU Emacs, vi, GNU Nano ดำเนินการผ่านเทอร์มินัล โปรแกรมทั้งหมดที่ถอนการติดตั้งจะถูกติดตั้งใหม่ด้วยตัวเอง


0

เพื่อเพิ่มคำตอบของ ablackhat คุณสามารถคัดลอกและวางทุกอย่างหลังจากคำสั่งลบล่าสุดใน/var/log/apt/history.logโปรแกรมแก้ไขโปรแกรมเมอร์ใหม่ Regex แทนที่:.*?,ด้วย(สตริงว่าง) และคัดลอกแพ็กเกจที่คั่นด้วยผลลัพธ์ทั้งหมด จากนั้นเรียกใช้$ sudo apt-get install <paste>


0

การอัปเกรดส่วนใหญ่จะคืนค่าส่วนที่เหลือ .. คุณสามารถใช้เทคนิคที่แสดงด้านบน หากต้องการอัปเกรดเพียงพิมพ์ "sudo apt-get upgrade"


เหตุใดจึงควรapt-get upgradeติดตั้งแพคเกจใหม่ที่ถูกลบไปอย่างเด็ดขาด
เจอรัลด์ชไนเดอร์

จริงๆแล้วมันไม่ได้ห่างไกลจากคำตอบที่สมบูรณ์แบบสำหรับ OP: รอสามปีและทำapt-get dist-upgrade
quadruplebucky

-1

ถ้าคุณ

 apt-get install python

Python จะถูกติดตั้งใหม่พร้อมสิ่งที่จำเป็นทั้งหมดซึ่งเป็นสิ่งที่ฉันคิดว่าเป็นโปรแกรมที่เกี่ยวข้องทั้งหมดที่คุณพูดถึง?


ฉันได้ติดตั้ง Python แล้ว แต่โปรแกรมที่พึ่งพา Zim, GImp และโปรแกรมอื่น ๆ อีกมากมายไม่ได้ถูกเปลี่ยนกลับ ((แม้ Gedit ไม่ทำงาน
IgorDiy

-1 ไม่สามารถแก้ไขคำถามของ OP ในทุกสิ่งที่ต้องการ Python ถูกลบออกไป
Magellan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.