Абнаўленні кліента ламаюць тунелі, старыя версіі працягваюць працаваць, і гэта пакідае два відавочныя рашэнні. Адно ўтрымлівае пакет на месцы і чакае выпраўлення; другое адразу пераходзіць да падтрыманай канфігурацыі. Яны не аднолькава бяспечныя, і ні адно не з'яўляецца стратэгіяй абслугоўвання без выхаду. Параўнайце іх па тым, што яны насамрэч замарожваюць, перш чым выбіраць.

Два рашэнні для аднаго рэгрэсу

Затрыманне пакета захоўвае працоўную версію ўсталяванай і не дазваляе 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 і перапаключэнне, перш чым абвясціць гатовасць. Тунель, які ўзнімаецца адзін раз, не тое самае, што тунель, які вытрымлівае прыпынак, змену сеткі і перазагрузку. Захавайце доказы збою для справаздачы: версіі пакетаў, вытрымкі з журнала, структуру профілю без сакрэтаў. Ніколі не далучайце прыватныя ключы або ўліковыя даныя, каб зрабіць справаздачу паўнейшай.

Што павінен змяшчаць запіс

Запішыце рашэнне ў чатыры радкі: што рэгрэсавала, што было затрымана або зменена, хто валодае часовым станам і што яго здымае. Дадайце праверку, якую вы правялі, бо наступны інжынер яе паўторыць.

Затрыманне з датай выхаду — кіраваная мяжа адкату. Затрыманне без яе — невытлумачаны адкат, які ціха стаў часткай інфраструктуры.

Падобныя артыкулы