Zoeken op website

Netwerkservices configureren om automatisch te starten bij het opstarten


Het is meestal een goed idee om essentiële netwerkservices zo te configureren dat ze automatisch starten bij het opstarten. Dit bespaart u het gedoe om ze handmatig te starten bij een herstart en ook de resulterende ravage die wordt veroorzaakt als u dit vergeet te doen. Enkele van de cruciale netwerkdiensten zijn SSH, NTP en httpd.

U kunt bevestigen wat uw systeemservicemanager is door de volgende opdracht uit te voeren.

ps --pid 1

Op basis van de uitvoer van de bovenstaande opdracht gebruikt u een van de volgende opdrachten om te configureren of elke service automatisch moet starten bij het opstarten of niet:

Op systemd-gebaseerd
----------- Enable Service to Start at Boot -----------
systemctl enable [service]
----------- Prevent Service from Starting at Boot -----------
systemctl disable [service] # prevent [service] from starting at boot
Op sysvinit-gebaseerd
----------- Start Service at Boot in Runlevels A and B -----------
chkconfig --level AB [service] on 
-----------  Don’t Start Service at boot in Runlevels C and D -----------
chkconfig --level CD service off 

Op een systemd systeem zoals CentOS 8, RHEL 8 en Fedora 30+, is de systemctl commando wordt gebruikt voor het beheren van services. Als u bijvoorbeeld de uitgeschakelde services wilt bekijken, voert u de opdracht uit:

sudo systemctl list-unit-files --state=disabled
sudo chkconfig --list     [On sysvinit-based]

De onderstaande uitvoer drukt alle uitgeschakelde services af en zoals u kunt zien, wordt de service httpd vermeld, wat impliceert dat deze niet is geconfigureerd om te starten bij het opstarten.

Om een service te laten starten bij het opstarten, gebruikt u de syntaxis:

sudo systemctl enable service-name
sudo chkconfig service_name on     [On sysvinit-based] 

Bijvoorbeeld om de httpd-service in te schakelen bij het opstarten.

sudo systemctl enable httpd
sudo chkconfig httpd on     [On sysvinit-based] 

Om te bevestigen dat de httpd-service is ingeschakeld, vermeldt u alle ingeschakelde services door de opdracht uit te voeren:

sudo systemctl list-unit-files --state=enabled
sudo chkconfig --list | grep 3:on     [On sysvinit-based] 

Uit de bovenstaande uitvoer kunnen we duidelijk zien dat de httpd-service nu verschijnt in de lijst met ingeschakelde services.

Lees deze volgende artikelen voor meer informatie over de opdrachten systemctl en chkconfig:

  • Hoe 'Systemd'-services en -eenheden te beheren met behulp van 'Systemctl' in Linux
  • Basisvoorbeelden van chkconfig-opdrachten in Linux