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