Jakelusi poistaa paketin, valikkosi menettää merkintänsä, ja tunneli nousee silti seuraavan uudelleenkäynnistyksen jälkeen. Kaupallinen VPN-asiakasohjelma jättää osia, joita paketinhallinta ei koskaan seurannut, joten puhdas poisto ei ole sama asia kuin puhdas kone. Neljä näistä osista selittää lähes jokaisen kummitusyhteyden: yksikkö, yhteysprofiili, etuoikeutettu apuohjelma ja toimittajan varasto. Lue kaikki neljä ennen kuin poistat mitään, ja poista sitten kukin sen omistavan komponentin kautta.

Mitä asennuksen poisto ei koskaan kirjannut

Paketinhallinta poistaa tiedostot, jotka se itse kirjasi, eikä mitään muuta. Sillä ei ole merkintää yhteysprofiilista, jonka asiakasohjelma loi ajon aikana, yksiköstä, joka otettiin käyttöön asennuksen jälkeen, eikä apuohjelmasta, joka rekisteröi itsensä toimiessaan korotetuilla oikeuksilla. Kukin niistä kuuluu eri alijärjestelmään, ja kukin voi selvitä paketista yhden tai useamman uudelleenkäynnistyksen yli. Juuri tämä aukko selittää, miksi tunneli voi olla terve, vaikka sen tuottanut ohjelmisto on poissa.

Jäänteellä on aina omistaja, olipa se systemd, NetworkManager, varaston kokoonpano tai käyttäjäkohtainen automaattisen käynnistyksen merkintä. Omistajan löytäminen ensin estää puhdistusta muuttumasta puoliksi konfiguroiduksi koneeksi. Tiedostojen suora poistaminen yleensä toimii, kunnes omistaja luo ne uudelleen, ja siksi alla olevat komennot alkavat kyselyillä.

Neljä omistajaa, ensin vain lukeminen

Aloita kyselyillä poistamisen sijaan ja kirjaa tarkat nimet, jotka palaavat. Toimittajat toimittavat usein versioidun paketin metapaketin rinnalle, joten yksi tuote voi näkyä kahdella nimellä. Nimi, joka esiintyy molemmissa luetteloissa, on yksi tuote, jolla on kaksi omistajaa, ja molemmat on poistettava. Ensimmäinen erä kattaa paketit ja yksiköt, joissa suurin osa jäänteistä tulee näkyviin.

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

Toinen erä kattaa kaksi komponenttia, jotka selviävät puhdistuksesta useimmin, nimittäin yhteysprofiilin ja toimittajan varaston. Lue UUID-sarake nimen sijaan, koska päällekkäiset nimet ovat tavallisia ja poistokomento odottaa tunnistetta. Varastorivi kannattaa lukea, vaikka et poistaisi sitä tänään, sillä kuollut toimittajan palvelin voi rikkoa riippumattoman asennuksen kuukausia myöhemmin. Kumpikaan luettelo ei muuta mitään, ja juuri siksi ne ajetaan ensin.

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

Prosessi, joka on vielä elossa puhdistuksen jälkeen, on joko aktiivinen yksikkö tai toisen ohjelman lapsi. Lue prosessitaulukko ja sen vanhempiketju ennen kuin syytät palvelua, jota ei enää ole. Käyttäjäkohtaiset automaattisen käynnistyksen merkinnät tarvitsevat saman kierroksen, ja ne näkyvät vain tuoreessa kirjautumiskuoressa, eivät root-istunnossa.

Kolme verbiä, jotka eivät ole vaihdettavissa

Pysäyttäminen lopettaa nykyisen ajon, poistaminen käytöstä poistaa käynnistyslinkit, ja peittäminen osoittaa yksikön osoitteeseen /dev/null. Vain kolmas estää myös aktivoinnin pistokkeen, ajastimen tai riippuvuuden kautta, mikä tekee siitä kolmesta vahvimman. Järjestyksellä on väliä, kun vielä päätät, mitä koneelle tehdään. Peittäminen on oikea tila tuon päätöksen aikana, koska se epäonnistuu äänekkäästi sen sijaan, että käynnistyisi hiljaa seuraavalla käynnistyskerralla.

Poista peittäminen ennen uudelleenasennusta, tai uusi paketti näyttää rikkinäiseltä syystä, jota kukaan ei kirjannut. Sama varovaisuus koskee paketointieroja: yksi koostumus toimittaa yksikön, joka voidaan pysäyttää, kun taas toinen ei jätä lainkaan palvelua. Selvitä, mikä paketointi sinulla on, ennen kuin valitset verbin, koska puhdistuspolku eroaa niiden välillä.

Jokerimerkeillä poistat väärän profiilin

Poista profiili kirjaamallasi UUID:llä, et koskaan jokerimerkillä. Keyfile-hakemisto sisältää myös jokaisen koneen Wi-Fi- ja Ethernet-profiilin, joten laaja osuma poistaa asioita, joita vielä tarvitset. Käsin poistettu keyfile voi syntyä uudelleen sen politiikan toimesta, joka omistaa sen, mikä saa poistamisen näyttämään tehottomalta.

nmcli connection delete uuid <uuid>

Vie ensin yhdyskäytävä ja identiteetti, jos kyseinen profiili on ainoa jäljellä oleva kopio, sillä paikallinen poisto ei peru mitään palvelimella. Varasto noudattaa samaa sääntöä: poista yksittäinen toimittajatiedosto ja sen avainrengas, päivitä sitten pakettiluettelot ja yritä uudelleen sitä asennusta, jota todella halusit. Vanhentuneen kolmannen osapuolen merkinnän jättäminen voi naulata vanhan riippuvuuden tai jättää vastaamatta kokonaan. Molemmat poistot ovat pieniä, ja kumpi tahansa voidaan perua säilyttämästäsi kopiosta.

Mikä vielä toimii uudelleenkäynnistyksen jälkeen

Käynnistä uudelleen ennen voiton julistamista ja etsi sitten artefakteja, ei sovellusta. Tunneliliitäntä, vanhentunut jaettu reitti ja linkkikohtainen DNS, jotka vanha asiakasohjelma jätti, tarvitsevat kukin oman komentonsa. Kaikki kolme voivat selvitä puhdistuksesta, joka poisti jokaisen paketin onnistuneesti.

ip link
ip route
resolvectl status

Avaa myös tuore kirjautumiskuori, sillä automaattisen käynnistyksen merkintä laukeaa vain siellä. Lue sitten /etc/NetworkManager/dispatcher.d/ skriptin varalta, joka nostaa yhteyden aina, kun liitännän tila muuttuu, mikä selittää tunnelin, joka palaa ilman palvelua taustalla. Jos jokin soittaa yhä ulos, seuraa prosessia sen vanhempaan sen sijaan että poistaisit tiedostoja, kunnes oire lakkaa. Koneen puhdistaminen ja tilin peruuttaminen pysyvät erillisinä töinä, ja vain toinen niistä on valmis, kun uudelleenkäynnistys näyttää hiljaiselta.

Aiheeseen liittyvät artikkelit