Итак, я выполнял обновление Ubuntu Server с 11.04 до 11.10.
Я забыл об этом в фоновом режиме, и мой SSH-клиент вышел из строя и отключился (замазка на Windows, иди разберись). Последней вещью на моем терминале был вопрос о сохранении старого конфига и т. Д.
Когда я снова вошел на сервер, файлы aptitude были заблокированы другим процессом, поэтому я предполагаю, что этот процесс обновления находится в ожидании моего ввода.
Как я могу взаимодействовать с этим процессом и продолжить обновление? Если возможно.
Благодарность
Ответы:
Процесс на самом деле выполняется в сеансе экрана или byobu от имени пользователя root. заново подключитесь к серверу с замазкой на порту 22 или отказоустойчивом 1022. sudo su - или su - в вашу корневую учетную запись и вернитесь на экран с помощью byobu или screen -r и возобновите с того места, где вы оставили.
о да, я выяснил трудный путь ;-)
источник
screen -r <id>
также работает, и вам нужно всего лишь ввести несколько символов идентификатора, чтобы он работал.screen
не установлен.sudo screen -D -r
послеsudo su -
(если не root).Ты не можешь Найдите процесс обновления, выполнив
Убейте его, исправьте все прерванные обновления
и перезапустите обновление.
источник
do-release-upgrade
?and restart the upgrade
Шаг не работает в моем случае (я потерял SSH сессию во времяdo-release-upgrade
14.04 -> 16.04). Что делать , вместо этого , как последний шаг , чтобы завершить обновление релиза ,sudo apt autoremove
а затемsudo shutdown -r now
.cryopid (найденный через этот вопрос ) может помочь, если текущий «один процесс, а не дерево процессов» не является проблемой в этом случае.
Файлы могут быть заблокированы, потому что процесс был убит бесцеремонно, и у него не было возможности очистить после себя, поэтому убедитесь, что aptitude все еще работает. Используйте,
lsof /var/lib/dpkg/lock
как предложено в ответе Тедди, чтобы проверить - это скажет вам pid, чтобы тоже попробовать криопид.В будущем я рекомендую пробовать проходить через экран везде, где это возможно. Я приобрел привычку экрана (или byobu, который является оберткой вокруг экрана, который определяет некоторые полезные поведения), являясь первым, что я запускаю, когда SSHing куда-либо, затем я могу восстановить соединение, если есть проблемы. Вы можете настроить его на автоматический запуск или повторное подключение, хотя я никогда не удосужился сделать это где-либо - есть несколько примеров в Интернете ( например, этот ), если вы хотите попробовать это.
источник