Noe starter hele tiden en OpenVPN-unit: finn kilden
Å deaktivere en unit er ikke det samme som å fjerne aktiveringen. Les instansen, malmappingen og de omvendte avhengighetene før du sletter en profil.
En OpenVPN-instans dukker opp ved oppstart under et navn du ikke kjenner igjen, og å stoppe den virker til neste omstart. Det mønsteret betyr at du har fjernet prosessen, men ikke aktiveringen. De to er forskjellige objekter, og bare ett av dem er synlig i et statusbilde. Å finne aktiveringen krever fire skrivebeskyttede kommandoer og én beslutning.
Navngi den nøyaktige uniten først
Arbeid ut fra unitnavnet i journalen i stedet for fra et profilfilnavn. Instansen kan hete openvpn@, openvpn-client@, openvpn-server@ eller noe distribusjonsspesifikt, og å gjette navnet sender deg til feil mal. Statusutdata navngir uniten som faktisk kjørte, og det er det eneste navnet som betyr noe her. Kopier det nøyaktig, inkludert eventuelt suffiks.
Følgende kommandoer beskriver den uniten uten å endre noe. systemctl show rapporterer fragmentstien, kildestien, unitfilens tilstand, eventuelle drop-ins og hva som utløste den. list-dependencies --reverse viser hvilke innlastede units som peker på den. Begge er skrivebeskyttede, så kjør dem før du danner en teori.
Bytt ut det observerte navnet overalt. Et kopiert eksempelnavn er den vanligste måten å undersøke feil tjeneste på, og det gir selvsikre svar om en unit som aldri kjørte.
Les malen for å lære filnavnet
En instans-unit er en utvidelse av en mal, og malen avgjør hvilken konfigurasjonsfil den leser. En kommandolinje som slutter i en instansspesifikk plassholder, løses opp til instansnavnet pluss suffikset. Hvis suffikset er .conf og instansen heter old, er filen old.conf. Kaller du instansen old.conf, ber samme mal om old.conf.conf.
Den detaljen forklarer en klasse duplikater. Noen legger til en andre instans under feil navn, den første fortsetter å kjøre, og verten ender med to tunneler og én forvirrende logg.
Les den effektive malen i stedet for filen du husker at du redigerte. En drop-in kan erstatte kommandolinjen, og erstatningen er det som kjører ved oppstart.
Spor hvordan den kommer inn i oppstartstransaksjonen
Tre veier er vanlige: en wants-kobling fra et target, et krav fra en annen unit, eller en generert unit fra en pakkegenerator. Listen over omvendte avhengigheter dekker de to første som innlastede grafelementer. Den dekker ikke en timer, en hook eller en ekstern forespørsel, og derfor er listen bevis snarere enn en fullstendig revisjon.
Generert utdata under /run/systemd/generator er et produkt, ikke en kilde. Å redigere det overlever bare til neste generering, og derfor ser en rettelse der vellykket ut og faller deretter tilbake.
Kontroller pakkens dokumenterte inndata før du antar hvor generatoren leser fra. En udokumentert skanning av en mappe er den vanlige grunnen til at en unit dukker opp uten en aktiveringskobling.
Fjern aktiveringen, ikke bare prosessen
Hvis instansen er direkte aktivert og virkelig utdatert, stopper systemctl disable --now den og fjerner oppstartskoblingen i ett trinn. Kontroller først at denne tunnelen ikke er din eneste administrative vei til verten. Kommandoen er et livssykluseksempel, ikke et forslag om å stoppe hver VPN på maskinen. Kjør kontrollen før kommandoen, ikke etter.
De to halvdelene kan skilles og forveksles ofte. Deaktivering stopper ikke en kjørende tjeneste, og stopp fjerner ikke aktivering, så en delvis kommando forklarer et problem som kommer tilbake ved oppstart.
En deaktivert unit kan fortsatt startes av en annen unit eller av en eksplisitt forespørsel. Når en generator eier aktiveringen, rett generatorinndata i stedet for å deaktivere utdataene. Maskering blokkerer flere veier, men kan bryte avhengigheter, så det er ikke en erstatning for forståelse.
Bekreft med en omstart, ikke med et statusbilde
Last inn systemd på nytt hvis unitdefinisjoner eller generatorinndata er endret, og undersøk deretter den resulterende tilstanden. En daemon-innlasting skyver ikke en ny profil inn i en kjørende tunnel, så de to kontrollene er atskilt. Planlegg en omstart og bekreft at instansen forblir borte mens den tiltenkte tunnelen fortsatt virker.
Behold den gamle profilen til eierskapet er forstått, og avvikle den deretter gjennom den tiltenkte prosessen. Suksess er en fraværende unit og en fungerende tilgangsvei, ikke en mislykket unit som mangler på én skjerm.