Hoe een Systemd-servicebestand te verwijderen

Hoe Een Systemd Servicebestand Te Verwijderen



Veel pakketten op Linux worden geleverd met servicebestanden die op de achtergrond worden uitgevoerd. Vaak worden de servicebestanden niet verwijderd, zelfs niet nadat het bijbehorende pakket is verwijderd. Bijgevolg veroorzaakt het verzamelen van ongewenste services extra belasting van het systeem. In dergelijke gevallen wordt het absoluut noodzakelijk om onnodige servicebestanden te verwijderen.

Om de servicebestanden te verwijderen, is het van cruciaal belang om de set mappen te begrijpen die de servicebestanden bevatten.

Servicebestanden worden doorgaans in verschillende specifieke mappen opgeslagen, afhankelijk van hun doel en wie ze heeft geïnstalleerd. Hieronder vindt u een lijst met mappen.







/lib/systemd/system Servicebestanden van de gedownloade pakketten
/etc/systemd/system Servicebestanden door de systeembeheerder
~/.config/systemd/users Servicebestanden van normale gebruikers

Dus als een pakket wordt gedownload en daemon en services levert, worden deze bestanden opgeslagen in de /lib/systemd/system map. De /etc/systemd/system directory bevat servicebestanden die zijn gemaakt door systeembeheerders en alleen sudo-gebruikers kunnen deze wijzigen. Terwijl ~/.config/systemd/users directory bevat servicebestanden die door normale gebruikers zijn gemaakt.

Hoe u toegang krijgt tot het servicebestand

De eerste stap bij het verwijderen van een servicebestand is het vinden van het exacte pad ervan. Gebruik de om het pad te vinden systemctl-status opdracht met de servicenaam.

systemctl-status [ SERVICE-NAAM ]

Om de servicenaam te vinden, kunt u alle actieve services vermelden.

systemctl lijst-eenheid-bestanden --type =dienst --staat = rennen

Als u alle services wilt weergeven, gebruikt u de opdracht systemctl with -type En -staat opties.

systemctl lijst-eenheid-bestanden

Om bijvoorbeeld het eenheidspad van te vinden mijnservice.service , zal ik het statuscommando uitvoeren.

systemctl-status mijnservice.service

De uitvoer toont het pad van het eenheidsbestand in het Geladen sectie.

Nu we het pad van de service hebben verkregen, zullen we deze in de volgende stap verwijderen.

Waarschuwing: Voordat u de servicebestanden van het systeem verwijdert, is het van cruciaal belang dat u een volledig inzicht heeft in de systeemservicebestanden en hun betekenis voor het systeem. Het verwijderen van een belangrijk servicebestand uit het systeem kan onherstelbare schade veroorzaken.

Hoe het servicebestand te verwijderen

Om de service op Linux te verwijderen, moet het systeemctl En rm Er worden opdrachtregelhulpprogramma's gebruikt. Gebruik systemctl om de service te stoppen en uit te schakelen, en gebruik vervolgens rm om de servicebestanden uit de betreffende map te verwijderen.

Om het servicebestand te verwijderen, volgt u de onderstaande opdrachtenreeks.

sudo systemctl stop SERVICENAAM

sudo systemctl schakelt SERVICENAAM uit

sudo rm / libr / gesystematiseerd / systeem / SERVICE-NAAM #Service uit het gedownloade pakket

sudo rm / enz / gesystematiseerd / systeem / SERVICE-NAAM #Service door de beheerder

sudo rm ~ / .config / gesystematiseerd / gebruikers / SERVICE-NAAM #Service door de normale gebruiker

sudo systemctl daemon-herladen

sudo systemctl reset mislukt

Ten eerste wordt aanbevolen de service te stoppen om er zeker van te zijn dat deze niet actief is tijdens het verwijderen, maar als u deze uitschakelt, wordt ook voorkomen dat deze opnieuw wordt gestart. Vervolgens moet deze worden uitgeschakeld, waardoor de service niet automatisch kan starten; Als u de service uitschakelt, worden ook de symbolische koppelingen verwijderd die zijn gemaakt in de .wil/ of . vereist/ mappen. Verwijder daarna de servicebestanden met behulp van de rm opdracht uit de betreffende directory.

Laad de systemd-configuraties opnieuw met behulp van daemon-herladen en de executie opnieuw instellen mislukt commando. Met de opdracht reset-failed worden alle services met een mislukte status opnieuw ingesteld.

Voorbeeld

Laten we in dit voorbeeld een service verwijderen die is gemaakt door een systeembeheerder. De servicenaam is mijnservice.service en wordt geplaatst in de /etc/systemd/system map.

Controleer de status van de dienst.

systemctl-status mijnservice.service

De service is actief; let op het pad tegen de Geladen sectie en uitzetten de dienst.

sudo systemctl schakel mijnservice.service uit

Het verwijdert ook de symbolische link uit het /etc/systemd/system map.

Verwijder vervolgens het servicebestand met behulp van de rm opdracht- en servicebestandspad.

sudo rm / enz / gesystematiseerd / systeem / mijnservice.service

Laad nu de systemd-configuratie opnieuw om de wijzigingen toe te passen.

systemctl daemon-herladen

Dat is het! De dienst is verwijderd en staat niet meer in uw systeem. Controleer dit door de servicestatus te controleren.

Conclusie

Het verwijderen van een service wordt verplicht als deze actief is, zelfs als deze niet langer nodig is. Het kan systeembronnen verbruiken als het onbeheerd wordt achtergelaten. In deze handleiding heb ik een volledige methode besproken om een ​​service uit Linux te verwijderen. Identificeer eerst de servicenaam en het pad en schakel deze vervolgens uit. Verwijder daarna het servicebestand uit de betreffende map en laad de systemd-configuraties opnieuw om de procedure te voltooien.