ไม่สามารถติดตั้งการอัปเดตใด ๆ ผ่านการอัปเดตตัวจัดการ / การอัพเกรด apt-get


12

ฉันใช้งาน Ubuntu 12.04 มาหลายสัปดาห์แล้ว ฉันพยายามดาวน์โหลดและติดตั้งไฟล์บางอย่างผ่าน Update Manager มีไฟล์อยู่ไม่กี่ไฟล์ดาวน์โหลดมา แต่ไม่สามารถติดตั้งได้ มันทำให้เกิดข้อผิดพลาด:

installArchives() failed: (Reading database ... 
(Reading database ... 80%
dpkg: unrecoverable fatal error, aborting:
 reading files list for package 'libasn1-8-heimdal': Input/output error

ฉันพยายามใช้apt-get upgradeแต่เกิดข้อผิดพลาดที่คล้ายกัน:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  icedtea-6-jre-cacao icedtea-6-jre-jamvm openjdk-6-jre openjdk-6-jre-headless
  openjdk-6-jre-lib
5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/34.6 MB of archives.
After this operation, 1,024 B of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 80%
dpkg: unrecoverable fatal error, aborting:
 reading files list for package 'libasn1-8-heimdal': Input/output error
E: Sub-process /usr/bin/dpkg returned an error code (2)

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก. ขอบคุณล่วงหน้า.

แก้ไข: นี่คือข้อมูลเพิ่มเติมบางอย่างที่อาจมีประโยชน์ ปัญหาเดิมของฉันคือศูนย์ซอฟต์แวร์ Ubuntu จะไม่เปิด ฉันพบว่าตัวจัดการอัปเดตและตัวจัดการแพคเกจ Synaptic ก็ไม่สามารถเปิดได้เช่นกัน พวกเขาทั้งหมดให้ข้อผิดพลาดตามบรรทัดของ:

"installArchives() failed: dpkg: error: reading package info file '/var/lib/dpkg/available': Input/output errorError in function:"

หลังจาก googling มากฉันดูเหมือนจะแก้ไขปัญหานี้ได้เนื่องจากผู้จัดการแพ็คเกจจะเปิดขึ้นอีกครั้ง เมื่อฉันพยายามดาวน์โหลดและติดตั้งการอัปเดตใด ๆ จาก Update Manager ฉันพบข้อผิดพลาดที่จุดเริ่มต้นของโพสต์นี้


คุณดาวน์โหลดไฟล์อะไร จากที่ไหน ตัวจัดการการอัปเดตเกี่ยวข้องกับอะไรบ้าง
mikewhething

คุณอาจลอง uninstal (และติดตั้งใหม่ภายหลัง) l แพคเกจในข้อความ หากล้มเหลวคุณอาจลองล้างแคช
John S Gruber

ฉันยังคงพยายามแก้ไขสิ่งนี้อยู่ฉันยังไม่มีโอกาสเลย ฉันจะลองทำตามคำแนะนำที่นี่: goo.gl/oOKqGเมื่อฉันมีโอกาส
user64654

ทำไมคุณถึงเลือกที่จะติดตั้ง 12.04 ไม่ใช่ 14.04 หลังจากทั้งหมดคุณบอกว่าคุณได้รับมันสองสามสัปดาห์ที่ผ่านมาและ Trusty ได้ออกมาเหมือนเก้าเดือน
John Scott

คำตอบ:


16

ฉันได้แก้ไขปัญหาด้วยคำแนะนำเหล่านี้แล้ว

ดังนั้นการแก้ปัญหาดังต่อไปนี้:

  1. เข้าไปใน/var/lib/dpkgไดเรกทอรี
  2. ทำการสำรองข้อมูลของstatusไฟล์
  3. แก้ไขstatusไฟล์
  4. ค้นหาแพ็คเกจที่ให้ข้อผิดพลาด
  5. เพียงลบบรรทัดออกจากแพ็คเกจนี้ (แต่ให้ทุกบรรทัดอื่น ๆ ที่เกี่ยวข้องกับแพ็คเกจอื่นแม้ว่าจะมีแพ็คเกจที่ใช้งานไม่ได้ในฟิลด์ "แทนที่" หรือ "ขึ้นอยู่กับ")

    [ ... ]

  6. บันทึกการเปลี่ยนแปลงในstatusไฟล์

  7. วิ่ง: sudo dpkg --configure -a
  8. บังคับให้ติดตั้งการอ้างอิงที่หายไปอีกครั้ง (เพราะขณะนี้มีบางอย่าง):

    sudo apt-get -f install
    

    ฉันคิดว่าถ้าแพ็คเกจที่ใช้งานไม่ได้ขึ้นอยู่กับแพ็คเกจอื่น (อาจหายาก) เพียงติดตั้งใหม่:

    sudo apt-get install the_package
    
  9. ทุกอย่างเรียบร้อยแล้วในตอนนี้สามารถอัปเกรดอัปเกรดหรือติดตั้งแพ็คเกจใหม่ได้!

ควรสังเกตว่าฉันมีความแตกต่างเล็กน้อยกับวิธีแก้ปัญหาที่ให้ไว้ ไฟล์สถานะไม่ใช่เรื่องง่ายที่จะแก้ไข (เนื่องจากเป็นไฟล์ที่สำคัญและไม่ได้ตั้งใจจะแก้ไข) การแก้ไขใด ๆ ที่เกิดขึ้นควรทำด้วยความระมัดระวังและควรสำรองไฟล์ไว้ก่อนที่จะทำการเปลี่ยนแปลงใด ๆ

ฉันต้องทำซ้ำขั้นตอนที่ 4-8 สามครั้ง (แต่ละครั้งข้อผิดพลาดจะเหมือนกันกับแพ็คเกจอื่น) ในที่สุดเมื่อแพ็คเกจทั้งหมดถูกลบฉันก็สามารถติดตั้งใหม่และแก้ไขปัญหาของฉันได้


คุณทราบได้อย่างไรว่าแพ็คเกจใดทำให้เกิดข้อผิดพลาด
Seanny123

@ Seanny123 ความพยายามก่อนการติดตั้ง apt-get ก่อนหน้านี้น่าจะแสดงข้อผิดพลาด ตัวอย่างเช่นในกรณีของฉันฉันมี "การอ่านรายการไฟล์สำหรับแพคเกจ 'manpages-dev': ข้อผิดพลาดอินพุต / เอาท์พุต" ก่อนแจ้งให้ส่งคืน ในไฟล์สถานะฉันค้นหา "Package: manpages-dev" และลบบรรทัดจนถึงบรรทัด "Package:" ถัดไป หลังจากนั้นฉันต้องทำคู่มือ "apt-get install manpages-dev" จากนั้นฉันก็ทำผิดพลาด "apt-get dist-upgrade" ก่อนหน้านี้ที่ทำโดยไม่มีข้อผิดพลาด (ขอบคุณ user64654!)
Peter Hansen

2

อาจเกิดขึ้นได้ว่าดิสก์เกิดความเสียหายกับ inodes

ด้วย live CD ให้รันคำสั่งนี้

sudo fdisk -l

สังเกตดิสก์และพาร์ติชันแล้วสามารถ/dev/dsb1 ซ่อมแซมได้:

sudo fsck -y /dev/sdb1

รีบู๊ตและกลับสู่ระบบ

sudo apt-get -f install
sudo apt-get update
sudo apt-get upgrade

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