dpkg не будет обновляться - ошибка ввода / вывода в индикаторной сессии

У меня возникла ошибка при попытке обновить мою систему. В настоящее время я не могу установить / удалить или обновить что-либо с помощью apt-get ...

Вот ошибка, которую я получаю при запуске apt-get update

dpkg: unrecoverable fatal error, aborting:
 reading files list for package 'indicator-session': Input/output error
E: Sub-process /usr/bin/dpkg returned an error code (2)
3
задан 13 May 2013 в 13:10

2 ответа

Хорошо, я посмотрел вокруг еще немного и нашел решение: Вот в этом посте: Невозможно установить какие-либо обновления через менеджер обновлений / apt-get upgrade

. Есть ссылка в ответе на эту страницу: http://ubuntuforums.org/archive/index.php/t-1232143.html

Все сводится к редактированию / var / lib / dpkg / файл состояния и удаление всего, что связано с поврежденным пакетом.

Моя система снова работает и работает!

0
ответ дан 13 May 2013 в 13:10

Вот вывод, который я получил из apt-get:

dpkg: warning: files list file for package `libecryptfs0' missing, assuming package has no files currently installed.
dpkg: warning: files list file for package `libplexus-containers1.5-java' missing, assuming package has no files currently installed.
dpkg: warning: files list file for package `apport' missing, assuming package has no files currently installed.

И вот как я это исправил:

  1. Резервное копирование файла состояния dpkg: [ 1124]

    cp /var/lib/dpkg/status{,.backup}
    
  2. Отредактируйте файл /var/lib/dpkg/status и удалите разделы для пакетов, о которых apt-get напечатано предупреждение. Убедитесь, что вы удалили весь раздел об этих пакетах, т.е. е. начиная со строки Package: libecryptfs0 и заканчивая первой пустой строкой.

    В качестве альтернативы вы можете использовать sed, чтобы выполнить работу за вас:

    sed -i.backup -e '/^Package: \(libecryptfs0\|libplexus-containers1\.5-java\|apport\)$/,/^$/d' /var/lib/dpkg/status
    

    Эта команда удаляет все разделы между и включая строки с Package: <PACKAGE_NAME> и следующую пустую строку. Вы можете поместить любые допустимые имена пакетов в круглые скобки \(…\), разделить их с помощью \| и экранировать точки (.\.). Опция -i.backup редактирует файл на месте и создает файл резервной копии с суффиксом .backup (так что вы можете пропустить шаг 1, если вы используете вариант) вместо записи результата в стандартный вывод.

  3. Запустите sudo apt-get -f install для настройки ненастроенных пакетов и (пере) установки отсутствующего пакета. Пакеты отсутствуют, потому что мы удалили их из файла status.

¹ См. Как получить разрешения на редактирование файлов конфигурации системы? , как это сделать.

0
ответ дан 13 May 2013 в 13:10

Другие вопросы по тегам:

Похожие вопросы: