Удаление пакета VPN не удалось на этапе prerm: что проверить первым делом
Неудачный скрипт prerm останавливает удаление до того, как исчезнут файлы. Прочитайте состояние пакета и точный этап, затем используйте поддерживаемый путь восстановления.
Удаление может остановиться на полпути с ошибкой, называющей скрипт обслуживания, и VPN останется удалённым наполовину: файлы конфигурации остаются, служба может всё ещё работать, а менеджер пакетов отказывается продолжать. Заманчивое решение из старой темы форума — удалить скрипт и принудительно завершить удаление. Это лечит симптом и отбрасывает неудавшийся шаг очистки. Сначала прочитайте этап и состояние пакета.
Какой именно этап жизненного цикла не удался
Пакеты Debian запускают preinst и postinst при установке, а prerm и postrm при удалении или полной очистке, и код возврата каждого скрипта определяет следующее действие. Ошибка из prerm означает, что удаление остановилось до того, как файлы пакета были удалены; ошибка из postrm означает, что удаление уже произошло, а очистка не удалась. Это разные ситуации с разным восстановлением. Политика дистрибутива также ожидает, что скрипты выдержат повторный запуск, потому что неудавшийся этап нужно повторить, а не избегать.
Запишите первую ошибку дословно, вместе с именем пакета, версией и выпуском дистрибутива. Последующие ошибки обычно являются следствиями.
Прочитайте состояние пакета до его изменения
Спросите менеджер пакетов, что, по его мнению, произошло, прежде чем выдавать следующую команду.
dpkg -l vpn-package
dpkg --audit
apt-get -s remove vpn-packageСписок показывает флаги состояния пакета, аудит находит пакеты, оставленные сломанными или наполовину настроенными, а смоделированное удаление печатает, что сделал бы apt, ничего не трогая. Симуляция, которая падает на том же скрипте, подтверждает этап, а не сеть. Запомните скрипт, названный в ошибке, и перечислите информационные файлы пакета, если нужно увидеть, какие скрипты существуют. Ничто из этого пока не оправдывает правку этих файлов.
Защитите путь управления до починки
Если VPN несёт вашу единственную SSH-сессию к этому хосту, его удаление прервёт ваш доступ посреди починки. Сначала обеспечьте консоль, внешний интерфейс управления или второй маршрут и убедитесь, что он работает, прежде чем начинать. Сохраните профиль и все инструкции для повторной регистрации, которые понадобятся позже, потому что полная очистка может удалить созданную конфигурацию. Держите учётные данные вне заметок, которые вы вставляете в заявку, а закрытые ключи — полностью вне диагностики.
Документированное ручное переопределение считайте крайней мерой под руководством владельца пакета, с учётом пропущенных шагов. Никогда не удаляйте скрипты по шаблону, потому что собственный список очистки пакета — это запись того, что ещё нужно сделать.
Разделите результаты по пакету, сети и учётным данным
После завершения поддерживаемой процедуры нужно независимо проверить три результата. Транзакция пакета должна показывать чистое состояние, без наполовину настроенных записей, оставшихся в аудите. Сеть должна соответствовать задуманному: нужная служба остановлена, нет устаревших маршрутов или настроек DNS, и есть рабочий путь для замены или прямого доступа. Удалённая сторона — третий результат, а устаревшие учётные данные следует отозвать через владельца той учётной записи, потому что удаление клиента ничего не отзывает.
Затем подключитесь снова и проверьте один разрешённый пункт назначения. Чистое состояние пакета с всё ещё работающим туннелем — это другой результат, чем чистая сеть, и только второй говорит вам, что удаление действительно вступило в силу.