apt purge jgħid li l-pakkett telaq, u xorta jiġi mina kull darba li tibda. Il-journal jibqa jikber, ir-rotot jerġgħu lura, u l-magna ġġib ruħha bħallikieku ma tneħħa xejn. L-installer tal-fornitur jista jikteb fajls li l-maniġer tal-pakketti qatt ma rreġistra, għalhekk tneħħi pakkett u tneħħi prodott huma żewġ xogħlijiet differenti. Ir-runbook hawn taħt jifred iż-żewġ rekords u jtemm it-tneħħija b apposta.

Żewġ installers, żewġ rekords differenti

Il-pakketti Debian iżommu lista tal-fajls, u purge iħassar eżattament dak li ssemmi dik il-lista flimkien mal-konfigurazzjoni tal-pakkett. Installer shell jew pakkett .run ma jżommx lista bħal dik; jikteb fejn irid, normalment f /opt, /usr/local u /etc/systemd/system. Ebda waħda minn dawk it-toroq ma tidher fil-lista tal-fajls ta ebda pakkett, għalhekk dpkg la jaf bihom u lanqas jirrapportahom. Fl-aħħar tispiċċa b żewġ sidien tal-installazzjoni fuq sistema waħda tal-fajls, u wieħed biss minnhom iżomm il-kotba.

Staqsi lil dpkg dwar il-passa speċifika qabel ma tħassarha. Passa li huwa jiċħad hija tiegħek biex tneħħiha, u l-istess tweġiba tgħidlek jekk aġġornament aktar tard hux se jġibha lura.

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

Unit u l-link wants tiegħu huma fajls separati

L-attivazzjoni hija att separat mill-installazzjoni. L-unit jiddikjara relazzjonijiet tal-mira fis-sezzjoni [Install] tiegħu, u systemctl enable jibdel dawk id-dikjarazzjonijiet f links simboliċi ġewwa d-direttorju .wants/ ta kull mira. Issa hemm żewġ toroq: il-fajl tal-unit, u l-link li jiġbdu f mira tal-boot. Ħassar il-fajl biss u l-link ma jindikax xejn, li jipproduċi lanjanza fil-boot; ħassar il-link biss u l-unit jibqa jista jinbeda bl-isem. It-tnejn iridu jmorru.

Neħħihom fl-ordni u erġa għabbi wara, sabiex systemd jieqaf iżomm id-definizzjonijiet qodma fil-memorja.

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

Aqra FragmentPath minflok ma tassumi l-post, għax il-fornitur jista jkun kiteb f /usr/lib/systemd/system jew f /lib/systemd/system minflok f /etc. It-tħassir tal-kopja li kont qed tistennieħa jħalli dik effettiva għadha taħdem, u l-isewwi jidher b suċċess sa l-erba tagħbija li jmiss. Erġa elenka l-fajls tal-unit ladarba titlesta t-tagħbija, u kkonferma li l-isem ma jidhirx aktar.

Sib il-binarju li jżomm dan l-arranġament ħaj

Unit attivat ikompli jibda d-daemon tkun xi tkun li temmen id-database tal-pakketti. Dak il-proċess jista jġib il-mina lura, jerġa jżid ir-rotot jew jirrestawra regola kill-switch, u l-imġiba tidher sopranaturali sakemm ma tispezzjonax l-arranġament. Segwi l-passa ExecStart u ċċekkja jekk il-binarju għadux hemm, għax fajl eżegwibbli mħalli taħt /opt huwa kollox li jeħtieġ l-arranġament. It-tħassir tal-unit iwaqqaf il-bidu skedat; ma jħassarx il-programm.

Itratta d-direttorji tal-istat bl-istess kura. It-tokens tal-kont, il-profilji ġġenerati u l-listi tas-servers fil-cache jgħixu taħt /var/lib jew f direttorju tad-dar, u dawk huma kredenzjali, mhux cache li tarmi. Neħħihom ladarba s-servizz ikun waqaf, b apposta, u noti x ħaqt.

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

Agħżel sid wieħed tal-boot u ippruvah

Tliet kandidati jistgħu jitolbu l-boot, u l-installazzjoni tat-tliet flimkien tipproduċi tellieqa minflok protezzjoni doppja. Fajl tal-awtostart tad-desktop jaħdem biss wara li xi ħadd jidħol, unit systemd jaħdem aktar kmieni imma jeħtieġ klijent li jaħdem mingħajr skrin, u entrata cron @reboot tinfetaħ skont skeda li tista tkun ħażina għal klijent tan-netwerk. Il-CLI tal-fornitur jista barra minn hekk jitlob argument tas-server, għax fil-boot m hemmx sessjoni preċedenti biex tkompli. Agħżel il-kandidat li jaqbel mal-mod kif il-klijent jawtentika, u warrab l-oħrajn.

Ippruvah billi terġa tibda l-magna u tħares lejn tliet fatti indipendenti: l-istat tal-unit, il-lista tal-proċessi, u konnessjoni ġdida ma xi ħaġa li tista tivverifika. Klijent li jeħtieġ keyring jew login interattiv ifalli fil-boot anke b fajl tal-unit korrett, u l-journal jgħid hekk jekk taqrah minflok ma tara biss l-istat tas-servizz.

Jew agħti lill-klijent kredenzjali li taħdem mingħajr mistoqsija, jew ibda fil-login minflok. It-tnejn huma difendibbli, u l-għaqda tagħhom hija kif mina waħda takkwista żewġ sidien li jiġġieldu fuqha.

Ikteb x għandu jistenna l-purge li jmiss

Noti żewġ fatti wara kull tneħħija manwali: liema installer ħoloq l-arranġament, u liema sid issa jibdah. Dik in-nota tbiddel il-purge li jmiss minn sorpriża għal punt f lista ta verifika, u tgħix itwal mill-persuna li għamlet ix-xogħol.

Żommha ħdejn il-konfigurazzjoni tas-servizz u mhux f direttorju personali, u indika d-data, għax aġġornament tal-fornitur jista jirrestawra unit li ħassart. Li tqabbel systemctl list-unit-files ma dik in-nota kull ftit xhur jaqbad ir-restawr waqt li l-isewwi għadu rħis.

Artikli relatati