dpkg: ข้อผิดพลาด: การแยกไฟล์ '/ var / lib / dpkg / updates / 0045' ใกล้กับบรรทัด 0:


43

ฉันได้รับข้อผิดพลาดนี้ใน Ubuntu 12.04 ขณะดำเนินการด้านล่าง

frank@august:~$ sudo apt-get install ttf-mscorefonts-installer
[sudo] password for frank: 
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct    the problem. 
frank@august:~$ sudo dpkg --configure -a
dpkg: error: parsing file '/var/lib/dpkg/updates/0045' near line 0:
 newline in field name `#padding'
frank@august:~$ 

&

frank@august:~$ head /var/lib/dpkg/updates/0045
#padding
#padding
#padding
#padding

frank@august:~$ 

ฉันไม่สามารถดูว่ามีข้อผิดพลาดอยู่ที่ไหนช่วยฉันแก้ปัญหานี้ ขอขอบคุณ.

คำตอบ:


78

ตกลงฉันได้แก้ไขปัญหาด้วยตัวเองแล้ว

ฉันรันทั้งสองคำสั่งในเทอร์มินัล ( CTRL+ ALT+ T):

cd /var/lib/dpkg/updates && rm -rf 0045
sudo dpkg --configure -a

และปัญหาของฉันได้รับการแก้ไข


7
ตั้งแต่ความพยายามที่จะวิ่งsudo rm -rf /var/lib/dpkg/updates/0045มีความปลอดภัยและเหมาะสมแต่อาจมีผลร้ายถ้าชนิดหนึ่งในพื้นที่ที่หลงติดกับใด ๆ ของ/ES (โดยเฉพาะสองคนแรก!) cd /var/lib/dpkg/updates && rm -rf 0045มันอาจจะดีที่สุดที่จะเตือนเกี่ยวกับอันตรายนี้หรือที่จะแนะนำสิ่งที่ต้องการ ทางออกที่ดีแม้ว่า!
Eliah Kagan

2
ในสถานการณ์เช่นผมไม่เคยใช้แต่sudo rm -rf [file] sudo mv [file] /var/tmp
Karl Richter

แม้sudoการเข้าถึงถูกปฏิเสธดังนั้นฉันต้องไปรูทด้วยsudo -sขอบคุณสิ่งนี้ช่วยฉันได้จริงๆแม้ว่าเมื่อฉันอยู่ในรูท
John D

11

ดูเหมือนไฟล์จะเสียหาย ขอแนะนำให้คุณทำสิ่งต่อไปนี้ (โปรดใช้การสำรองข้อมูลและดำเนินการด้วยความเสี่ยง);)

sudo rm /var/lib/dpkg/updates/000*
sudo apt-get clean
sudo apt-get update
sudo apt-get install ttf-mscorefonts-installer

ขอบคุณสำหรับคำตอบของคุณ แต่มันช่วยให้ฉันไม่ได้ตั้งใจpaste.ubuntu.com/1337768
rɑːdʒɑ

นี่เป็นการลบไฟล์ที่เห็นได้ชัดว่าผิดปกติ แต่ในกรณีของฉันที่เพิ่งพาฉันไปยังไฟล์ที่เสียหายต่อไป ดังนั้นฉันsudo rm /var/lib/dpkg/updates/*จึงดำเนินการต่อด้วยการอัปเดต + ซึ่งทำงานได้ดี
thoni56

10

ลองสิ่งนี้:

sudo rm -rf /var/lib/dpkg/updates/*
dpkg --configure -a

7
คุณช่วยเพิ่มรายละเอียดเพิ่มเติมในคำตอบได้ไหม? ชอบสิ่งนี้และทำไมมันทำมัน?
เซท

2
@ Ten-Coin ต่างกันอย่างไร
Karl Richter

@KarlRichter คำตอบของสิบเหรียญมีแนวโน้มมากที่สุดจะไม่ทำงานหากข้อผิดพลาดของคุณไม่ใช่ 0045 แต่เป็นตัวเลขอื่น
林果皞

ความแตกต่างดังกล่าวไม่ได้ให้เหตุผลที่แยกจากกัน คุณควรแนะนำและปรับปรุงคำตอบที่มีอยู่แทนหากการเปลี่ยนแปลงมีขนาดเล็กมาก
Karl Richter

แก้ไขปัญหาของฉันใน UBUNTU 18.04 LTS พร้อมเดสก์ท็อป xfce4
EsmaeelE

7

ดูเหมือนว่าไฟล์สถานะเสียหายเพื่อแก้ไขปัญหานี้คุณต้องลบ / ล้างไฟล์โดยใช้คำสั่ง

sudo dpkg --clear-status

(NB: ตัวเลือก --clear-status ไม่พร้อมใช้งานอีกต่อไปงานพิมพ์จาก 'dpkg -?' ไม่แนะนำให้ทำการแทนที่อย่างชัดเจน) จากนั้นสร้างไฟล์ใหม่โดยใช้คำสั่ง:

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