La vostra distribució elimina el paquet, el menú perd l’entrada i el túnel encara s’aixeca després del proper reinici. Un client VPN comercial deixa peces que el gestor de paquets mai no va rastrejar, de manera que una eliminació neta no és el mateix que una màquina neta. Quatre d’aquestes peces expliquen gairebé tota connexió fantasma: una unitat, un perfil de connexió, un auxiliar privilegiat i un dipòsit del proveïdor. Llegiu les quatre abans d’esborrar res i després elimineu cadascuna a través del component que la posseeix.

Què no va enregistrar mai el desinstal·lador

El gestor de paquets elimina els fitxers que ell va escriure i res més. No té cap registre d’un perfil de connexió que el client va crear en temps d’execució, d’una unitat habilitada després de la instal·lació, ni d’un auxiliar que es va registrar mentre s’executava amb drets elevats. Cadascuna d’aquestes peces pertany a un subsistema diferent i cadascuna pot sobreviure al paquet un reinici o diversos. Aquest buit explica per què un túnel pot estar sa mentre el programari que el va produir ja no hi és.

La resta sempre té un propietari, sigui systemd, NetworkManager, la configuració del dipòsit o una entrada d’engegada automàtica per usuari. Localitzar primer el propietari és el que evita que una neteja es converteixi en una màquina mig configurada. Esborrar fitxers directament sol funcionar fins que el propietari els regenera, i per això les ordres de sota comencen amb consultes.

Quatre propietaris, primer només lectura

Comenceu amb consultes en lloc d’esborrar i anoteu els noms exactes que tornen. Els proveïdors sovint envien una càrrega versionada al costat d’un metapaquet, de manera que un producte pot aparèixer amb dos noms. Un nom que surt a les dues llistes és un sol producte amb dos propietaris, i cal eliminar-los tots dos. El primer lot cobreix paquets i unitats, que és on la majoria de restes es fan visibles.

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

El segon lot cobreix els dos components que més sovint sobreviuen a una purga, és a dir, el perfil de connexió i el dipòsit del proveïdor. Llegiu la columna UUID en lloc del nom, perquè els noms duplicats són habituals i l’ordre d’esborrar espera l’identificador. La línia del dipòsit val la pena llegir-la encara que no l’elimineu avui, ja que un amfitrió de proveïdor mort pot trencar una instal·lació no relacionada mesos després. Cap de les dues llistes canvia res, i aquest és el motiu d’executar-les primer.

nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
grep -ril acmevpn /etc/apt/sources.list.d/ /etc/apt/sources.list

Un procés encara viu després de la purga és o bé una unitat activa o bé el fill d’un altre programa. Llegiu la taula de processos i la seva cadena de pares abans de culpar un servei que ja no existeix. Les entrades d’engegada automàtica per usuari necessiten la mateixa passada, i només apareixen en un shell d’inici de sessió nou, no en una sessió root.

Tres verbs que no són intercanviables

Aturar acaba l’execució actual, deshabilitar treu els enllaços d’engegada i emmascarar apunta la unitat a /dev/null. Només el tercer també bloqueja l’activació mitjançant un sòcol, un temporitzador o una dependència, cosa que el converteix en el més fort dels tres. L’ordre importa mentre encara decidiu què fer amb la màquina. Emmascarar és l’estat correcte durant aquesta decisió, perquè falla sorollosament en lloc d’arrencar silenciosament a la propera engegada.

Desemmascareu abans de reinstal·lar, o el paquet nou semblarà trencat per un motiu que ningú no va escriure. La mateixa precaució s’aplica a les diferències d’empaquetatge: una compilació envia una unitat que es pot aturar, mentre que una altra no deixa cap servei. Establiu quin empaquetatge teniu abans de triar un verb, perquè el camí de neteja difereix entre ells.

Els comodins són com esborreu el perfil equivocat

Esborreu el perfil amb l’UUID que vau anotar i mai amb un comodí. El directori de keyfile també conté tots els perfils Wi-Fi i Ethernet de la màquina, així que una coincidència àmplia elimina coses que encara necessiteu. Un keyfile esborrat a mà també pot ser regenerat per la política que el posseeixi, cosa que fa que l’esborrat sembli ineficaç.

nmcli connection delete uuid <uuid>

Exporteu primer la porta d’enllaç i la identitat si aquest perfil és l’única còpia que encara teniu, ja que un esborrat local no revoca res al servidor. El dipòsit segueix la mateixa regla: elimineu el fitxer únic del proveïdor i el seu anell de claus, actualitzeu les llistes de paquets i torneu a provar la instal·lació que realment volíeu. Deixar una entrada obsoleta de tercers pot fixar una dependència antiga o no respondre gens. Totes dues eliminacions són petites i qualsevol es pot desfer des de la còpia que guardeu.

Què encara s’executa després del reinici

Reinicieu abans de declarar la victòria i després busqueu artefactes en lloc de l’aplicació. Una interfície de túnel, una ruta dividida obsoleta i DNS per enllaç que el client antic va deixar enrere necessiten cadascuna la seva pròpia ordre. Les tres poden sobreviure a una purga que va eliminar tots els paquets amb èxit.

ip link
ip route
resolvectl status

Obriu també un shell d’inici de sessió nou, perquè una entrada d’engegada automàtica només s’activa allà. Després llegiu /etc/NetworkManager/dispatcher.d/ per un script que aixeca una connexió sempre que una interfície canvia d’estat, cosa que explica un túnel que torna sense cap servei al darrere. Si alguna cosa encara marca enfora, seguiu el procés fins al seu pare en lloc d’esborrar fitxers fins que el símptoma pari. Netejar la màquina i revocar el compte continuen sent tasques separades, i només una d’elles està acabada quan el reinici sembla tranquil.

Articles relacionats