A disztribúciója eltávolítja a csomagot, a menüje elveszíti a bejegyzését, az alagút mégis feljön a következő újraindítás után. Egy kereskedelmi VPN-kliens olyan darabokat hagy hátra, amelyeket a csomagkezelő soha nem követett, így a tiszta eltávolítás nem ugyanaz, mint a tiszta gép. Négy ilyen darab magyarázza szinte az összes kísértetkapcsolatot: egy egység, egy kapcsolati profil, egy emelt jogú segédprogram és egy szállítói tároló. Olvassa el mind a négyet, mielőtt bármit törölne, majd mindegyiket az őt birtokló komponensen keresztül távolítsa el.

Amit az eltávolító soha nem jegyzett fel

A csomagkezelő csak azokat a fájlokat távolítja el, amelyeket maga jegyzett fel, semmi mást. Nincs nyilvántartása arról a kapcsolati profilról, amelyet a kliens futásidőben hozott létre, arról a telepítés után engedélyezett egységről, sem arról a segédprogramról, amely emelt jogosultságokkal futva regisztrálta magát. Ezek mindegyike más alrendszerhez tartozik, és mindegyik túlélheti a csomagot egy vagy több újraindítással. Ez a hézag magyarázza, miért lehet egészséges egy alagút, miközben az őt létrehozó szoftver már eltűnt.

A maradéknak mindig van gazdája, legyen az systemd, NetworkManager, a tároló beállítása vagy felhasználónkénti automatikus indítási bejegyzés. A gazda első megtalálása az, ami megakadályozza, hogy egy tisztítás félig beállított géppé váljon. A fájlok közvetlen törlése általában addig működik, amíg a gazda újra nem állítja elő őket, ezért az alábbi parancsok lekérdezésekkel kezdődnek.

Négy gazda, először csak olvasás

Kezdje lekérdezésekkel, ne törléssel, és jegyezze fel a visszatérő pontos neveket. A szállítók gyakran egy verziózott csomagot is szállítanak a meta-csomag mellett, így egy termék két néven is megjelenhet. Az a név, amely mindkét listán szerepel, egyetlen termék két gazdával, és mindkettőt el kell távolítani. Az első csoport a csomagokat és egységeket fedi le, ahol a legtöbb maradék láthatóvá válik.

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

A második csoport azt a két komponenst fedi le, amely a legtöbbször túléli a tisztítást, nevezetesen a kapcsolati profilt és a szállítói tárolót. A név helyett az UUID-oszlopot olvassa, mert a kettőzött nevek gyakoriak, és a törlési parancs az azonosítót várja. A tároló sora akkor is érdemes olvasásra, ha ma nem távolítja el, mert egy halott szállítói hoszt hónapokkal később tönkretehet egy független telepítést. Egyik lista sem változtat meg semmit, és éppen ezért futnak először.

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

A tisztítás után még élő folyamat vagy egy aktív egység, vagy egy másik program gyermeke. Olvassa el a folyamattáblát és annak szülőláncát, mielőtt olyan szolgáltatást hibáztatna, amely már nem létezik. A felhasználónkénti automatikus indítási bejegyzéseknek ugyanerre az átvizsgálásra van szükségük, és csak friss bejelentkezési héjban jelennek meg, nem root-munkamenetben.

Három ige, amelyek nem cserélhetők fel

A leállítás befejezi a jelenlegi futást, a letiltás eltávolítja az indítási hivatkozásokat, a maszkolás pedig a /dev/null felé irányítja az egységet. Csak a harmadik blokkolja a socketen, időzítőn vagy függőségen keresztüli aktiválást is, ami a három közül a legerősebbé teszi. A sorrend addig számít, amíg még eldönti, mi történjen a géppel. A maszkolás e döntés alatt a helyes állapot, mert hangosan meghiúsul ahelyett, hogy a következő indításkor csendben elindulna.

Az újratelepítés előtt oldja fel a maszkolást, különben az új csomag töröttnek tűnik egy ok miatt, amelyet senki nem jegyzett fel. Ugyanez a figyelmeztetés érvényes a csomagolási különbségekre: az egyik build olyan egységet szállít, amely leállítható, a másik pedig egyáltalán nem hagy szolgáltatást. Mielőtt igét választana, állapítsa meg, melyik csomagolása van, mert a tisztítási útvonal eltér közöttük.

Helyettesítő karakterekkel törli a rossz profilt

A feljegyzett UUID-vel törölje a profilt, és soha ne helyettesítő karakterrel. A keyfile könyvtár a gép összes Wi-Fi- és Ethernet-profilját is tartalmazza, így a széles egyezés olyan dolgokat távolít el, amelyekre még szüksége van. A kézzel törölt keyfile-t újra létrehozhatja az a szabályzat, amely birtokolja, ami hatástalannak tünteti fel a törlést.

nmcli connection delete uuid <uuid>

Először exportálja az átjárót és az identitást, ha ez a profil az egyetlen még megmaradt példány, mert a helyi törlés semmit nem von vissza a kiszolgálón. A tároló ugyanezt a szabályt követi: távolítsa el az egyetlen szállítói fájlt és kulcstartóját, majd frissítse a csomaglistákat, és próbálja újra a ténylegesen kívánt telepítést. Egy elavult harmadik féltől származó bejegyzés megtartása régi függőséget rögzíthet, vagy egyáltalán nem válaszol. Mindkét eltávolítás kicsi, és bármelyik visszavonható a megőrzött másolatból.

Mi fut még az újraindítás után

Indítsa újra, mielőtt győzelmet hirdet, majd az alkalmazás helyett műtermékeket keressen. Egy alagút-interfész, egy elavult osztott útvonal és a régi kliens által hátrahagyott kapcsolatonkénti DNS mindegyike saját parancsot igényel. Mindhárom túlélhet egy olyan tisztítást, amely minden csomagot sikeresen eltávolított.

ip link
ip route
resolvectl status

Nyisson friss bejelentkezési héjat is, mert az automatikus indítási bejegyzés csak ott lép életbe. Ezután olvassa a /etc/NetworkManager/dispatcher.d/ könyvtárat egy olyan szkript után, amely felhozza a kapcsolatot, valahányszor egy interfész állapotot vált, ami magyarázza a szolgáltatás nélkül visszatérő alagutat. Ha valami még kifelé tárcsázik, kövesse a folyamatot a szülőjéig, ahelyett hogy fájlokat törölne, amíg a tünet meg nem szűnik. A gép megtisztítása és a fiók visszavonása továbbra is külön feladat, és csak az egyikük van kész, amikor az újraindítás csendesnek tűnik.

Kapcsolódó cikkek