Назад | Перейти на главную страницу

SSH-соединение потеряно во время обновления сервера - как повторно подключиться к процессу?

Итак, я выполнял обновление Ubuntu Server с 11.04 до 11.10.

Я забыл об этом в фоновом режиме, и мой Время ожидания клиента SSH истекло, и он отключился (шпатлевка винды, пойди разбери). Последним на моем терминале был вопрос о сохранении старой конфигурации и т. Д.

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

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

Спасибо

Фактически процесс запускается на экране или в сеансе byobu от имени пользователя root. повторно подключитесь к серверу с помощью putty на порту 22 или отказоустойчивого устройства 1022. sudo su - или su - в свою учетную запись root и возобновите экран с помощью byobu или screen -r и продолжите с того места, где вы остановились.

о, и да, я узнал на собственном горьком опыте ;-)

Вы не можете. Найдите процесс обновления, выполнив

lsof /var/lib/dpkg/lock

Убейте его, исправьте прерванные обновления с помощью

dpkg --configure --pending

и перезапустите обновление.

криопид (найдено через этот вопрос) может помочь, если только текущий «один процесс, а не дерево процессов» не является проблемой в этом случае.

Файлы могут быть заблокированы, потому что процесс был бесцеремонно завершен и не получил возможности очистить после себя, поэтому убедитесь, что aptitude все еще работает. Использовать lsof /var/lib/dpkg/lock как предложено в ответе Тедди для проверки - это подскажет вам pid, на котором тоже можно попробовать криопид.

В будущем я рекомендую пробовать пробегать экран везде, где это возможно. У меня появилась привычка делать screen (или byobu, оболочку экрана, определяющую некоторые полезные поведения) первым, что я запускаю, когда везде тогда я могу повторно подключиться, если возникнут проблемы. Вы можете настроить его на автоматический запуск или повторное подключение, хотя у меня никогда не было возможности сделать это нигде - в Интернете есть несколько примеров (этот например), если вы хотите это попробовать.