Distribusjonen din fjerner pakken, menyen mister oppføringen, og tunnelen kommer likevel opp etter neste omstart. En kommersiell VPN-klient etterlater deler som pakkebehandleren aldri sporet, så en ren avinstallering er ikke det samme som en ren maskin. Fire av disse delene forklarer nesten hver spøkelsestilkobling: en enhet, en tilkoblingsprofil, en privilegert hjelper og et leverandørlager. Les alle fire før du sletter noe, og fjern deretter hver enkelt gjennom komponenten som eier den.

Det avinstalleringen aldri registrerte

En pakkebehandler fjerner filene den selv skrev ned, og ingenting annet. Den har ingen oversikt over en tilkoblingsprofil som klienten laget under kjøring, over en enhet som ble aktivert etter installasjonen, eller over en hjelper som registrerte seg mens den kjørte med forhøyede rettigheter. Hver av disse tilhører et annet delsystem, og hver av dem kan overleve pakken i én eller flere omstarter. Det gapet forklarer hvorfor en tunnel kan være sunn mens programvaren som laget den er borte.

Resten har alltid en eier, enten det er systemd, NetworkManager, lagerkonfigurasjonen eller en automatisk oppstartsoppføring per bruker. Å finne eieren først er det som hindrer at en opprydding blir en halvkonfigurert maskin. Direkte sletting av filer virker vanligvis helt til eieren lager dem på nytt, og derfor begynner kommandoene nedenfor med spørringer.

Fire eiere, først bare lesing

Start med spørringer i stedet for sletting, og noter de nøyaktige navnene som kommer tilbake. Leverandører sender ofte en versjonert pakke ved siden av en metapakke, slik at ett produkt kan dukke opp under to navn. Et navn som står på begge listene, er ett produkt med to eiere, og begge må fjernes. Den første gruppen dekker pakker og enheter, der de fleste restene blir synlige.

dpkg -l | grep -i acmevpn
systemctl list-unit-files | grep -i acmevpn
systemctl list-units --type=service --state=running | grep -i acmevpn

Den andre gruppen dekker de to komponentene som oftest overlever en opprydding, nemlig tilkoblingsprofilen og leverandørlageret. Les UUID-kolonnen i stedet for navnet, fordi dupliserte navn er vanlige og slettekommandoen forventer identifikatoren. Lagerlinjen er verdt å lese selv når du ikke fjerner den i dag, siden en død leverandørvert kan ødelegge en urelatert installasjon måneder senere. Ingen av listene endrer noe, og det er nettopp derfor de kjøres først.

nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
grep -ril acmevpn /etc/apt/sources.list.d/ /etc/apt/sources.list

En prosess som fortsatt lever etter oppryddingen, er enten en aktiv enhet eller barnet til et annet program. Les prosesstabellen og foreldrekjeden før du gir skylden til en tjeneste som ikke finnes lenger. Automatiske oppstartsoppføringer per bruker trenger samme gjennomgang, og de vises bare i et ferskt innloggingsskall, ikke i en root-økt.

Tre verb som ikke kan byttes

Stopp avslutter den gjeldende kjøringen, deaktivering fjerner oppstartslenkene, og maskering peker enheten mot /dev/null. Bare det tredje blokkerer også aktivering via en socket, en timer eller en avhengighet, noe som gjør det til det sterkeste av de tre. Rekkefølgen betyr noe mens du fortsatt bestemmer hva som skal skje med maskinen. Maskering er riktig tilstand under den avgjørelsen, fordi den feiler høyt i stedet for å starte stille ved neste oppstart.

Fjern maskeringen før du installerer på nytt, ellers vil den nye pakken se ødelagt ut av en grunn ingen har skrevet ned. Samme forsiktighet gjelder pakkeforskjeller: én bygg leverer en enhet som kan stoppes, mens en annen ikke etterlater noen tjeneste i det hele tatt. Fastslå hvilken pakking du har før du velger et verb, fordi oppryddingsveien er forskjellig.

Med jokertegn sletter du feil profil

Slett profilen med UUID-en du noterte, og aldri med et jokertegn. keyfile-katalogen inneholder også alle Wi-Fi- og Ethernet-profiler på maskinen, så en bred treff fjerner ting du fortsatt trenger. En keyfile som slettes manuelt, kan bli gjenopprettet av policyen som eier den, noe som får slettingen til å virke ineffektiv.

nmcli connection delete uuid <uuid>

Eksporter gateway og identitet først hvis den profilen er den eneste kopien du har igjen, siden en lokal sletting ikke tilbakekaller noe på serveren. Lageret følger samme regel: fjern den ene leverandørfilen og nøkkelringen dens, oppdater deretter pakkelistene og prøv installasjonen du egentlig ønsket på nytt. Å la en utdatert tredjepartsoppføring bli stående kan feste en gammel avhengighet eller ikke svare i det hele tatt. Begge fjerningene er små, og hver av dem kan angres fra kopien du beholder.

Hva som fortsatt kjører etter omstarten

Start på nytt før du erklærer seier, og se deretter etter artefakter i stedet for programmet. Et tunnelgrensesnitt, en utdatert delt rute og DNS per lenke som den gamle klienten etterlot, trenger hver sin kommando. Alle tre kan overleve en opprydding som fjernet hver pakke med suksess.

ip link
ip route
resolvectl status

Åpne også et ferskt innloggingsskall, fordi en automatisk oppstartsoppføring bare utløses der. Les deretter /etc/NetworkManager/dispatcher.d/ etter et skript som reiser en tilkobling hver gang et grensesnitt skifter tilstand, noe som forklarer en tunnel som kommer tilbake uten tjeneste bak seg. Hvis noe fortsatt ringer ut, spor prosessen til forelderen i stedet for å slette filer til symptomet stopper. Å rydde maskinen og å tilbakekalle kontoen forblir separate jobber, og bare én av dem er ferdig når omstarten ser stille ut.

Relaterte artikler