แก้ไข: ไม่สามารถเปิดไฟล์ / var / lib / dpkg / status



ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา

คุณอาจได้รับข้อผิดพลาดที่น่ารังเกียจ“ ไม่สามารถเปิดไฟล์ / var / lib / dpkg / status” หรือสิ่งที่คล้ายกันได้หากคุณจิ้มไปที่ไดเร็กทอรี / var / lib / dpkg / และล้างข้อมูลในฐานะผู้ใช้รูท ไฟล์ส่วนใหญ่ที่อยู่ใน / var ตามมาตรฐานลำดับชั้นของระบบไฟล์ Linux เป็นไฟล์ชั่วคราวและมีการเปลี่ยนแปลงระหว่างการดำเนินการ อย่างไรก็ตามนั่นไม่ได้หมายความว่าจะต้องล้างออกด้วยวิธีเดียวกับที่ต้องล้างแคชของเว็บเบราว์เซอร์



เนื่องจากผู้ใช้ Linux ส่วนใหญ่ไม่จำเป็นต้องโผล่มาที่นี่ข่าวดีก็คือคุณอาจจะไม่ได้รับสิ่งนี้มาก่อน ผู้ที่ใช้การแจกแจงที่ไม่ได้ใช้ apt-get เช่น Fedora หรือ Arch จะไม่ได้รับข้อผิดพลาดนี้เนื่องจากเป็นข้อมูลเฉพาะสำหรับผู้จัดการแพ็กเกจนั้นโดยเฉพาะ อย่างไรก็ตามหากคุณจัดการกับมันแล้วอ่านต่อ



วิธีที่ 1: การแก้ไข Seemingly Random ไม่สามารถเปิดไฟล์ / var / lib / dpkg / status Error

หากข้อผิดพลาดนี้ออกมาเป็นสีน้ำเงินให้พิมพ์ ls / var / lib / dpkg / สถานะ ที่บรรทัดคำสั่งและดูที่ผลลัพธ์



คุณอาจต้องการใช้โปรแกรมจัดการไฟล์แบบกราฟิกกับเบราว์เซอร์และลองดู

ตรวจสอบให้แน่ใจว่าคุณเห็นไฟล์สถานะในผลลัพธ์ โดยปกติคุณจะได้รับเพียงบรรทัดที่อ่าน / var / lib / dpkg / status โดยไม่มีอะไรอื่นตามมาก่อนที่จะส่งกลับคุณไปยังข้อความแจ้ง หากเป็นเช่นนั้นแสดงว่าคุณมีไฟล์อยู่ที่นั่นและคุณน่าจะโอเค ปิดโปรแกรมทั้งหมดที่คุณใช้งานอยู่หลังจากบันทึกแล้วรีบูต

เมื่อคุณสำรองข้อมูลและเรียกใช้งานแล้วให้พิมพ์ อัปเดต sudo apt-get ติดตามโดย sudo apt-get อัพเกรด ที่เทอร์มินัลและปฏิบัติตามคำแนะนำ คุณอาจถูกถามถึงรหัสผ่านผู้ดูแลระบบของคุณ แต่เมื่ออัปเดตแล้วคุณควรจะสบายดี คุณจะต้องเฝ้าดูข้อผิดพลาดแปลก ๆ



หากไม่มีไฟล์คุณจะต้องตัดสินใจบางอย่าง

วิธีที่ 2: สร้างใหม่ / var / lib / dpkg / status

ผู้ใช้บางรายสำรองข้อมูลสำคัญทั้งหมดไว้ ณ จุดนี้ก่อนที่จะติดตั้ง Linux ใหม่ คุณทำได้ แต่อาจมีวิธีกอบกู้สิ่งต่างๆก่อน มีสำเนาสำรองของ / var / lib / dpkg / status ที่สร้างขึ้นโดยอัตโนมัติและหวังว่าเวลาจะผ่านไปไม่นานนักเนื่องจากคุณได้รับข้อผิดพลาดที่ทำให้ไม่สามารถซิงค์ได้

ลองวิ่ง sudo cp / var / lib / dpkg / status-old / var / lib / dpkg / status ที่สถานีปลายทาง หากสิ่งนี้ไม่ทำให้คุณเกิดข้อผิดพลาดคุณสามารถดูได้ว่าวิธีนี้แก้ปัญหาได้หรือไม่ การดำเนินการนี้จะคืนค่าสำเนาสำรองล่าสุดของไฟล์สถานะ แต่น่าเสียดายที่หากมันล้าสมัยเกินไปคุณอาจยังอยู่ในน้ำร้อน อย่างไรก็ตามคุณสามารถรีสตาร์ทจากนั้นเรียกใช้ อัปเดต sudo apt-get ติดตามโดย sudo apt-get อัพเกรด เพื่อดูว่าข้อผิดพลาดในการพึ่งพาประเภทใดที่เกิดขึ้นสำหรับคุณ ในกรณีที่ดีที่สุดคุณจะไม่มีและคุณจะสามารถทำงานกับระบบของคุณต่อไปได้เหมือนปกติ

คุณสามารถลองสร้างรายการสถานะใหม่ได้ ประเภท sudo touch / var / lib / dpkg / status เพื่อสร้างไฟล์ว่างในฐานะผู้ใช้รูทจากนั้นลอง sudo apt-get install long-list จากขั้ว มีสคริปต์บางส่วนที่ทำสิ่งนี้โดยอัตโนมัติ แต่โดยพื้นฐานแล้วสิ่งนี้เป็นสิ่งเดียวกันและมาโดยไม่มีอันตรายจากการเรียกใช้สคริปต์ที่อาจล้าสมัยในเครื่องของคุณ ขอเตือนว่าคุณต้องจำสิ่งที่คุณมีในระบบของคุณเพื่อให้สิ่งนี้ใช้งานได้และซอฟต์แวร์จะแจ้งให้คุณจำไว้

คุณยังสามารถลอง ls /var/backups/dpkg.status* และดูว่ามีอะไรบ้างที่คุณอาจต้องการใช้แทน

ดูรายการที่ปรากฏขึ้นเมื่อคุณเรียกใช้ หากคุณเห็นอันที่ไม่ได้บีบอัดให้ลอง sudo cp /var/backups/dpkg.status.0 / var / lib / dpkg / สถานะ และดูว่าสามารถแก้ไขสิ่งต่างๆได้หรือไม่ คุณสามารถคัดลอกหนึ่งในรายการอื่น ๆ ได้ตลอดเวลาและเรียกใช้คำสั่ง gunzip เพื่อคลายการบีบอัด อย่างไรก็ตามโปรดทราบว่ายิ่งคุณย้อนกลับไปมากเท่าไหร่ความเสี่ยงของการอัปเดตไฟล์ที่ล้าสมัยก็จะทำให้การอ้างอิงเสียมากขึ้นเท่านั้น

อ่าน 3 นาที