ลบโดยไม่ตั้งใจ / var / lib / apt /


10

ฉันลบเนื้อหาของ / var / lib / apt ด้วยคำสั่งด้านล่างโดยไม่ตั้งใจ:

sudo rm -rf /var/lib/apt/*

สิ่งที่ฉันควรทำตอนนี้? ฉันจะเรียกคืนได้หรือไม่ จำเป็นหรือไม่


เหตุผลเบื้องหลังอุบัติเหตุนี้คือฉันพยายามลบ/ var / lib / apt / list / *เนื่องจากมีขนาดใหญ่เพื่อสร้างพื้นที่ว่างบนดิสก์ของฉัน
Hossein Hosseinvand

คำตอบ:


24

โฟลเดอร์นี้มีสิ่งที่น่าสนใจโดยเฉพาะมี/var/lib/apt/keyrings/ไดเรกทอรีสำหรับที่เก็บข้อมูลใด ๆ ที่คุณเพิ่มลงในระบบผ่านทางapt-add-repository(จากนั้นก็มี/etc/apt/trusted.gpgและ/etc/apt/trusted.gpg.d/) และcdroms.list ควรอ้างอิงสื่อการติดตั้งเป็นแหล่งของแพ็คเกจ เอาออกอาจต้องติดตั้งใหม่ด้วย/var/lib/apt/keyrings/ubuntu-archive-keyring.gpgsudo apt-get install --reinstall ubuntu-keyring

นอกจากนี้ยัง/var/lib/apt/listsมีไฟล์ล็อคสำหรับเมื่อaptใช้งานอัปเดตหรืออัปเกรดและรายการแพ็กเกจในที่เก็บข้อมูลระยะไกล รายการในไดเรกทอรีที่บางครั้งจะถูกล้างหรือลบเช่นเดียวกับในโพสต์นี้ตัวอย่างเช่น apt-get updateมันควรจะงอกใหม่เมื่อคุณเรียกใช้

ในระยะสั้นฉันไม่ต้องกังวลเกี่ยวกับเรื่องนี้มาก ทำงานเพียงsudo apt-get updateและมันควรจะกลับมา แต่ถ้าคุณได้เพิ่มพื้นที่เก็บข้อมูลผ่านทางapt-add-repositoryซึ่งอาจจำเป็นต้องมีคีย์ GPG /etc/apt/sources.list.dแล้วคุณอาจต้องการที่จะเพิ่มคีย์อีกครั้งชั่วคราวหรือลบพื้นที่เก็บข้อมูลจาก

แม้ว่าจะไม่ใช่ปัญหาใหญ่ในกรณีนี้ตามที่Lightnessพูดถึงในความคิดเห็นหลักของปัญหาคือการใช้โดยไม่ได้ตั้งใจrm -rf. ผู้ใช้ควรตระหนักถึงความรับผิดชอบอย่างเต็มที่เมื่อพวกเขาใช้คำสั่งซึ่งสามารถสร้างความเสียหายให้กับระบบของพวกเขา มีตัวอย่างมากมายใน AskUbuntu และไซต์ StackExchange อื่น ๆ ที่ผู้ใช้ลบหรือเปลี่ยนความเป็นเจ้าของส่วนประกอบของระบบหลัก จากมุมมองของผู้ใช้ใหม่สามารถเข้าใจได้ว่าผู้ใช้ใหม่ไม่คุ้นเคยกับความเสียหายที่สามารถทำได้แม้ว่าจะไม่ทำให้ผู้ใช้รายใหม่รับผิดชอบ ไม่มีจุดที่จะประณามคำสั่งหรือผู้ใช้ แต่วิธีที่ถูกต้องควรพัฒนานิสัยในการตรวจสอบขั้นตอนของคุณเองในบรรทัดคำสั่งหรือที่อื่น ๆ สิ่งนี้ไม่ได้ใช้กับ Ubuntu เท่านั้น แต่ใช้งานคอมพิวเตอร์โดยทั่วไปและมีประสบการณ์และบ่อยครั้งที่ทำผิดพลาดและทำลายระบบของคุณเพื่อซ่อมแซมและทำลายอีกครั้ง


9
คุณจะต้องตรวจสอบว่าข้อผิดพลาดเกิดขึ้นตั้งแต่แรกเพราะเขียนsudoตามด้วยrm -rfชื่อไดเรกทอรีที่ไม่ตั้งใจตามด้วย*ไม่ควรเป็นสิ่งที่สมองของคุณอนุญาตให้เกิดขึ้น การดำเนินการแก้ไข / เปลี่ยนแปลงพฤติกรรมอาจจำเป็นต้องมีเพื่อหลีกเลี่ยงปัญหาที่เลวร้ายลงในอนาคต
การแข่งขัน Lightness ใน Orbit

1
@LightnessRacesinOrbit ฉันคิดว่าความคิดเห็นนี้ควรอยู่ภายใต้คำถามของ OP แต่ฉันเห็นด้วย - ผู้ใช้ต้องทราบว่าพวกเขาพิมพ์อะไรและหลีกเลี่ยงการทำrm -rfโดยไม่ตรวจสอบและรับรองว่าพวกเขาเอาสิ่งที่ถูกต้องออกก่อน
Sergiy Kolodyazhnyy

1
ดีฉันคิดว่ามันควรจะเพิ่มเข้าไปในคำตอบคือเหตุผลที่ฉันใส่ไว้ที่นี่ :) ความคิดเห็นภายใต้คำถามที่ควรจะเป็นสำหรับการแนะนำการชี้แจงคำถาม
การแข่งขัน Lightness ใน Orbit

1
@KasperThystrupKarstensen เห็นด้วย บ่อยครั้งที่คุณสามารถเห็นว่าechoมีการเสริมก่อนคำสั่งที่คุณต้องการเรียกใช้ด้วยอักขระตัวแทนหรือคำสั่งทำลายอื่น ๆ ตัวอย่างเช่นecho rm /tmp/*ประเภทของสิ่งต่าง ๆ
Sergiy Kolodyazhnyy

1
นั่นเป็นจุดที่ขอบคุณ แน่นอนว่าไม่ใช่ว่าฉันไม่เคยทำผิดพลาด แต่ฉันตรวจสอบข้อผิดพลาดทันทีและปรับเปลี่ยนวิธีปฏิบัติของฉันเช่นที่ฉันไม่เคยทำอีกครั้ง :) มันเป็นประสบการณ์การก่อสร้างตราบใดที่คุณเรียนรู้จากมัน
การแข่งขัน Lightness ใน Orbit
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.