apt purge seit dat it pakket fuort is, en dochs komt der by elke start noch in tunnel omheech. It journal bliuwt groeien, de rûtes komme werom, en de masine docht as wie der neat fuorthelle. In leveransier syn ynstallaasje kin bestannen skriuwe dyst de pakketbehearder nea fêstlein hat, dus in pakket de-ynstallearje en in produkt de-ynstallearje binne ferskate taken. De runbook hjirûnder skiedt de beide registraasjes en makket it fuortheljen mei opset dien.

Twa ynstallearders, twa ferskate registraasjes

Debian-pakketten hâlde in bestânlist by, en in purge smitet krekt fuort wat dy list neamt plus de pakketkonfiguraasje. In shell-ynstallearder of in .run-bondel hâldt sa'n list net by; hy skriuwt wêr't er wol, meastentiids yn /opt, /usr/local en /etc/systemd/system. Gjin fan dy paden ferskynt yn de bestânlist fan hokker pakket dan ek, dus dpkg wit der net fan en meldt se net. Jo einigje mei twa ynstallaasje-eigners op ien bestânsysteem, en mar ien fan harren hâldt de boekhâlding by.

Freegje dpkg om it krekte paad foar't jo it fuortsmitte. In paad dat it ôfwiist is fan jo om fuort te heljen, en itselde antwurd fertelt jo oft in lettere upgrade it weromsette soe.

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

In unit en syn wants-keppeling binne aparte bestannen

Ynskeakelje is in aparte die fan ynstallearjen. De unit ferklearret doelrelaasjes yn syn [Install]-seksje, en systemctl enable makket dy ferklearrings symboalyske keppelings yn de .wants/-map fan elk doel. No binne der twa paden: it unitbestân, en de keppeling dy't it in opstartdoel yn lûkt. Smyt allinnich it bestân fuort en de keppeling wiist nei neat, wat by it opstarten in klacht opleveret; smyt allinnich de keppeling fuort en de unit bliuwt by namme startber. Beide moatte fuort.

Helje se yn folchoarder fuort en laad dêrnei opnij, sadat systemd de âlde definysjes net mear yn it ûnthâld hâldt.

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

Lês FragmentPath ynstee fan de lokaasje oan te nimmen, want in leveransier hat miskien yn /usr/lib/systemd/system of /lib/systemd/system skreaun yn stee fan /etc. It fuortsmitten fan de kopy dy't jo ferwachten lit de effektive draaie, en de repaaraasje liket suksesfol oant de folgjende werlaad. List de unitbestannen opnij as it werlaadjen klear is, en befêstigje dat de namme net mear ferskynt.

Fyn it binêre bestân dat de regeling libben hâldt

In ynskeakele unit bliuwt de daemon starten, wat de pakketdatabank ek tinkt. Dat proses kin de tunnel wer omheech bringe, rûtes wer tafoegje of in kill-switch-regel weromsette, en it gedrach liket boppenatuerlik oant jo de regeling besjogge. Folgje it paad ExecStart en kontrolearje oft it binêre bestân der noch is, want in útfierber bestân dat ûnder /opt efterbleaun is, is alles wat de regeling nedich hat. It fuortsmitten fan de unit stopet de plande start; it smyt it programma net fuort.

Behannel steatmappen mei deselde soarch. Akkounttokens, generearre profilen en bewarre serverlisten libje ûnder /var/lib of yn in thúsmappe, en dat binne bewizen fan identiteit, gjin fuortsmytbere cache. Helje se fuort nei't de tsjinst stoppe is, mei opset, en notearje wat jo meinaam hawwe.

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

Kies ien eigner fan it opstarten en test it

Trije kandidaten kinne it opstarten opeaskje, en alle trije ynstallearje jout in wedstriid yn stee fan dûbele feiligens. In autostartbestân fan it buroblêd rint pas nei't immen oanmeld is, in systemd-unit rint earder mar hat in klant nedich dy't sûnder skerm wurket, en in cron-@reboot-ynfoer giet ôf neffens in skema dat ferkeard wêze kin foar in netwarkklant. De CLI fan de leveransier kin ekstra in serverargumint freegje, om't der by it opstarten gjin eardere sesje is om troch te gean. Kies de kandidaat dy't past by hoe't de klant autentisearret, en lit de oaren falle.

Test it troch de masine opnij te starten en nei trije ûnôfhinklike feiten te sjen: de steat fan de unit, de prosesslist, en in nije ferbining nei eat dat jo ferifiearje kinne. In klant dy't in kaaihinger of in ynteraktive oanmelding nedich hat, falt by it opstarten om, sels mei in krekt unitbestân, en it journal seit dat as jo it lêze yn stee fan allinnich de tsjinststatus.

Jou de klant in bewize fan identiteit dat sûnder fraach wurket, of start it by oanmelding. Beide binne ferdigenber, en se kombinearje is hoe't ien tunnel twa eigners krijt dy't derom fjochtsje.

Skriuw op wat de folgjende purge ferwachtsje moat

Notearje twa feiten nei elke hannelsmjittige fuortheljen: hokker ynstallearder de regeling makke hat, en hokker eigner it no start. Dy nota feroaret de folgjende purge fan ferrassing yn in punt fan in kontrolelist, en se libbet langer as de persoan dy't it wurk dien hat.

Bewarje se njonken de tsjinstkonfiguraasje yn stee fan yn in persoanlike map, en datearje se, want in leveransierupdate kin in unit weromsette dy't jo fuortha. Troch systemctl list-unit-files elke pear moannen mei dy nota te fergelykjen, fange jo it weromsetten wylst it noch goedkeap is om te reparearjen.

Relatearre artikelen