Instanca OpenVPN se ob zagonu pojavi pod imenom, ki ga ne prepoznate, in njeno ustavljanje deluje do naslednjega ponovnega zagona. Ta vzorec pomeni, da ste odstranili proces, ne pa aktivacije. To sta dva različna objekta in le eden od njiju je viden na zaslonu stanja. Iskanje aktivacije zahteva štiri ukaze samo za branje in eno odločitev.

Najprej poimenujte točno enoto

Izhajajte iz imena enote v journalu, ne iz imena datoteke profila. Instanca se lahko imenuje openvpn@, openvpn-client@, openvpn-server@ ali nekaj, kar je značilno za distribucijo, in ugibanje imena vas pelje do napačne predloge. Izhod stanja navede enoto, ki je res delovala, in to je edino ime, ki je tu pomembno. Kopirajte ga natančno, vključno z morebitno pripono.

Naslednji ukazi opisujejo to enoto, ne da bi karkoli spremenili. systemctl show poroča o poti fragmenta, poti vira, stanju datoteke enote, morebitnih drop-inih in o tem, kaj jo je sprožilo. list-dependencies --reverse pokaže, katere naložene enote kažejo nanjo. Oba sta samo za branje, zato ju zaženite, preden oblikujete teorijo.

Zamenjajte opaženo ime povsod. Kopirano primerjalno ime je najpogostejši način raziskovanja napačne storitve in daje samozavestne odgovore o enoti, ki ni nikoli delovala.

Preberite predlogo, da izveste ime datoteke

Instančna enota je razširitev predloge in predloga odloča, katero konfiguracijsko datoteko bere. Ukazna vrstica, ki se konča z nadomestnim znakom za instanco, se razreši v ime instance in pripono. Če je pripona .conf in se instanca imenuje old, je datoteka old.conf. Če instanco poimenujete old.conf, ista predloga zahteva old.conf.conf.

Ta podrobnost pojasnjuje razred dvojnikov. Nekdo doda drugo instanco pod napačnim imenom, prva še naprej deluje in gostitelj konča z dvema tuneloma in enim zmedenim dnevnikom.

Berite dejansko predlogo, ne datoteke, za katero se spomnite, da ste jo urejali. Drop-in lahko zamenja ukazno vrstico in ob zagonu se izvede prav zamenjava.

Sledite, kako vstopi v zagonsko transakcijo

Pogoste so tri poti: wants povezava s cilja, zahteva druge enote ali enota, ki jo ustvari generator paketa. Seznam obratnih odvisnosti pokriva prvi dve kot naložene vnose grafa. Ne pokriva časovnika, hooka ali zunanje zahteve, zato je seznam dokaz in ne popolna revizija.

Ustvarjeni izhod v /run/systemd/generator je izdelek, ne vir. Njegovo urejanje preživi le do naslednjega ustvarjanja, zato je popravek, uporabljen tam, videti uspešen in nato izgine.

Preverite dokumentirani vhod paketa, preden domnevate, od kod generator bere. Nedokumentirano skeniranje imenika je običajen razlog, da se enota pojavi brez povezave za aktivacijo.

Odstranite aktivacijo, ne le proces

Če je instanca neposredno aktivirana in res zastarela, systemctl disable --now jo ustavi in v enem koraku odstrani zagonsko povezavo. Najprej preverite, da ta tunel ni vaša edina skrbniška pot do gostitelja. Ukaz je primer življenjskega cikla, ne predlog, da ustavite vsak VPN na stroju. Preverjanje zaženite pred ukazom, ne po njem.

Obe polovici sta ločljivi in se pogosto zamenjujeta. Onemogočanje ne ustavi delujoče storitve in ustavljanje ne odstrani aktivacije, zato delni ukaz pojasnjuje težavo, ki se ob zagonu vrne.

Onemogočeno enoto lahko še vedno zažene druga enota ali izrecna zahteva. Ko je aktivacija v lasti generatorja, popravite njegov vhod, namesto da onemogočite njegov izhod. Zakrivanje blokira več poti, lahko pa pokvari odvisnosti, zato ne nadomešča razumevanja.

Preverite s ponovnim zagonom, ne z zaslonom stanja

Znova naložite systemd, če so se spremenile definicije enot ali vhodi generatorja, nato preglejte nastalo stanje. Ponovno nalaganje demona ne potisne novega profila v delujoči tunel, zato sta preverjanji ločeni. Načrtujte ponovni zagon in potrdite, da instanca ostane odsotna, medtem ko predvideni tunel še deluje.

Obdržite stari profil, dokler ne razumete njegovega lastništva, nato ga umaknite po predvidenem postopku. Uspeh je odsotna enota in delujoča dostopna pot, ne neuspešna enota, ki manjka na enem zaslonu.

Sorodni članki