Какая команда запускается, когда опция dpkg выбрана в режиме восстановления?

Недавно я столкнулся со следующей ситуацией:

  • Я не мог нормально загружать свой компьютер. (Мне показали мигающий курсор после загрузочного загрузчика и экрана загрузки Ubunutu, но перед страницей входа в систему, не доходя до страницы входа.)
  • Мне удалось войти в режим восстановления. Если я полностью продолжу загрузку, я могу добраться до терминала, где я мог бы добавить / удалить любые пакеты с помощью apt-get.
  • Перед полной загрузкой в ​​режим восстановления мне было показано меню, в котором одним из параметров был dpkg который исправлял установленные пакеты. Если бы я выбрал эту опцию, система подсчитала, что может быть произведен ремонт, если я переустановил 103 пакета. Однако, говоря «да», эта операция столкнулась с сетевыми проблемами при попытке загрузить пакеты для повторной установки.
  • Я смог разрешить ситуацию, посмотрев список пакетов, предлагаемых для ремонта, а затем, используя стратегию «бросить дротик и молиться», я решил запустить sudo apt-get install --reinstall ubuntu-gnome-desktop из подсказка предлагается после полного входа в режим восстановления. Это привело к переустановке 103 пакетов. Как только это было сделано, я мог нормально загружать Ubuntu.

У меня есть вопрос:

Какую команду я мог бы ввести в командной строке при загрузке, которая выполнила бы ту же операцию, что и опция меню dpkg ?

Эта функция обеспечивается дружественным меню восстановления и, в частности, его плагином dpkg (который добавляет запись в меню под названием «Ремонт сломанных пакетов», переведенная соответствующим образом на любой язык, который пользователь настроил для использования системой).

Этот плагин использует два разных подхода для восстановления сломанных пакетов:

  • если dist-upgrader доступен, он использует это для восстановления системы, запустив

     env RELEASE_UPGRADER_NO_SCREEN=1 python3 /usr/lib/python3/dist-packages/DistUpgrade/dist-upgrade.py \ --partial --frontend DistUpgradeViewText \ --datadir /usr/share/ubuntu-release-upgrader 
  • в противном случае он запускается

     dpkg --configure -a apt-get update apt-get install -f apt-get dist-upgrade 

Чтобы добиться такого же эффекта, как и выбор меню, вы должны попробовать первую команду с помощью dist-upgrader , и если это не удастся, потому что она не существует, запустите четыре команды, начиная с dpkg --configure -a .

Обратите внимание, что обе эти опции не только восстанавливают сломанные пакеты, но и обновляют систему до последних версий пакетов, доступных в любом выпуске. (Это необходимо, так как восстановление сломанных пакетов может включать установку отсутствующих пакетов, и это можно сделать только с использованием текущих версий пакетов из сконфигурированных репозиториев.)