VPN-kliënt gedeïnstalleer, maar die tonnel begin steeds met selflaai
’n Verwyderde VPN-kliënt kan ’n systemd-eenheid, ’n gestoorde profiel, ’n helper en ’n apt-bewaarplek agterlaat. Inventariseer al vier voordat jy enigiets anders verwyder.
Jou distro verwyder die pakket, jou kieslys verloor sy inskrywing, en die tonnel kom steeds op ná die volgende herbegin. ’n Kommersiële VPN-kliënt laat stukke agter wat die pakketbestuurder nooit bygehou het nie, so ’n skoon verwydering is nie dieselfde as ’n skoon masjien nie. Vier van daardie stukke verklaar byna elke spookverbinding: ’n eenheid, ’n verbindingsprofiel, ’n bevoorregte helper en ’n handelaarbewaarplek. Lees al vier voordat jy enigiets uitvee, en verwyder dan elkeen deur die komponent wat dit besit.
Wat die deïnstalleerder nooit aangeteken het nie
’n Pakketbestuurder verwyder die lêers wat dit neergeskryf het en niks anders nie. Dit het geen rekord van ’n verbindingsprofiel wat die kliënt tydens looptyd geskep het nie, van ’n eenheid wat ná installasie geaktiveer is nie, of van ’n helper wat homself geregistreer het terwyl dit met verhoogde regte geloop het nie. Elkeen van dié dinge hoort aan ’n ander substelsel, en elkeen kan die pakket met ’n herbegin of meer oorleef. Daardie leemte verduidelik waarom ’n tonnel gesond kan wees terwyl die sagteware wat dit voortgebring het, weg is.
Die oorblyfsel het altyd ’n eienaar, of dit nou systemd, NetworkManager, die bewaarplekkonfigurasie of ’n outostart-inskrywing per gebruiker is. Om eers die eienaar op te spoor, is wat verhoed dat ’n opruiming ’n halfgekonfigureerde masjien word. Lêers direk uitvee werk gewoonlik totdat die eienaar hulle weer genereer, en daarom begin die opdragte hieronder met navrae.
Vier eienaars, eers net lees
Begin met navrae eerder as uitvee, en let op die presiese name wat terugkom. Handelaars lewer dikwels ’n weergawespesifieke pakket langs ’n metapakket, so een produk kan onder twee name verskyn. ’n Naam wat in albei lyste verskyn, is ’n enkele produk met twee eienaars, en albei moet verwyder word. Die eerste bondel dek pakkette en eenhede, waar die meeste oorblyfsels sigbaar word.
dpkg -l | grep -i acmevpn
systemctl list-unit-files | grep -i acmevpn
systemctl list-units --type=service --state=running | grep -i acmevpn
Die tweede bondel dek die twee komponente wat ’n verwydering die meeste oorleef, naamlik die verbindingsprofiel en die handelaarbewaarplek. Lees die UUID-kolom eerder as die naam, want dubbele name is algemeen en die uitvee-opdrag verwag die identifiseerder. Die bewaarplekreël is die moeite werd om te lees selfs wanneer jy dit nie vandag verwyder nie, want ’n dooie handelaargasheer kan maande later ’n onverwante installasie breek. Nie een van die lyste verander iets nie, en dit is die punt daarvan om hulle eerste te loop.
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
grep -ril acmevpn /etc/apt/sources.list.d/ /etc/apt/sources.list
’n Proses wat ná die verwydering nog leef, is óf ’n aktiewe eenheid óf ’n ander program se kind. Lees die prosestabel en sy ouerketting voordat jy ’n diens blameer wat nie meer bestaan nie. Outostart-inskrywings per gebruiker het dieselfde deurloop nodig, en hulle verskyn net in ’n vars aanmeldskulp eerder as in ’n root-sessie.
Drie werkwoorde wat nie uitruilbaar is nie
Stop beëindig die huidige loop, deaktiveer verwyder die selflaaiskakels, en maskering wys die eenheid na /dev/null. Net die derde blokkeer ook aktivering deur ’n socket, ’n tydhouer of ’n afhanklikheid, wat dit die sterkste van die drie maak. Die volgorde maak saak terwyl jy nog besluit wat om met die masjien te doen. Maskering is die regte toestand tydens daardie besluit, want dit misluk hard eerder as om stilweg met die volgende selflaai te begin.
Ontmasker voordat jy herinstalleer, anders sal die nuwe pakket lyk of dit stukkend is om ’n rede wat niemand neergeskryf het nie. Dieselfde versigtigheid geld vir verpakkingsverskille: een bou lewer ’n eenheid wat gestop kan word, terwyl ’n ander glad geen diens laat nie. Stel vas watter verpakking jy het voordat jy ’n werkwoord kies, want die opruimingsroete verskil tussen hulle.
Jokertekens is hoe jy die verkeerde profiel uitvee
Vee die profiel uit met die UUID wat jy aangeteken het, en nooit met ’n jokerteken nie. Die sleutellêergids hou ook elke Wi-Fi- en Ethernet-profiel op die masjien, so ’n breë passing verwyder dinge wat jy nog nodig het. ’n Sleutellêer wat met die hand uitgevee is, kan ook weer gegenereer word deur watter beleid dit ook al besit, wat die uitvee ondoeltreffend laat lyk.
nmcli connection delete uuid <uuid>
Voer eers die gateway en identiteit uit as daardie profiel die enigste kopie is wat jy nog het, want ’n plaaslike uitvee herroep niks op die bediener nie. Die bewaarplek volg dieselfde reël: verwyder die enkele handelaarlêer en sy sleutelring, verfris dan die pakketlyste en probeer weer die installasie wat jy eintlik wou hê. Om ’n verouderde derdeparty-inskrywing te laat staan, kan ’n ou afhanklikheid vaspen of glad nie antwoord nie. Albei verwyderings is klein, en enigeen van hulle kan uit die kopie wat jy hou, ongedaan gemaak word.
Wat ná die herbegin nog loop
Herbegin voordat jy die oorwinning uitroep, en soek dan na artefakte eerder as na die toepassing. ’n Tonnelkoppelvlak, ’n verouderde gesplete roete en DNS per skakel wat die ou kliënt agtergelaat het, het elkeen sy eie opdrag nodig. Al drie kan ’n verwydering oorleef wat elke pakket suksesvol verwyder het.
ip link
ip route
resolvectl status
Maak ook ’n vars aanmeldskulp oop, want ’n outostart-inskrywing werk net daar. Lees dan /etc/NetworkManager/dispatcher.d/ vir ’n skrip wat ’n verbinding opbring wanneer ’n koppelvlak van toestand verander, wat ’n tonnel verklaar wat terugkom sonder enige diens agter hom. As iets nog uitbel, spoor die proses na sy ouer in plaas daarvan om lêers te verwyder totdat die simptoom stop. Om die masjien skoon te maak en om die rekening te herroep, bly aparte take, en net een van hulle is klaar wanneer die herbegin stil lyk.