Исправление испорченного менеджера пакетов dpkg и apt

Я работаю с виртуальной машиной, которой раньше не управлял, и она в плохом состоянии (но мне нужно ее спасти). Я не эксперт по Linux, но за последние 5 лет я смог решить проблемы с помощью Google. Вчера, после целого дня, я не знаю, что еще делать, затем задавал глупые вопросы, просто излагая свою проблему.

  • Система не будет выполнять обычную загрузку (однако я могу открыть аварийную корневую оболочку, в которой я могу смонтировать файловую систему и включить сеть до некоторой степени (я могу подключиться к внешним сетям, но не могу открыть порт 22 или запустить ssh deamon - я могу, однако, запустить apache и открыть порт 80)
  • Я не могу установить или удалить программное обеспечение, так как dpkg всегда жалуется на старые образы заголовков linux (я думаю, что бывший администратор удалил linux вручную заголовки из загрузочного раздела, чтобы освободить место.)
  • Теперь каждый раз, когда я пытаюсь выполнить apt-get, установить или удалить или обновить или что-то еще, он жалуется, что там, где слишком много ошибок в dkpg, и особенно там, где ошибки с некоторыми старые образы Linux (которых нет в моем загрузочном разделе) и он прерывается, а также жалуется на отсутствие файлов (связанных со старыми заголовками linux)
  • Я нашел одну инструкцию, предлагающую переустановить grub2, которой я следовал Я думаю, что удаление сработало, но установка сломалась так же, как не может быть установлено другое программное обеспечение. Я вполне уверен, что в следующий раз, когда я не буду перезагружать машину, я даже не смогу войти в систему спасения, потому что grub2, кажется, удален.
  • Я не могу сделать что-то вроде apt-get install linux-image-generic

Я понимаю, что в этом посте даже нет правильного вопроса, но я даже не знаю, как его сформулировать. Кажется, что так много всего сломано, что, очевидно, я как бы сбился с пути, откуда начать.

редактировать

вывод dpkg --get-selections: http://pastebin.com/CRFaaJ7m

вывод apt-get install linux-generic: http://pastebin.com/7t20Bavu

вывод dpgk --configure -a: http://pastebin.com/Hpmch9dM

также я думаю, что вывод может быть интересным (особенно начиная со строки 484): http://pastebin.com/uUi86FtT

1
задан 28 November 2016 в 01:25

1 ответ

Видел только одно старое ядро от dpkg состояние, но я не уверен если это действительно на диске.

Так или иначе:

  1. Сделайте резервное копирование файла состояния DPKG

    cp /var/lib/dpkg/status /var/lib/dpkg/status.backup0
    
  2. Очистите те вручную удаленные ядра от состояния DPKG

    Проверьте, какая строка является записью пакета

    grep -n linux-image-extra-3.13.0-93-generic /var/lib/dpkg/status
    

    Открытое состояние для редактирования (изменение xxxxx с номером строки)

    nano +xxxxx /var/lib/dpkg/status
    

    Измените его состояние на deinstall как этот пример

    Package: linux-image-extra-3.13.0-93-generic
    Status: install ok installed
    

    кому:

    Package: linux-image-extra-3.13.0-93-generic
    Status: deinstall ok config-files
    

    Ctrl+O для сохранения и Ctrl+X для выхода

  3. Сделайте предыдущий шаг для следующих пакетов

    linux-image-3.13.0-93-generic
    linux-image-extra-3.13.0-101-generic
    linux-image-3.13.0-101-generic
    
  4. Измените сообщение DBus - сценарий установки для пропуска ошибок

    nano /var/lib/dpkg/info/dbus.postinst
    

    и комментарий set -e#set -e (вокруг строки № 5)

  5. Продолжите предыдущую установку

    dpkg --configure -a
    
  6. Зафиксируйте зависимости

    apt -f install
    
2
ответ дан 28 November 2016 в 01:25

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

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