5

Если я запускаю команду apt-get install [package_name] и нажимаю CTRL-C в середине процесса, останавливается ли установка и возвращается ли она к исходному состоянию?

1 ответ1

5

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

Вчера на компьютере с Debian Sid я установил Ctrl+C:ed. Приглашение было возвращено мне, но Aptitude продолжала выдавать сообщения о прогрессе в терминал в течение короткого времени, пока не завершилось текущее действие.

Я полагаю, что Aptitude (который я использую, и я предполагаю, что apt-get ведет себя аналогично) пытается интеллектуально обрабатывать сигналы, и как только действие начнется (например, установка / замена / удаление), оно сделает все возможное, чтобы фактически завершить это перед выходом из процесса, чтобы не оставлять систему (и особенно состояние глобальной конфигурации пакета) в неопределенном состоянии.

Я только что попытался отправить Ctrl+C во время загрузки пакета, и загружаемый в данный момент пакет был прерван и не был сохранен в полу-загруженном состоянии. Простое выполнение нового sudo aptitude dist-upgrade перезапустило процесс с файлом, который был загружен неправильно.

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .