Distribusjonen din fjernar pakken, menyen mistar oppføringa, og tunnelen kjem likevel opp etter neste omstart. Ein kommersiell VPN-klient etterlet delar som pakkehandsamaren aldri spora, så ein rein avinstallering er ikkje det same som ein rein maskin. Fire av desse delane forklarer nesten kvar spøkjelsestilkopling: ei eining, ein tilkoplingsprofil, ein privilegert hjelpar og eit leverandørlager. Les alle fire før du slettar noko, og fjern deretter kvar einaste gjennom komponenten som eig han.

Det avinstalleringa aldri registrerte

Ein pakkehandsamar fjernar filene han sjølv skreiv ned, og ingenting anna. Han har inga oversikt over ein tilkoplingsprofil som klienten laga under køyring, over eining som vart aktivert etter installasjonen, eller over ein hjelpar som registrerte seg medan han køyrde med forhøgde rettar. Kvar av desse høyrer til eit anna delsystem, og kvar av dei kan overleve pakken i ein eller fleire omstartar. Det gapet forklarer kvifor ein tunnel kan vere sunn medan programvara som laga han er borte.

Resten har alltid ein eigar, anten det er systemd, NetworkManager, lagerkonfigurasjonen eller ei automatisk oppstartsoppføring per brukar. Å finne eigaren først er det som hindrar at ein opprydding blir ein halvkonfigurert maskin. Direkte sletting av filer verkar vanlegvis heilt til eigaren lagar dei på nytt, og difor byrjar kommandoane nedanfor med spørjingar.

Fire eigarar, først berre lesing

Start med spørjingar i staden for sletting, og noter dei nøyaktige namna som kjem tilbake. Leverandørar sender ofte ein versjonert pakke ved sida av ein metapakke, slik at eitt produkt kan dukke opp under to namn. Eit namn som står på begge listene, er eitt produkt med to eigarar, og begge må fjernast. Den første gruppa dekkjer pakkar og einingar, der dei fleste restane blir synlege.

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

Den andre gruppa dekkjer dei to komponentane som oftast overlever ein opprydding, nemleg tilkoplingsprofilen og leverandørlageret. Les UUID-kolonnen i staden for namnet, fordi dupliserte namn er vanlege og slettekommandoen ventar identifikatoren. Lagerlinja er verdt å lese sjølv når du ikkje fjernar ho i dag, sidan ein død leverandørvert kan øydeleggje ein urelatert installasjon månader seinare. Ingen av listene endrar noko, og det er nettopp difor dei blir køyrde 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

Ein prosess som framleis lever etter oppryddinga, er anten ei aktiv eining eller barnet til eit anna program. Les prosesstabellen og foreldrekjeda før du gir skulda til ein teneste som ikkje finst lenger. Automatiske oppstartsoppføringar per brukar treng same gjennomgang, og dei viser seg berre i eit ferskt innloggingsskal, ikkje i ei root-økt.

Tre verb som ikkje kan bytast

Stopp avsluttar den gjeldande køyringa, deaktivering fjernar oppstartslenkjene, og maskering peikar eininga mot /dev/null. Berre det tredje blokkerer også aktivering via ein socket, ein timer eller ein avhengigheit, noko som gjer det til det sterkaste av dei tre. Rekkjefølgja betyr noko medan du framleis avgjer kva som skal skje med maskinen. Maskering er rett tilstand under den avgjerda, fordi ho feilar høgt i staden for å starte stille ved neste oppstart.

Fjern maskeringa før du installerer på nytt, elles vil den nye pakken sjå øydelagd ut av ein grunn ingen har skrive ned. Same varsemd gjeld pakkeforskjellar: eitt bygg leverer ei eining som kan stoppast, medan eit anna ikkje etterlet noka teneste i det heile. Fastslå kva pakking du har før du vel eit verb, fordi oppryddingsvegen er ulik.

Med jokerteikn slettar du feil profil

Slett profilen med UUID-en du noterte, og aldri med eit jokerteikn. keyfile-katalogen inneheld også alle Wi-Fi- og Ethernet-profilar på maskinen, så ein brei treff fjernar ting du framleis treng. Ein keyfile som blir sletta manuelt, kan bli gjenoppretta av policyen som eig han, noko som får slettinga til å verke ineffektiv.

nmcli connection delete uuid <uuid>

Eksporter gateway og identitet først dersom den profilen er den einaste kopien du har igjen, sidan lokal sletting ikkje tilbakekallar noko på tenaren. Lageret følgjer same regel: fjern den eine leverandørfila og nøkkelringen hennar, oppdater deretter pakkelistene og prøv installasjonen du eigentleg ønskte på nytt. Å la ei utdatert tredjepartsoppføring bli ståande kan feste ein gammal avhengigheit eller ikkje svare i det heile. Begge fjerningane er små, og kvar av dei kan angrast frå kopien du held på.

Kva som framleis køyrer etter omstarten

Start på nytt før du erklærer siger, og sjå deretter etter artefaktar i staden for programmet. Eit tunellgrensesnitt, ei utdatert delt rute og DNS per lenkje som den gamle klienten etterlet, treng kvar sin kommando. Alle tre kan overleve ein opprydding som fjerna kvar pakke med suksess.

ip link
ip route
resolvectl status

Opne også eit ferskt innloggingsskal, fordi ei automatisk oppstartsoppføring berre blir utløyst der. Les deretter /etc/NetworkManager/dispatcher.d/ etter eit skript som reiser ein tilkopling kvar gong eit grensesnitt skiftar tilstand, noko som forklarer ein tunnel som kjem tilbake utan teneste bak seg. Viss noko framleis ringjer ut, spor prosessen til forelderen i staden for å slette filer til symptomet stoppar. Å rydde maskinen og å tilbakekalle kontoen blir verande separate jobbar, og berre éin av dei er ferdig når omstarten ser stille ut.

Relaterte artiklar