Klienta atjauninājumi lauž tuneļus, vecākas versijas turpina darboties, un tas atstāj divus acīmredzamus risinājumus. Viens notur pakotni vietā un gaida labojumu; otrs nekavējoties pāriet uz atbalstītu konfigurāciju. Tie nav vienlīdz droši, un neviens nav apkopes stratēģija bez izejas. Pirms izvēles salīdziniet tos pēc tā, ko tie patiešām iesaldē.

Divi risinājumi vienai regresijai

Pakotnes aizturēšana notur strādājošo versiju instalētu un neļauj APT to pārvietot. Tas pērk laiku, notur lietotājus savienotus un atstāj pamatā esošo kļūdu neskartu. Virzīšanās uz priekšu nozīmē atrast atbalstīto laidienu, kas novērš regresiju, vai nomainīt savienojuma īpašnieku pret kaut ko, ko distribūcija joprojām uztur. Tas prasa vairāk darba sākumā un novērš pastāvīgo risku.

Izvēle ir atkarīga no trim faktiem, kas jums jābūt pirms lēmuma: kura komponente regresēja, vai pastāv labotais laidiens un cik ilgi var paciest pagaidu stāvokli.

Fiksējiet kļūmi pirms jebkura no tiem izvēles

NetworkManager kodola atjauninājums, VPN spraudņa atjauninājums un atrisinātāja palīga regresija lietotāja vietā izskatās vienādi un tiem ir atšķirīgi atritināšanas kandidāti. Pierakstiet precīzās pakotnes, versijas un pirmo jauno kļūdu.

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

Pakotnes metadati var būt novecojuši, ja saraksti nav atsvaidzināti, tāpēc lasiet tos kā mājienu un pārbaudiet pret faktiski instalēto versiju. Neņemiet mērķa versiju no foruma ieraksta; tā pati versijas virkne no cita laidiena var nest citu atkarību kopu.

Salīdziniet, ko aizturēšana aptver

Aizturēšana neļauj pakotni automātiski instalēt, atjaunināt vai noņemt. Bet tā neiesaldē tās atkarības, nelabo savienojumu un nepadara vecu bināro failu drošu. Tieši šī plaisa ir viss salīdzinājums. Ja regresija nāca no bibliotēkas, ar kuru klients ir saistīts, klienta aizturēšana neko nemaina, kamēr bibliotēka turpina kustēties.

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

Vispirms simulējiet versijas pazemināšanu un pilnībā izlasiet ierosinātās izmaiņas. Pazemināšana, kas noņem darbvirsmas vajadzīgo atkarību, ir cits incidents, un simulācija ir lētākā vieta, kur to atklāt. Ja aizturēšana patiešām ir pareizā pagaidu robeža, pierakstiet to kā lēmumu ar īpašnieku, iemeslu un noņemšanas nosacījumu. Aizturēšana bez īpašnieka kļūst par pastāvīgu infrastruktūru, kurai neviens neuzdrošinās pieskarties.

Salīdziniet izejas ceļus

Uz priekšu vērstais ceļš ir distribūcijas vai piegādātāja labojums, ko piemēro pēc pārbaudes neatkarīgā savienojumā. Tas notur sistēmu atbalstītajā atjauninājumu plūsmā un aizver iedarbību. Migrācijas ceļš aizstāj klientu vai resursdatoru ar kaut ko, ko distribūcija joprojām uztur. Tas ir vairāk darba un bieži vien vienīgā godīgā atbilde, ja regresējušajai komponentei šajā atzarā nav labota laidiena.

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

Lai kādu izeju jūs izvēlētos, pirms paziņošanas par pabeigšanu pārbaudiet precīzo profilu, autentifikācijas ceļu, maršrutus, DNS uzvedību un atkārtotu savienojumu. Tunelis, kas uzlec vienreiz, nav tas pats, kas tunelis, kas pārdzīvo apturēšanu, tīkla maiņu un pārstartēšanu. Saglabājiet kļūmes pierādījumus kļūdas ziņojumam: pakotņu versijas, žurnāla izvilkumus, profila struktūru bez noslēpumiem. Nekad nepievienojiet privātās atslēgas vai akreditācijas datus, lai ziņojums būtu pilnīgāks.

Kas jābūt ierakstā

Pierakstiet lēmumu četrās rindās: kas regresēja, kas tika aizturēts vai mainīts, kam pieder pagaidu stāvoklis un kas to noņem. Pievienojiet veikto pārbaudi, jo nākamais inženieris to atkārtos.

Aizturēšana ar izejas datumu ir pārvaldīta atritināšanas robeža. Aizturēšana bez tās ir neizskaidrota versijas pazemināšana, kas klusi kļuvusi par infrastruktūras daļu.

Saistītie raksti