Обновления клиента ломают туннели, старые версии продолжают работать, и это оставляет два очевидных средства. Одно удерживает пакет на месте и ждёт исправления; другое сразу переходит на поддерживаемую конфигурацию. Они не одинаково безопасны, и ни одно не является стратегией обслуживания без выхода. Сравните их по тому, что они действительно замораживают, прежде чем выбирать.

Два средства на одну регрессию

Удержание пакета сохраняет рабочую версию установленной и не даёт APT её сдвинуть. Это покупает время, держит пользователей на связи и оставляет основную ошибку нетронутой. Движение вперёд означает найти поддерживаемый выпуск, исправляющий регрессию, или сменить владельца подключения на то, что дистрибутив всё ещё поддерживает. Это требует больше работы заранее и убирает постоянный риск.

Выбор зависит от трёх фактов, которые должны быть у вас до решения: какой компонент регрессировал, существует ли исправленный выпуск и сколько времени можно терпеть временное состояние.

Зафиксируйте сбой, прежде чем выбирать любое из двух

Обновление ядра NetworkManager, обновление плагина VPN и регрессия помощника резолвера выглядят одинаково с места пользователя, но имеют разных кандидатов на откат. Запишите точные пакеты, версии и первую новую ошибку.

apt-cache policy network-manager network-manager-openvpn
dpkg -l | grep -E 'network-manager|openvpn|wireguard'

Метаданные пакета могут устареть, если списки не обновлялись, поэтому читайте их как подсказку и сверяйте с фактически установленной версией. Не берите целевую версию из сообщения на форуме; та же строка версии из другого выпуска может нести другой набор зависимостей.

Сравните, что покрывает удержание

Удержание не даёт пакету автоматически установиться, обновиться или удалиться. Но оно не замораживает его зависимости, не чинит соединение и не делает старый бинарный файл безопасным. Именно этот разрыв и есть всё сравнение. Если регрессия пришла из библиотеки, с которой связан клиент, удержание клиента ничего не меняет, пока библиотека продолжает двигаться.

sudo apt-get -s install network-manager=1.42.4-1
apt-mark showhold

Сначала смоделируйте понижение и прочитайте предложенные изменения целиком. Понижение, удаляющее зависимость, нужную рабочему столу, — это другой инцидент, и моделирование — самое дешёвое место, чтобы его обнаружить. Если удержание действительно правильная временная граница, запишите его как решение с владельцем, причиной и условием снятия. Удержание без владельца становится постоянной инфраструктурой, которую никто не решается трогать.

Сравните пути выхода

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

sudo apt-mark unhold network-manager
sudo apt update
sudo apt full-upgrade

Какой бы выход вы ни выбрали, проверьте точный профиль, путь аутентификации, маршруты, поведение DNS и переподключение, прежде чем объявить готово. Туннель, который поднимается один раз, — не то же самое, что туннель, переживающий приостановку, смену сети и перезагрузку. Сохраните доказательства сбоя для отчёта об ошибке: версии пакетов, выдержки из журнала, структуру профиля без секретов. Никогда не прикладывайте закрытые ключи или учётные данные, чтобы сделать отчёт полнее.

Что должна содержать запись

Запишите решение в четыре строки: что регрессировало, что было удержано или изменено, кто владеет временным состоянием и что его снимает. Добавьте проверку, которую вы выполнили, потому что следующий инженер её повторит.

Удержание с датой выхода — управляемая граница отката. Удержание без неё — необъяснённое понижение, тихо ставшее частью инфраструктуры.

Похожие статьи