apt purge segir að pakkinn sé farinn, og samt kemur göng á ný við hverja ræsingu. Journal heldur áfram að stækka, leiðir koma aftur, og vélin hagar sér eins og engu hafi verið eytt. Uppsetningarforrit framleiðanda getur skrifað skrár sem pakkastjórinn skráði aldrei, þannig að að fjarlægja pakka og að fjarlægja vöru eru tvö mismunandi verk. Runbookið hér að neðan aðskilur skráningarnar tvær og klárar fjarlæginguna af ásettu ráði.

Tveir uppsetningarforrit, tvær mismunandi skráningar

Debian-pakkar halda skráalista, og purge eyðir nákvæmlega því sem sá listi nefnir auk stillingar pakkans. Skeljauppsetning eða .run búnt heldur engum slíkum lista; það skrifar þangað sem það vill, venjulega í /opt, /usr/local og /etc/systemd/system. Ekkert þessara slóða kemur fram í skráalista neins pakka, svo dpkg hvorki þekkir þær né tilkynnir þær. Þú endar með tvo eigendur uppsetningar á einu skráarkerfi, og aðeins annar þeirra heldur bókhald.

Spyrðu dpkg um tiltekna slóð áður en þú eyðir henni. Slóð sem það afneitar er þín til að fjarlægja, og sama svar segir þér hvort síðari uppfærsla myndi setja hana aftur.

dpkg -S /etc/systemd/system/acmevpn.service
systemctl list-unit-files | grep -i acmevpn

Eining og wants-hlekkur hennar eru aðskildar skrár

Virkjun er aðgerð aðskilin frá uppsetningu. Einingin lýsir marktengslum í [Install] kaflanum, og systemctl enable breytir þeim yfirlýsingum í táknræna hlekki í .wants/ möppu hvers marks. Nú eru tvær slóðir: skrá einingarinnar og hlekkurinn sem dregur hana inn í ræsingarmark. Eyðið aðeins skránni og hlekkurinn vísar í ekkert, sem veldur kvörtun við ræsingu; eyðið aðeins hlekknum og einingin er áfram ræsanleg eftir nafni. Bæði verða að fara.

Fjarlægðu þau í réttri röð og endurhladdu síðan, svo systemd hætti að halda gömlu skilgreiningunum í minni.

systemctl disable --now acmevpn.service
systemctl show -p FragmentPath -p ExecStart acmevpn.service
sudo rm /etc/systemd/system/acmevpn.service
sudo rm /etc/systemd/system/multi-user.target.wants/acmevpn.service
systemctl daemon-reload

Lestu FragmentPath í stað þess að gera ráð fyrir staðsetningunni, því framleiðandi kann að hafa skrifað í /usr/lib/systemd/system eða /lib/systemd/system frekar en /etc. Að eyða eintakinu sem þú varst að vænta lætur hið virka keyra áfram, og viðgerðin virðist takast þangað til næsta endurhleðsla. Listaðu skrár eininganna aftur þegar endurhleðslunni lýkur, og staðfestu að nafnið birtist ekki lengur.

Finndu tvíundaskrána sem heldur fyrirkomulaginu lifandi

Virk eining heldur áfram að ræsa dæmoninn hvað sem pakkagagnagrunnurinn heldur. Sú ferli getur komið göngunum aftur upp, bætt leiðum við á ný eða endurheimt kill-switch reglu, og hegðunin virðist yfirnáttúruleg þar til þú skoðar fyrirkomulagið. Fylgdu slóð ExecStart og athugaðu hvort tvíundaskráin sé enn þar, því keyrsluskrá sem látin er vera undir /opt er allt sem fyrirkomulagið þarf. Að eyða einingunni stöðvar áætlaða ræsingu; það eyðir ekki forritinu.

Meðhöndla stöðumöppur af sömu varúð. Reikningstókar, mynduð prófíl og skyggðir netþjónalistar lifa undir /var/lib eða í heimamöppu, og það eru auðkenni, ekki hendaþykni. Fjarlægðu þau eftir að þjónustan er stöðvuð, viljandi, og skráðu hvað þú tókst.

sudo ls -l /opt/acmevpn /usr/local/bin/acmevpn
sudo find /var/lib -maxdepth 2 -iname "*acme*"
systemctl is-enabled acmevpn.service

Veldu einn eiganda ræsingar og prófaðu hann

Þrír kandídatar geta gert tilkall til ræsingarinnar, og að setja upp alla þrjá skapar kapphlaup frekar en tvöfalda vörn. Sjálfvirk ræsiskrá skrifborðs keyrir aðeins eftir að einhver skráir sig inn, systemd eining keyrir fyrr en þarf biðlara sem virkar án skjás, og cron @reboot færsla kviknar samkvæmt áætlun sem getur verið röng fyrir netbiðlara. CLI framleiðanda kann að auki að krefjast netþjónsarguments, því við ræsingu er engin fyrri lota til að halda áfram. Veldu kandídatann sem passar við hvernig biðlarinn auðkennir sig, og slepptu hinum.

Prófaðu það með því að endurræsa vélina og skoða þrjár óháðar staðreyndir: stöðu einingarinnar, ferlalistann og nýja tengingu við eitthvað sem þú getur staðfest. Biðlari sem þarf lyklahring eða gagnvirka innskráningu mistekst við ræsingu jafnvel með rétta einingarskrá, og journal segir það ef þú lest hana í stað þess að lesa aðeins stöðu þjónustunnar.

Annaðhvort gefðu biðlinum auðkenni sem virkar án fyrirspurnar, eða ræstu hann við innskráningu. Bæði eru verjanleg, og að sameina þau er hvernig ein göng fá tvo eigendur sem berjast um þau.

Skrifaðu niður hvað næsta purge á að búast við

Skráðu tvær staðreyndir eftir hverja handvirka fjarlægingu: hvaða uppsetningarforrit bjó til fyrirkomulagið, og hvaða eigandi ræsir það núna. Sú athugasemd breytir næstu purge úr óvæntum atburði í atriði á gátlista, og hún lifir lengur en manneskjan sem vann verkið.

Geymdu hana við hlið þjónustustillingarinnar frekar en í persónulegri möppu, og dagsettu hana, því uppfærsla frá framleiðanda getur endurheimt einingu sem þú eyddir. Að bera systemctl list-unit-files saman við þá athugasemd á nokkurra mánaða fresti grípur endurheimtina meðan viðgerðin er enn ódýr.

Tengdir greinar