Vaša distribucija ukloni paket, vaš meni 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 čist računar. Četiri takva dijela objašnjavaju gotovo svaku sablasnu vezu: unit, profil veze, privilegovani pomoćnik i repozitorij dobavljača. Pročitajte sva četiri prije nego što bilo šta obrišete, a zatim uklonite svaki kroz komponentu koja ga posjeduje.

Šta deinstaler nikada nije zabilježio

Upravitelj paketa uklanja datoteke koje je zapisao i ništa drugo. Nema zapis o profilu veze koji je klijent stvorio tokom rada, o unitu omogućenom nakon instalacije, ni o pomoćniku koji se registrirao dok je radio s povišenim pravima. Svaki od njih pripada drugom podsistemu 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 konfigurisan računar. Direktno brisanje datoteka obično radi dok ih vlasnik ponovo ne generiše, i zato komande ispod počinju upitima.

Četiri vlasnika, prvo samo čitanje

Počnite upitima, a ne brisanjem, i zabilježite tač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 obje liste je jedan proizvod s dva vlasnika i oba treba ukloniti. Prva grupa pokriva pakete i unit-e, 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 kolonu UUID, a ne ime, jer su duplikati imena česti a komanda za brisanje očekuje identifikator. Red repozitorija vrijedi pročitati čak i kada ga danas ne uklanjate, jer mrtav host dobavljača može mjesecima kasnije pokvariti nepovezanu instalaciju. Nijedna lista 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 aktivan unit 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 unit na /dev/null. Samo treće također blokira aktivaciju kroz socket, tajmer ili zavisnost, što ga čini najjačim od tri. Redoslijed je važan dok još odlučujete šta ćete s računarom. Maskiranje je ispravno stanje tokom 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 niko nije zapisao. Isto važi i za razlike u pakovanju: jedna gradnja isporučuje unit koji se može zaustaviti, dok druga ne ostavlja nikakvu uslugu. Utvrdite koje pakovanje 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čunaru, pa široko podudaranje uklanja stvari koje su vam još potrebne. Ručno obrisan keyfile može ponovo generisati 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 serveru. Repozitorij slijedi isto pravilo: uklonite pojedinačnu datoteku dobavljača i njen keyring, zatim osvježite liste paketa i ponovite instalaciju koju ste zaista željeli. Ostavljanje zastarjele stavke treće strane može prikvačiti staru zavisnost ili uopće ne odgovoriti. Oba uklanjanja su mala i svako se može poništiti iz kopije koju čuvate.

Šta još radi nakon restarta

Restartujte prije nego što proglasite pobjedu, a zatim tražite artefakte, a ne aplikaciju. Tunelski interfejs, zastarjela podijeljena ruta i DNS po vezi koje je ostavio stari klijent svaki traže svoju komandu. 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 interfejs 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čunara i opoziv računa ostaju odvojeni poslovi, i samo je jedan od njih završen kada restart izgleda tiho.

Povezani članci