Als je meer wilt weten over init-systemen, is het belangrijk om eerst de systemctl- en service-opdrachten en hun onderliggende verschillen te begrijpen.

Belangrijkste leerpunten

  • De service- en systemctl-opdrachten in Linux zijn van vitaal belang en lijken erg op elkaar, waarbij systemctl een veelzijdiger en krachtiger commando is.
  • Met zowel service als systemctl kunnen gebruikers systeemservices configureren en gebruiken, maar ze behoren tot verschillende initialisatiesystemen (respectievelijk SysVinit en systemd).
  • Service werkt op initialisatiesysteembestanden in /etc/init.d, terwijl systemctl werkt met bestanden in /lib/systemd. Vertrouwd raken met beide opdrachten is belangrijk voor het effectief beheren van systeemservices.

service en systemctl zijn beide vitale en extreem vergelijkbare opdrachten in Linux. Ze lijken zo op elkaar dat je je gemakkelijk kunt afvragen welke verschillen er überhaupt tussen hen zijn - en of je de twee commando's door elkaar kunt gebruiken.

Als u de fijnere details over service en systemctl kent, kunt u er naadloos mee werken.

instagram viewer

Wat is het servicecommando in Linux?

In Linux is het servicecommando een wrapper-script waarmee gebruikers eenvoudig systeemservices kunnen configureren en gebruiken. Het gaat vooraf aan systemd en werkt voornamelijk met de scripts die in /etc/init.d.

Hoewel systemctl een groot deel van de eerdere betekenis van de service inhaalde, blijft het relevant door veel verouderde functies.

De verschuiving tussen de bijbehorende initialisatiesystemen - SysVinit naar systemd - was controversieel, maar toenemende uitdagingen voor de functie van het oorspronkelijke init-systeem maakten het noodzakelijk.

systemd start services parallel in plaats van een seriële reeks, waardoor de opstarttijd sneller is dan SysVinit - en het biedt iets meer geavanceerde controle van systeem-daemons via de opdrachtregelinterface (CLI).

Wat is het systemctl-commando in Linux?

Net als service is systemctl een ongelooflijk veelzijdige opdracht waarmee u dit kunt doen inschakelen, opnieuw laden, starten, stoppen en de status van services controleren draait op uw Linux-systeem.

systemctl dient als een gebruiksvriendelijke en krachtige interface voor het configureren van de bestanden in systemd. Er zijn bijvoorbeeld slechts één of twee opdrachten nodig om een ​​service tijdens het opstarten uit te schakelen met behulp van systemctl.

systemctl is achterwaarts compatibel met het initialisatiesysteem, SysVinit, dat voornamelijk wordt gebruikt met service. systemctl dient niet als een directe opvolger van service, maar het is veel veelzijdiger in termen van de tools die het biedt om systeemservices te beheren.

U kunt taken uitvoeren zoals het maskeren of uitschakelen van een service in slechts één of twee regels.

De verschillen tussen service en systemctl

service en systemctl dienen grotendeels hetzelfde doel. Veel van de overeenkomsten tussen beide zijn met opzet ingevoegd om gebruikers een meer naadloze overgang van service naar systemctl mogelijk te maken.

Er zijn echter een paar verschillen tussen de twee waarvan u op de hoogte moet zijn als u begint te werken met het initialisatiesysteem op Linux.

1. Verschillende init-systemen

Het belangrijkste verschil tussen service en systemctl is dat ze tot verschillende initialisatiesystemen behoren. service behoort tot SysVinit (System V Init), ook wel bekend als het klassieke Linux-initialisatieproces.

systemctl behoort tot systemd, de opvolger van SysVinit en het moderne initialisatieproces dat op veel Linux-systemen wordt gebruikt.

Omdat service en systemctl deel uitmaken van verschillende initialisatieprocessen, werken ze op initialisatiesysteembestanden in verschillende mappen. service werkt met de initialisatiesysteembestanden gevonden in /etc/init.d, terwijl systemctl werkt met de initialisatiesysteembestanden in /lib/systemd.

Over het algemeen is het initialisatiesysteem dat u tegenkomt bij kant-en-klare Linux-installaties systemd, dus u zult vertrouwd moeten raken met het gebruik van systemctl om ermee te communiceren.

Als u van plan bent te werken met systemen die voorafgaan aan of samenvallen met de release van systemd in 2010, kan het geen kwaad om ook vertrouwd te raken met het gebruik van het servicecommando.

2. Compatibiliteit

service blijft een uiterst nuttige opdracht in termen van compatibiliteit - als een wrapper-opdracht kan het omleiden naar de servicemanager die op verschillende systemen wordt gebruikt. Je zou moeten plannen om het te leren en het tot een onderdeel van je arsenaal te maken als je met verschillende Linux-systemen gaat werken.

3. Onderliggende functies

Een ander belangrijk verschil tussen systemctl en service ligt in de manier waarop ze werken. service is een commando op hoog niveau dat doorverwijst naar de onderliggende servicemanager die op een bepaald systeem wordt gebruikt, wat betekent dat het vrij veelzijdig is tussen systemen. Het kan doorverwijzen naar /etc/init.d, upstart of zelfs systemctl. systemctl-opdrachten werken ondertussen rechtstreeks samen met systemd.

4. Vermogen

In termen van wat u kunt bereiken, is het veilig om te zeggen dat systemctl de service in kracht ver overtreft. Naast basisfuncties, zoals het starten, stoppen, inschakelen of uitschakelen van een bepaalde service, kunt u met systemctl ook geavanceerde configuraties instellen.

service is beperkter vanwege de vereiste compatibiliteit met de onderliggende servicemanagers waarop het vertrouwt.

Systeemservices effectief configureren op Linux

service en systemctl zijn beide ongelooflijk belangrijke opdrachten voor het beheer van systeemservices. Of je nu gewoon het beste uit je Linux-systeem wilt halen of aan bedrijfsnetwerken wilt werken, vertrouwd raken met beide commando's is essentieel.

Gelukkig zijn er tal van geweldige tutorials die je kunnen helpen een meester te worden in het gebruik van systemctl en service in de terminal.