Неможливо встановити будь-які оновлення через менеджер оновлень / apt-get upgrade


12

Я працював Ubuntu 12.04 протягом останніх тижнів. Нещодавно я намагався завантажити та встановити деякі файли через Менеджер оновлень. Він розмістив кілька файлів, завантажив їх, але потім не зміг їх встановити. Це дало помилку:

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 Package Manager також не вдалося відкрити. Усі вони помилилися:

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

Після багатого гуглінгу я, здавалося, вирішив цю проблему, оскільки менеджери пакунків знову відкриються. Коли я спробував завантажити та встановити будь-які оновлення з Менеджера оновлень, я отримав помилку на початку цієї публікації.


Які файли ви завантажили? Звідки? Що стосується менеджера оновлень?
mikew незалежно

Ви можете спробувати видалити (а пізніше перевстановити) пакет у повідомленні. Якщо це не вдається, ви можете спробувати очистити кеш.
Джон С Грубер

Я все ще працюю над тим, щоб це виправити, я просто ще не мав шансів. Я спробую отримати інструкції, наведені тут: goo.gl/oOKqG, коли у мене є можливість.
user64654

Чому ви вирішили встановити 12.04, а не 14.04? Зрештою, ви сказали, що отримали це пару тижнів тому, а Trusty вже дев'ять місяців.
Джон Скотт

Відповіді:


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" завершено без помилок. (Дякую користувачу64654!)
Пітер Хансен

2

Може статися так, що диск зіпсований узорами.

За допомогою живого компакт-диска запустіть цю команду

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і, без нічого, все знову було добре.
Клави
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.