Hoe u de systemctl-opdracht gebruikt om services in en uit te schakelen

Hoe U De Systemctl Opdracht Gebruikt Om Services In En Uit Te Schakelen



Systemd is een van de meest gebruikte servicemanagers op Linux die wordt geleverd met het opdrachtregelhulpprogramma systemctl om systemd-services te beheren, zoals het starten van een service, het stoppen, in- en uitschakelen ervan.

In deze handleiding leg ik uit hoe je een service op Linux kunt inschakelen met de opdracht systemctl, en hoe je deze kunt uitschakelen.

Wat betekent het inschakelen van een service?

Het inschakelen van een service is iets anders dan het starten van een service. De opdracht systemctl start start alleen de service en houdt deze ingeschakeld totdat deze handmatig wordt gestopt voordat het systeem wordt opgestart of het systeem opnieuw wordt opgestart. Aan de andere kant betekent het inschakelen van een service dat de service wordt gestart tijdens het opstarten.







Indien ingeschakeld, creëert een service een symbolische link in de doelmap , ervoor te zorgen dat de service tijdens het opstarten wordt ingeschakeld. Het doel is gespecificeerd in de [Installeren] sectie van het servicebestand met de GezochtDoor richtlijn.





In de bovenstaande afbeelding is het doel multi-user.doel die het runniveau van een systeem aangeeft. Het multi-user.target betekent dat de service wordt ingeschakeld wanneer het systeem de status heeft bereikt waarin niet-grafische sessies voor meerdere gebruikers worden aangeboden.





Hoe u een service op Linux inschakelt

Voordat u een service inschakelt, controleert u eerst of deze al is in- of uitgeschakeld met behulp van de is-inschakelen d optie met systemctl.

sudo systemctl is ingeschakeld [ Servicenaam ]

Om ervoor te zorgen dat een of meer services tijdens het opstarten starten, gebruikt u de systeemctl commando met de inschakelen keuze.



sudo systeemctl inschakelen [ Servicenaam ]

Vervang in de bovenstaande opdrachten de [Servicenaam] met de naam van de service of het pad van de service.

Bijvoorbeeld om de SSH-service in te schakelen.

sudo systeemctl inschakelen ssh.service

Bij het inschakelen wordt er een multi-user.target.wants map in de /etc/systemd/system die de symlink naar het servicebestand bevat.

Als u een service inschakelt met de opdracht systemctl enable, wordt de service niet geactiveerd. Om de service in te schakelen en onmiddellijk te starten, gebruikt u de inschakelen En -nu opties.

sudo systeemctl inschakelen --nu [ Servicenaam ]

Hoe u een service op Linux opnieuw kunt inschakelen

Als u een service opnieuw inschakelt, betekent dit dat u eerst de service uitschakelt en vervolgens weer inschakelt. Het verwijdert de symlinks van de service en maakt ze opnieuw.

sudo systemctl opnieuw inschakelen [ Servicenaam ]

Laten we de SSH-service opnieuw inschakelen met behulp van de bovenstaande opdracht.

sudo systemctl schakelt ssh.service opnieuw in

Zoals te zien is in de uitvoer, zijn de gesymlinkte bestanden van de /etc/systemd/system directory eerst worden verwijderd en vervolgens opnieuw worden aangemaakt. Het start of stopt de service niet; de dienst blijft in de oorspronkelijke staat.

Houd er rekening mee dat bij het opnieuw inschakelen alleen de servicenamen nodig zijn en niet de paden.

Hoe een service op Linux uit te schakelen

Gebruik systemctl met de uitzetten optie om een ​​of meer services uit te schakelen.

sudo systemctl uitschakelen [ Servicenaam ]

Het pad van het servicebestand wordt niet gebruikt.

Laten we bijvoorbeeld de ssh-service uitschakelen.

sudo systemctl schakelt ssh.service uit

Als u de service uitschakelt, wordt de service niet gestopt, omdat deze blijft draaien tenzij deze handmatig wordt gestopt of het systeem opnieuw wordt opgestart.

Om de service onmiddellijk uit te schakelen en te stoppen, gebruikt u de -nu optie met systemctl.

sudo systemctl uitschakelen --nu [ Servicenaam ]

Conclusie

Om een ​​service in te stellen op ingeschakeld bij het opstarten, wordt de opdracht systemctl gebruikt met de optie enable. Er zijn een of meer service-/eenheidsnamen of paden nodig. In de zelfstudie heb ik besproken hoe u een service kunt inschakelen en hoe u een service opnieuw kunt inschakelen. Bovendien heb ik ook rekening gehouden met het uitschakelen van de serviceopdrachten. Voor meer informatie over het opdrachtregelhulpprogramma systemctl gebruikt u het bestand man systeemctl commando.