1

На прошлой неделе наш веб-хостинг был DDOSed, и после этого один из наших серверов испытывает проблемы.

Сервер запускает Debian Jessie, и каждый раз, когда я пытаюсь запустить apt-get update , я получаю следующую ошибку:

Reading package lists... Error!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/dpkg/status
E: The package lists or status file could not be parsed or opened.

Все, что я обнаружил, предполагает, что обычно это можно решить, запустив sudo rm /var/lib/apt/lists/* -vf или sudo dpkg --configure -a , но ни один из них не работает для меня. Я также попытался переключиться на другое зеркало, но это не решает проблему.

Любые предложения, ребята?

3 ответа3

4

Ваше сообщение об ошибке просто означает, что ваш файл состояния был поврежден.

Вы должны сначала удалить его,

rm /var/lib/dpkg/status

затем воссоздай это,

touch /var/lib/dpkg/status

затем сделайте обновление плюс обновление.

Если это не работает, проверьте права доступа и владельца файла состояния и его дерева каталогов и, возможно, проверьте, заполнен ли диск, вы никогда не знаете ...

0
  1. Очистите локальный репозиторий от полученных файлов пакетов. Откройте терминал и введите:

    sudo apt-get clean
    
  2. Скажите вашей системе вытащить последний список программного обеспечения из каждого архива, о котором она знает.

    sudo apt-get update
    
0

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

Достаточно ли у вас свободного диска на /var? (DDOS имеют тенденцию заполнять /var , заполняя логи).

После двух вышеуказанных проверок попробуйте скопировать файлы -old в тот же файл, но без суффикса -old . (Если у вас есть резервные копии, просто скопируйте эти файлы из резервной копии).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .