Klient VPN odinstalován, ale tunel se při spuštění stále zapíná
Odinstalovaný klient VPN může zanechat systemd unit, uložený profil, pomocníka a úložiště apt. Zinventarizujte všechny čtyři, než smažete cokoli dalšího.
Vaše distribuce odstraní balíček, menu ztratí položku a tunel se po dalším restartu přesto zvedne. Komerční klient VPN zanechává části, které správce balíčků nikdy nesledoval, takže čisté odstranění není totéž jako čistý stroj. Čtyři z těchto částí vysvětlují téměř každé strašidelné připojení: unit, profil připojení, privilegovaný pomocník a úložiště dodavatele. Přečtěte si všechny čtyři, než cokoli smažete, a pak každou odstraňte přes komponentu, která ji vlastní.
Co odinstalátor nikdy nezaznamenal
Správce balíčků odstraňuje soubory, které zapsal, a nic jiného. Nemá záznam o profilu připojení, který klient vytvořil za běhu, o unitu povoleném po instalaci, ani o pomocníkovi, který se zaregistroval, když běžel se zvýšenými právy. Každá z nich patří jinému subsystému a každá může balíček přežít o jeden nebo několik restartů. Právě tato mezera vysvětluje, proč může být tunel zdravý, zatímco software, který jej vytvořil, je pryč.
Zbytek má vždy vlastníka, ať už je to systemd, NetworkManager, konfigurace úložiště nebo položka automatického spuštění pro jednotlivého uživatele. Právě nalezení vlastníka jako prvního brání tomu, aby se úklid stal napůl nakonfigurovaným strojem. Přímé mazání souborů obvykle funguje, dokud je vlastník znovu nevygeneruje, a proto níže uvedené příkazy začínají dotazy.
Čtyři vlastníci, nejprve jen čtení
Začněte dotazy, ne mazáním, a zapište si přesná jména, která se vrátí. Dodavatelé často dodávají verzovaný balíček vedle metabalíčku, takže se jeden produkt může objevit pod dvěma jmény. Jméno, které se objeví v obou seznamech, je jeden produkt se dvěma vlastníky a oba je třeba odstranit. První dávka pokrývá balíčky a unity, kde se většina zbytků stane viditelnou.
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ývá dvě komponenty, které nejčastěji přežijí vymazání, totiž profil připojení a úložiště dodavatele. Čtěte sloupec UUID, ne jméno, protože duplicitní jména jsou běžná a příkaz k smazání očekává identifikátor. Řádek úložiště stojí za přečtení, i když ho dnes neodeberete, protože mrtvý hostitel dodavatele může o měsíce později rozbít nesouvisející instalaci. Ani jeden seznam nic nemění, a to je smysl jejich prvního spuštění.
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
grep -ril acmevpn /etc/apt/sources.list.d/ /etc/apt/sources.list
Proces, který je po vymazání stále živý, je buď aktivní unit, nebo potomek jiného programu. Přečtěte si tabulku procesů a řetězec jeho rodičů, než obviníte službu, která už neexistuje. Položky automatického spuštění pro jednotlivé uživatele potřebují stejný průchod a objevují se pouze v novém přihlašovacím shellu, ne v root relaci.
Tři slovesa, která nejsou zaměnitelná
Zastavení ukončí aktuální běh, deaktivace odstraní odkazy při spouštění a maskování nasměruje unit na /dev/null. Jen třetí také blokuje aktivaci přes socket, časovač nebo závislost, což z něj činí nejmocnější ze tří. Pořadí je důležité, dokud ještě rozhodujete, co se strojem uděláte. Maskování je během tohoto rozhodnutí správný stav, protože hlasitě selže, místo aby při příštím spuštění tiše začalo.
Před přeinstalací masku sundejte, jinak bude nový balíček vypadat rozbitý z důvodu, který nikdo nezaznamenal. Stejná opatrnost platí pro rozdíly v balení: jedna sestava dodává unit, který lze zastavit, zatímco jiná nezanechá žádnou službu. Zjistěte, jaké balení máte, než zvolíte sloveso, protože cesta úklidu se mezi nimi liší.
Divoké znaky jsou způsob, jak smazat špatný profil
Smažte profil s UUID, které jste si poznamenali, a nikdy s divokým znakem. Adresář keyfile obsahuje také všechny profily Wi-Fi a Ethernet na stroji, takže široká shoda odstraní věci, které ještě potřebujete. Ručně smazaný keyfile může znovu vygenerovat ta politika, která ho vlastní, což dělá smazání neúčinným.
nmcli connection delete uuid <uuid>
Nejprve exportujte bránu a identitu, pokud je tento profil jediná kopie, kterou ještě máte, protože místní smazání na serveru nic neodvolá. Úložiště se řídí stejným pravidlem: odstraňte jediný soubor dodavatele a jeho klíčenku, poté obnovte seznamy balíčků a zkuste znovu instalaci, kterou jste skutečně chtěli. Ponechání zastaralé položky třetí strany může připíchnout starou závislost nebo vůbec neodpovídat. Obě odstranění jsou malá a každé lze vrátit z kopie, kterou si uchováváte.
Co po restartu stále běží
Restartujte, než vyhlásíte vítězství, a pak hledejte artefakty, ne aplikaci. Tunelové rozhraní, zastaralá rozdělená trasa a DNS pro každé spojení, které zanechal starý klient, každé potřebuje vlastní příkaz. Všechny tři mohou přežít vymazání, které úspěšně odstranilo každý balíček.
ip link
ip route
resolvectl status
Otevřete také nový přihlašovací shell, protože položka automatického spuštění se spouští jen tam. Poté si přečtěte /etc/NetworkManager/dispatcher.d/ kvůli skriptu, který zvedne připojení pokaždé, když rozhraní změní stav, což vysvětluje tunel, který se vrací bez služby za sebou. Pokud něco stále volá ven, vystopujte proces k jeho rodiči, místo abyste mazali soubory, dokud symptom neustane. Úklid stroje a odvolání účtu zůstávají oddělené úlohy a jen jedna z nich je hotová, když restart vypadá tiše.