Вашата дистрибуција го отстранува пакетот, менито ја губи ставката, а тунелот сепак се крева по следното рестартирање. Комерцијален VPN клиент остава делови што менаџерот на пакети никогаш не ги следел, па чистото отстранување не е исто што и чиста машина. Четири од тие делови објаснуваат речиси секоја призрачна врска: единица, профил на врска, привилегиран помошник и складиште на добавувачот. Прочитајте ги сите четири пред да избришете нешто, потоа отстранете го секој преку компонентата што го поседува.

Што деинсталерот никогаш не запишал

Менаџерот на пакети ги отстранува само датотеките што сам ги запишал и ништо друго. Нема запис за профил на врска што клиентот го создал за време на работа, за единица овозможена по инсталацијата, ниту за помошник што се регистрирал додека работел со зголемени права. Секој од нив припаѓа на различен потсистем и секој може да го надживее пакетот едно или повеќе рестартирања. Токму тој јаз објаснува зошто тунелот може да биде здрав додека софтверот што го создал веќе го нема.

Остатокот секогаш има сопственик, било тоа да е systemd, NetworkManager, конфигурацијата на складиштето или ставка за автоматско стартување по корисник. Токму наоѓањето на сопственикот прво спречува чистењето да стане напола конфигурирана машина. Директното бришење датотеки обично работи додека сопственикот не ги создаде повторно, и затоа командите подолу почнуваат со прашања.

Четири сопственици, прво само читање

Почнете со прашања наместо со бришење и запишете ги точните имиња што се враќаат. Добавувачите често испорачуваат верзиониран пакет покрај метапакет, па еден производ може да се појави под две имиња. Име што се појавува на двете листи е еден производ со два сопственици и двата треба да се отстранат. Првата група опфаќа пакети и единици, каде повеќето остатоци стануваат видливи.

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

Втората група ги опфаќа двете компоненти што најчесто преживуваат чистење, имено профилот на врската и складиштето на добавувачот. Читајте ја колоната UUID, а не името, бидејќи дупликатите имиња се вообичаени, а командата за бришење го очекува идентификаторот. Редот на складиштето вреди да се прочита дури и кога не го отстранувате денес, бидејќи мртов домаќин на добавувач може месеци подоцна да скрши неврзана инсталација. Ниту едната листа не менува ништо, и токму затоа тие се извршуваат први.

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

Процес што е уште жив по чистењето е или активна единица или дете на друга програма. Прочитајте ја табелата на процеси и синџирот на неговите родители пред да ја обвините услугата што веќе не постои. Ставките за автоматско стартување по корисник бараат ист преглед и се појавуваат само во нова пријавна лушпа, не во root сесија.

Три глаголи што не се заменливи

Запирањето ја завршува тековната работа, оневозможувањето ги отстранува врските при подигнување, а маскирањето ја насочува единицата кон /dev/null. Само третото исто така го блокира активирањето преку сокет, тајмер или зависност, што го прави најсилно од трите. Редоследот е важен додека уште одлучувате што да правите со машината. Маскирањето е правилната состојба за време на таа одлука, бидејќи гласно пропаѓа наместо тивко да стартува при следното подигнување.

Отстранете го маскирањето пред повторна инсталација, инаку новиот пакет ќе изгледа расипан поради причина што никој не ја запишал. Истата внимателност важи и за разликите во пакувањето: една градба испорачува единица што може да се запре, додека друга не остава никаква услуга. Утврдете какво пакување имате пред да изберете глагол, бидејќи патеката на чистење се разликува.

Со џокери ја бришете погрешната профил

Избришете го профилот со UUID што сте го запишале и никогаш со џокер. Директориумот keyfile ги содржи и сите Wi-Fi и Ethernet профили на машината, па широкото совпаѓање отстранува работи што уште ви требаат. Рачно избришан keyfile може повторно да го создаде политиката што го поседува, што го прави бришењето да изгледа неефикасно.

nmcli connection delete uuid <uuid>

Прво извезете го порталот и идентитетот ако тој профил е единствената копија што уште ја имате, бидејќи локалното бришење не отповикува ништо на серверот. Складиштето го следи истото правило: отстранете ја единствената датотека на добавувачот и нејзиниот клучен приврзок, потоа освежете ги листите на пакети и обидете се повторно со инсталацијата што навистина ја сакавте. Оставањето застарена ставка од трета страна може да закачи стара зависност или воопшто да не одговори. Двете отстранувања се мали и секое може да се врати од копијата што ја чувате.

Што уште работи по рестартирањето

Рестартирајте пред да прогласите победа, потоа барајте артефакти, а не апликацијата. Тунелски интерфејс, застарена поделена рута и DNS по врска што ги оставил стариот клиент секое бара своја команда. Сите три можат да го надживеат чистењето што успешно го отстранило секој пакет.

ip link
ip route
resolvectl status

Отворете и нова пријавна лушпа, бидејќи ставката за автоматско стартување се активира само таму. Потоа прочитајте /etc/NetworkManager/dispatcher.d/ барајќи скрипта што крева врска секогаш кога интерфејсот менува состојба, што објаснува тунел што се враќа без услуга зад него. Ако нешто уште ѕвони надвор, следете го процесот до неговиот родител наместо да бришете датотеки додека симптомот не престане. Чистењето на машината и отповикувањето на сметката остануваат одделни работи и само една од нив е завршена кога рестартирањето изгледа тивко.

Поврзани статии