Klient VPN je odinštalovaný, ale tunel sa pri štarte stále spúšťa
Odstránený klient VPN môže zanechať jednotku systemd, uložený profil, pomocníka a úložisko apt. Zinventarizujte všetky štyri, kým vyčistíte čokoľvek iné.
Vaša distribúcia odstráni balík, ponuka stratí položku a tunel sa po ďalšom reštarte napriek tomu zdvihne. Komerčný klient VPN zanecháva časti, ktoré správca balíkov nikdy nesledoval, takže čisté odstránenie nie je to isté ako čistý stroj. Štyri z týchto častí vysvetľujú takmer každé strašidelné pripojenie: jednotka, profil pripojenia, privilegovaný pomocník a úložisko dodávateľa. Prečítajte si všetky štyri, kým čokoľvek zmažete, a potom každú odstráňte cez komponent, ktorý ju vlastní.
Čo odinštalátor nikdy nezaznamenal
Správca balíkov odstraňuje súbory, ktoré sám zapísal, a nič iné. Nemá záznam o profile pripojenia, ktorý klient vytvoril počas behu, o jednotke povolenej po inštalácii, ani o pomocníkovi, ktorý sa zaregistroval, keď bežal so zvýšenými právami. Každá z nich patrí inému podsystému a každá môže balík prežiť o jeden alebo viac reštartov. Práve táto medzera vysvetľuje, prečo môže byť tunel zdravý, kým softvér, ktorý ho vytvoril, je preč.
Zvyšok má vždy vlastníka, či už je to systemd, NetworkManager, konfigurácia úložiska alebo položka automatického spustenia pre jednotlivého používateľa. Práve nájdenie vlastníka ako prvého bráni tomu, aby sa čistenie stalo napoly nakonfigurovaným strojom. Priame mazanie súborov zvyčajne funguje, kým ich vlastník znova nevytvorí, a preto nižšie uvedené príkazy začínajú dopytmi.
Štyria vlastníci, najprv len čítanie
Začnite dopytmi, nie mazaním, a zapíšte si presné názvy, ktoré sa vrátia. Dodávatelia často dodávajú verzovaný balík vedľa metabalíka, takže jeden produkt sa môže objaviť pod dvoma názvami. Názov, ktorý sa objaví v oboch zoznamoch, je jeden produkt s dvoma vlastníkmi a obe treba odstrániť. Prvá dávka pokrýva balíky a jednotky, kde sa väčšina zvyškov stane viditeľnou.
dpkg -l | grep -i acmevpn
systemctl list-unit-files | grep -i acmevpn
systemctl list-units --type=service --state=running | grep -i acmevpn
Druhá dávka pokrýva dve komponenty, ktoré najčastejšie prežijú vymazanie, a to profil pripojenia a úložisko dodávateľa. Čítajte stĺpec UUID, nie názov, pretože duplicitné názvy sú bežné a príkaz na mazanie očakáva identifikátor. Riadok úložiska stojí za prečítanie, aj keď ho dnes neodstránite, pretože mŕtvy hostiteľ dodávateľa môže o mesiace neskôr pokaziť nesúvisiacu inštaláciu. Ani jeden zoznam nič nemení, a to je zmysel ich prvého spustenia.
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
grep -ril acmevpn /etc/apt/sources.list.d/ /etc/apt/sources.list
Proces, ktorý je po vymazaní stále živý, je buď aktívna jednotka, alebo potomok iného programu. Prečítajte si tabuľku procesov a reťazec jeho rodičov, kým obviníte službu, ktorá už neexistuje. Položky automatického spustenia pre jednotlivého používateľa potrebujú rovnaký priechod a objavujú sa iba v novom prihlasovacom shelli, nie v relácii root.
Tri slovesá, ktoré nie sú zameniteľné
Zastavenie ukončí aktuálny beh, deaktivácia odstráni odkazy pri štarte a maskovanie nasmeruje jednotku na /dev/null. Len tretie tiež blokuje aktiváciu cez socket, časovač alebo závislosť, čo z neho robí najsilnejšie z troch. Poradie je dôležité, kým ešte rozhodujete, čo so strojom urobíte. Maskovanie je počas tohto rozhodnutia správny stav, pretože hlasno zlyhá, namiesto toho aby pri ďalšom štarte ticho začalo.
Pred preinštalovaním masku zložte, inak bude nový balík vyzerať pokazený z dôvodu, ktorý nikto nezapísal. Rovnaká opatrnosť platí pre rozdiely v balení: jedna zostava dodáva jednotku, ktorú možno zastaviť, zatiaľ čo iná nezanechá žiadnu službu. Zistite, aké balenie máte, kým zvolíte sloveso, pretože cesta čistenia sa medzi nimi líši.
Divokými znakmi sa maže nesprávny profil
Zmažte profil s UUID, ktoré ste si poznamenali, a nikdy s divokým znakom. Adresár keyfile obsahuje aj všetky profily Wi-Fi a Ethernet na stroji, takže široká zhoda odstráni veci, ktoré ešte potrebujete. Ručne zmazaný keyfile môže znova vytvoriť tá politika, ktorá ho vlastní, čo robí mazanie neúčinným.
nmcli connection delete uuid <uuid>
Najprv exportujte bránu a identitu, ak je tento profil jediná kópia, ktorú ešte máte, pretože miestne zmazanie na serveri nič neodvolá. Úložisko sa riadi rovnakým pravidlom: odstráňte jediný súbor dodávateľa a jeho kľúčenku, potom obnovte zoznamy balíkov a skúste znova inštaláciu, ktorú ste skutočne chceli. Ponechanie zastaranej položky tretej strany môže pripnúť starú závislosť alebo vôbec neodpovie. Obe odstránenia sú malé a každé možno vrátiť z kópie, ktorú si uchovávate.
Čo po reštarte stále beží
Reštartujte, kým vyhlásite víťazstvo, a potom hľadajte artefakty, nie aplikáciu. Tunelové rozhranie, zastaraná rozdelená trasa a DNS pre každé spojenie, ktoré zanechal starý klient, potrebujú každé vlastný príkaz. Všetky tri môžu prežiť vymazanie, ktoré úspešne odstránilo každý balík.
ip link
ip route
resolvectl status
Otvorte aj nový prihlasovací shell, pretože položka automatického spustenia sa spustí iba tam. Potom si prečítajte /etc/NetworkManager/dispatcher.d/ kvôli skriptu, ktorý zdvihne pripojenie zakaždým, keď rozhranie zmení stav, čo vysvetľuje tunel, ktorý sa vracia bez služby za sebou. Ak niečo stále volá von, vystopujte proces k jeho rodičovi namiesto mazania súborov, kým symptóm neustane. Čistenie stroja a odvolanie účtu zostávajú oddelené úlohy a iba jedna z nich je hotová, keď reštart vyzerá ticho.