Прерывание apt-get dist-upgrade: что может произойти?

10

Давайте предположим, что я ssh в свой компьютер и запустить

sudo apt-get dist-upgrade

и, пока apt-get работает и устанавливает пакеты, другой человек, который сидит за терминалом и вошел в gnome, решает выключить компьютер через графический интерфейс.

Что может быть худшего в таких обстоятельствах? Есть ли механизм, который не позволяет пакетам оставаться в «грязном» состоянии? Если нет, как это предотвратить?

fdierre
источник

Ответы:

8

В худшем случае это может сломать вашу систему, делая невозможным нормальную загрузку, но вы всегда можете загрузиться в режиме восстановления и исправить это.

  1. Используйте режим восстановления, загрузившись с установочного компакт-диска Ubuntu и введя «rescue» в приглашении загрузки

  2. Смонтируйте все ваши разделы и выполните chroot для / target, где смонтирован корневой раздел.

  3. После того, как система загрузится в меню, выберите пункт «Подсказка Drop to root shell с сетевым подключением». Это дает вам возможность обновлять пакеты программного обеспечения из Интернета.

  4. Когда появится приглашение, убедитесь, что все установленные в данный момент программы настроены:

    dpkg --configure -a

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

  1. Затем продолжите и обновите текущий список пакетов:

apt-get update

  1. После этого обновите программное обеспечение в системе:

подходящее обновление

Этот последний шаг, опять же, может занять много времени. Вы должны обратить внимание на список задержанных пакетов (перечисленных в верхней части вывода этой команды); эти пакеты должны быть запрошены специально.

Обычно пакеты задерживаются, потому что они требуют нового программного обеспечения или других радикальных изменений: ядро ​​Linux всегда сдерживается. Используйте команду как эта, чтобы установить эти пакеты:

apt-get установить some-package some-other-package

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

Затем следует повторить обновление и обновление, чтобы полностью убедиться, что система обновлена ​​настолько, насколько это возможно:

apt-get update

подходящее обновление

Эти последние команды должны выполняться быстро, так как все, вероятно, завершено - однако, не исключено, что обновления повлияли бы на что-то, что требует другого обновления. Не делать это, вероятно, не будет иметь значения, но почему бы не сделать это в любом случае?

После этого требуется перезагрузка, чтобы убедиться, что старое программное обеспечение больше не используется, и все, что используется, - это новое обновленное программное обеспечение. Не просто продолжайте загрузку: перезагрузите компьютер.

Еще одна вещь может быть сделана для очистки после этого - возможно, после перезагрузки. В командной оболочке введите эту команду для удаления ненужного программного обеспечения:

apt-get autoremove

Источник

LnxSlck
источник
Это может быть совершенно новый вопрос, но есть ли простой способ это исправить? Как какая-то команда восстановления?
giZm0
1
Я обновил свой ответ, чтобы включить это
LnxSlck
2
Я бы предложил бегать apt-get dist-upgradeвезде, apt-get upgradeкак указано выше. При этом вам не нужно вручную устанавливать пакеты "отложено".
Микко Ранталайнен,