Slik sletter du en Systemd-tjenestefil

Slik Sletter Du En Systemd Tjenestefil



Mange pakker på Linux kommer med tjenestefiler som kjører i bakgrunnen. Ofte slettes ikke tjenestefilene selv etter at den tilknyttede pakken er slettet. Følgelig forårsaker akkumulering av uønskede tjenester ekstra belastning på systemet. I slike tilfeller blir det viktig å slette unødvendige tjenestefiler.

For å slette tjenestefilene er det avgjørende å forstå settet med kataloger som inneholder tjenestefilene.

Tjenestefiler lagres vanligvis i flere spesifikke kataloger, avhengig av formålet og hvem som installerte dem. En liste over kataloger er gitt nedenfor.







/lib/systemd/system Tjenestefiler fra de nedlastede pakkene
/etc/systemd/system Tjenestefiler av systemadministratoren
~/.config/systemd/users Tjenestefiler av vanlige brukere

Så hvis en pakke er lastet ned og gir demon og tjenester, vil disse filene bli lagret i /lib/systemd/system katalog. De /etc/systemd/system katalogen inneholder tjenestefiler opprettet av systemadministratorer, og bare sudo-brukere kan endre dem. Samtidig som ~/.config/systemd/users katalogen inneholder tjenestefiler opprettet av vanlige brukere.

Hvordan få tilgang til tjenestefilen

Det første trinnet for å slette en tjenestefil er å finne den nøyaktige banen til den. For å finne stien, bruk systemctl-status kommando med tjenestenavnet.

systemctl-status [ SERVICE-NAVN ]

For å finne tjenestenavnet kan du liste opp alle de kjørende tjenestene.

systemctl list-unit-filer --type =tjeneste --stat =løper

Hvis du vil vise alle tjenestene, bruk systemctl-kommandoen med -type og -stat alternativer.

systemctl list-unit-filer

For eksempel for å finne enhetsbanen til minservice.service , vil jeg utføre statuskommandoen.

systemctl status myservice.service

Utdataene viser banen til enhetsfilen i Lastet seksjon.

Nå som vi har fått banen til tjenesten, skal vi fortsette å slette den i det påfølgende trinnet.

Advarsel: Før du sletter tjenestefilene fra systemet, er det avgjørende å ha en fullstendig forståelse av systemtjenestefilene og deres betydning for systemet. Sletting av en viktig tjenestefil fra systemet kan forårsake irreversibel skade.

Slik sletter du tjenestefilen

For å slette tjenesten på Linux, systemctl og rm kommandolinjeverktøy vil bli brukt. Bruk systemctl for å stoppe og deaktivere tjenesten, og bruk deretter rm for å fjerne tjenestefilene fra den respektive katalogen.

For å slette tjenestefilen, følg kommandosekvensen gitt nedenfor.

sudo systemctl stoppe SERVICE-NAME

sudo systemctl deaktiver SERVICE-NAME

sudo rm / lib / systemd / system / SERVICE-NAVN #Tjeneste fra den nedlastede pakken

sudo rm / etc / systemd / system / SERVICE-NAVN #Tjeneste av administratoren

sudo rm ~ / .config / systemd / brukere / SERVICE-NAVN #Tjeneste av den vanlige brukeren

sudo systemctl daemon-reload

sudo systemctl tilbakestilling mislyktes

For det første anbefales det å stoppe tjenesten for å sikre at den ikke kjører under fjerning, men å deaktivere den vil også forhindre at den starter igjen. Da må den deaktiveres, noe som hindrer tjenesten i å starte automatisk; Deaktivering av tjenesten fjerner også de symbolske koblingene som er opprettet i .ønsker/ eller . krever/ kataloger. Etter det fjerner du tjenestefilene ved hjelp av rm kommando fra den respektive katalogen.

Last inn systemd-konfigurasjonene på nytt ved å bruke daemon-reload og utføre tilbakestilling mislyktes kommando. Kommandoen reset-failed tilbakestiller alle tjenestene med en mislykket tilstand.

Eksempel

I dette eksemplet, la oss slette en tjeneste opprettet av en systemadministrator. Tjenestens navn er minservice.service og er plassert i /etc/systemd/system katalog.

Sjekk statusen til tjenesten.

systemctl status myservice.service

Tjenesten kjører; legg merke til banen mot Lastet seksjon og deaktiver tjenesten.

sudo systemctl deaktiver myservice.service

Det vil også fjerne den symbolske lenken fra /etc/systemd/system katalog.

Deretter fjerner du tjenestefilen ved å bruke rm kommando- og tjenestefilbane.

sudo rm / etc / systemd / system / minservice.service

Last nå systemd-konfigurasjonen på nytt for å bruke endringene.

systemctl daemon-reload

Det er det! Tjenesten er fjernet og er ikke lenger i systemet ditt. Bekreft det ved å sjekke tjenestestatusen.

Konklusjon

Sletting av en tjeneste blir obligatorisk hvis den kjører, selv om den ikke lenger er nødvendig. Den kan forbruke systemressurser hvis den blir stående uten tilsyn. I denne guiden dekket jeg en komplett metode for å slette en tjeneste fra Linux. Identifiser først tjenestenavnet og banen, og deaktiver den deretter. Fjern deretter tjenestefilen fra den respektive katalogen og last inn systemkonfigurasjonene på nytt for å fullføre prosedyren.