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