VPN klijent je deinstaliran, ali tunel se i dalje pokreće pri podizanju
Uklonjeni VPN klijent može ostaviti systemd jedinicu, spremljeni profil, pomoćnik i apt repozitorij. Popišite sva četiri prije nego što očistite bilo što drugo.
Vaša distribucija ukloni paket, vaš izbornik izgubi stavku, a tunel se ipak pojavi nakon sljedećeg restarta. Komercijalni VPN klijent ostavlja dijelove koje upravitelj paketa nikada nije pratio, pa čisto uklanjanje nije isto što i čisto računalo. Četiri takva dijela objašnjavaju gotovo svaku sablasnu vezu: jedinicu, profil veze, privilegirani pomoćnik i repozitorij dobavljača. Pročitajte sva četiri prije nego što bilo što obrišete, a zatim uklonite svaki kroz komponentu koja ga posjeduje.
Što deinstalater nikada nije zabilježio
Upravitelj paketa uklanja datoteke koje je zapisao i ništa drugo. Nema zapis o profilu veze koji je klijent stvorio tijekom rada, o jedinici omogućenoj nakon instalacije, ni o pomoćniku koji se registrirao dok je radio s povišenim pravima. Svaki od njih pripada drugom podsustavu i svaki može nadživjeti paket za jedan ili više restarta. Ta praznina objašnjava zašto tunel može biti zdrav dok softvera koji ga je stvorio više nema.
Ostatak uvijek ima vlasnika, bio to systemd, NetworkManager, konfiguracija repozitorija ili stavka automatskog pokretanja po korisniku. Upravo pronalaženje vlasnika najprije sprječava da čišćenje postane napola konfigurirano računalo. Izravno brisanje datoteka obično radi dok ih vlasnik ponovno ne generira, i zato naredbe ispod počinju upitima.
Četiri vlasnika, prvo samo čitanje
Počnite upitima, a ne brisanjem, i zabilježite točna imena koja se vrate. Dobavljači često isporučuju verzionirani paket uz meta-paket, pa se jedan proizvod može pojaviti pod dva imena. Ime koje se pojavi na oba popisa jedan je proizvod s dva vlasnika i oba treba ukloniti. Prva grupa pokriva pakete i jedinice, gdje većina ostataka postaje vidljiva.
dpkg -l | grep -i acmevpn
systemctl list-unit-files | grep -i acmevpn
systemctl list-units --type=service --state=running | grep -i acmevpn
Druga grupa pokriva dvije komponente koje najčešće prežive uklanjanje, naime profil veze i repozitorij dobavljača. Čitajte stupac UUID, a ne ime, jer su duplikati imena česti a naredba za brisanje očekuje identifikator. Redak repozitorija vrijedi pročitati čak i kada ga danas ne uklanjate, jer mrtav host dobavljača može mjesecima kasnije pokvariti nepovezanu instalaciju. Nijedan popis ništa ne mijenja, i upravo je to smisao njihovog prvog pokretanja.
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
grep -ril acmevpn /etc/apt/sources.list.d/ /etc/apt/sources.list
Proces koji je još živ nakon uklanjanja je ili aktivna jedinica ili dijete drugog programa. Pročitajte tablicu procesa i lanac njegovih roditelja prije nego što okrivite uslugu koja više ne postoji. Stavke automatskog pokretanja po korisniku trebaju isti pregled, a pojavljuju se samo u svježoj prijavnoj ljusci, ne u root sesiji.
Tri glagola koji nisu zamjenjivi
Zaustavljanje prekida trenutno pokretanje, deaktiviranje uklanja veze pri podizanju, a maskiranje usmjerava jedinicu na /dev/null. Samo treće također blokira aktivaciju kroz socket, tajmer ili ovisnost, što ga čini najjačim od tri. Redoslijed je važan dok još odlučujete što ćete s računalom. Maskiranje je ispravno stanje tijekom te odluke, jer glasno pada umjesto da tiho počne pri sljedećem podizanju.
Uklonite masku prije ponovne instalacije, inače će novi paket izgledati pokvaren zbog razloga koji nitko nije zapisao. Isto vrijedi i za razlike u pakiranju: jedna gradnja isporučuje jedinicu koja se može zaustaviti, dok druga ne ostavlja nikakvu uslugu. Utvrdite koje pakiranje imate prije nego što odaberete glagol, jer se put čišćenja razlikuje među njima.
Džokerima brišete pogrešan profil
Obrišite profil s UUID-om koji ste zabilježili i nikada s džokerom. Direktorij keyfile također drži svaki Wi-Fi i Ethernet profil na računalu, pa široko podudaranje uklanja stvari koje su vam još potrebne. Ručno obrisan keyfile može ponovno generirati politika koja ga posjeduje, zbog čega brisanje izgleda nedjelotvorno.
nmcli connection delete uuid <uuid>
Prvo izvezite gateway i identitet ako je taj profil jedina kopija koju još imate, jer lokalno brisanje ne opoziva ništa na poslužitelju. Repozitorij slijedi isto pravilo: uklonite pojedinačnu datoteku dobavljača i njen privjesak ključeva, zatim osvježite popise paketa i ponovite instalaciju koju ste zaista željeli. Ostavljanje zastarjele stavke treće strane može prikvačiti staru ovisnost ili uopće ne odgovoriti. Oba uklanjanja su mala i svako se može poništiti iz kopije koju čuvate.
Što još radi nakon restarta
Restartajte prije nego što proglasite pobjedu, a zatim tražite artefakte, a ne aplikaciju. Tunelsko sučelje, zastarjela podijeljena ruta i DNS po vezi koje je ostavio stari klijent svaki traže svoju naredbu. Sva tri mogu nadživjeti uklanjanje koje je uspješno uklonilo svaki paket.
ip link
ip route
resolvectl status
Otvorite i svježu prijavnu ljusku, jer se stavka automatskog pokretanja pokreće samo tamo. Zatim pročitajte /etc/NetworkManager/dispatcher.d/ tražeći skriptu koja podiže vezu kad god sučelje promijeni stanje, što objašnjava tunel koji se vraća bez usluge iza sebe. Ako nešto još zove van, pratite proces do njegovog roditelja umjesto da brišete datoteke dok simptom ne prestane. Čišćenje računala i opoziv računa ostaju odvojeni poslovi, i samo je jedan od njih završen kada restart izgleda tiho.