Sådan konfigureres netværkstjenester til automatisk start ved opstart


Det er normalt en god ide at konfigurere vigtige netværkstjenester til automatisk start ved opstart. Dette sparer dig besværet med at starte dem manuelt efter en genstart, og også den resulterende kaos forårsaget, hvis du glemmer at gøre det. Nogle af de afgørende netværkstjenester inkluderer SSH, NTP og httpd.

Du kan bekræfte, hvad der er din systemtjenestemanager ved at køre følgende kommando.

# ps --pid 1

Baseret på output fra ovenstående kommando bruger du en af følgende kommandoer til at konfigurere, om hver tjeneste skal starte automatisk ved opstart eller ej:

----------- Enable Service to Start at Boot -----------
# systemctl enable [service]
----------- Prevent Service from Starting at Boot -----------
# systemctl disable [service] # prevent [service] from starting at boot
----------- 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 

På et systemd-system som CentOS 8, RHEL 8 og Fedora 30+ bruges systemctl-kommandoen til administration af tjenester. For eksempel for at få et overblik over de deaktiverede tjenester skal du køre kommandoen:

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

Outputtet nedenfor udskriver alle deaktiverede tjenester, og som du kan se, vises httpd-tjenesten, hvilket antyder, at den ikke er konfigureret til at starte ved opstart.

For at aktivere en tjeneste at starte ved opstart skal du bruge syntaksen:

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

For eksempel for at aktivere httpd-tjeneste ved udførelse af boot.

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

For at bekræfte, at httpd-tjenesten er aktiveret, skal du liste alle aktiverede tjenester ved at udføre kommandoen:

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

Fra ovenstående output kan vi tydeligt se, at httpd-tjenesten nu vises på listen over aktiverede tjenester.

Hvis du vil lære mere om systemctl- og chkconfig-kommandoer, skal du læse disse følgende artikler:

  • Sådan styres 'Systemd' tjenester og enheder ved hjælp af 'Systemctl' i Linux
  • Grundlæggende chkconfig kommandoeksempler i Linux