APT-tilbageholdelse eller opgraderingsvej: at rulle en VPN-klient tilbage
Sammenlign en midlertidig pakketilbageholdelse med en fremadrettet rettelse efter en VPN-klientregression, herunder hvad en tilbageholdelse fryser, hvad den ignorerer, og hvordan man forlader den.
Klientopdateringer bryder tunneler, ældre versioner bliver ved med at virke, og det efterlader to oplagte råd. Det ene holder pakken, hvor den er, og venter på en rettelse; det andet går straks videre til en understøttet ordning. De er ikke lige sikre, og ingen af dem er en vedligeholdelsesstrategi uden en udgang. Sammenlign dem på, hvad de faktisk fryser, før du vælger.
To råd for én regression
At tilbageholde en pakke holder den fungerende version installeret og forhindrer APT i at flytte den. Det køber tid, holder brugerne forbundet og lader den underliggende fejl være urørt. At gå fremad betyder at finde den understøttede udgivelse, der retter regressionen, eller at skifte forbindelsens ejer til noget, som distributionen stadig vedligeholder. Det koster mere arbejde på forhånd og fjerner den vedvarende risiko.
Valget afhænger af tre fakta, du bør have før beslutningen: hvilken komponent der regredierede, om der findes en rettet udgivelse, og hvor længe den midlertidige tilstand kan tolereres.
Fastlås fejlen, før du vælger nogen af dem
En kerneopdatering af NetworkManager, en VPN-plugin-opdatering og en regression i en resolver-hjælper ser identiske ud fra brugerens plads og har forskellige kandidater til tilbagerulning. Registrér de præcise pakker, versioner og den første nye fejl.
apt-cache policy network-manager network-manager-openvpn
dpkg -l | grep -E 'network-manager|openvpn|wireguard'
Pakkemetadata kan være forældede, når listerne ikke er opdateret, så læs dem som et fingerpeg og bekræft dem mod den faktisk installerede version. Tag ikke en målversion fra et forumindlæg; den samme versionsstreng fra en anden udgivelse kan bære et andet afhængighedssæt.
Sammenlign, hvad en tilbageholdelse dækker
En tilbageholdelse forhindrer, at en pakke automatisk installeres, opgraderes eller fjernes. Men den fryser ikke dens afhængigheder, reparerer ikke en forbindelse og gør ikke en gammel binærfil sikker. Det gab er hele sammenligningen. Hvis regressionen kom fra et bibliotek, som klienten linkes mod, ændrer tilbageholdelsen af klienten intet, mens biblioteket fortsætter med at bevæge sig.
sudo apt-get -s install network-manager=1.42.4-1
apt-mark showhold
Simulér nedgraderingen først, og læs de foreslåede ændringer i deres helhed. En nedgradering, der fjerner en afhængighed, skrivebordet har brug for, er en anden hændelse, og simuleringen er det billigste sted at opdage det. Hvis en tilbageholdelse virkelig er den rigtige midlertidige grænse, så skriv den som en beslutning med en ejer, en begrundelse og en fjernelsesbetingelse. En tilbageholdelse uden ejer bliver permanent infrastruktur, som ingen tør røre.
Sammenlign udgangsvejene
Den fremadrettede vej er en rettelse fra distributionen eller leverandøren, anvendt efter den er verificeret på en uafhængig forbindelse. Det holder systemet inden for dets understøttede opdateringsstrøm og lukker eksponeringen. Migreringsvejen erstatter klienten eller værten med noget, som distributionen stadig vedligeholder. Det er mere arbejde og ofte det eneste ærlige svar, når den regredierede komponent ikke har en rettet udgivelse i den udgivelsesgren.
sudo apt-mark unhold network-manager
sudo apt update
sudo apt full-upgrade
Uanset hvilken udgang du vælger, skal du verificere den præcise profil, godkendelsesvejen, ruterne, DNS-adfærden og genopkoblingen, før du erklærer det færdigt. En tunnel, der kommer op én gang, er ikke det samme som en, der overlever dvale, et netværksskift og en genstart. Gem fejlbeviserne til fejlrapporten: pakkeversioner, uddrag af journalen, profilstrukturen uden hemmeligheder. Vedhæft aldrig private nøgler eller legitimationsoplysninger for at gøre en rapport mere fuldstændig.
Hvad registret skal indeholde
Skriv beslutningen ned på fire linjer: hvad der regredierede, hvad der blev tilbageholdt eller ændret, hvem der ejer den midlertidige tilstand, og hvad der fjerner den. Tilføj den verifikation, du udførte, fordi den næste ingeniør vil gentage den.
En tilbageholdelse med en udgangsdato er en styret tilbagerulningsgrænse. En tilbageholdelse uden er en uforklaret nedgradering, der stille er blevet en del af infrastrukturen.