Com configurar els serveis de xarxa per iniciar-se automàticament a l'arrencada


Normalment és una bona idea configurar els serveis de xarxa essencials perquè s'iniciïn automàticament a l'arrencada. Això us estalvia la molèstia d'iniciar-los manualment després d'un reinici i també, el caos resultant causat en cas que oblideu fer-ho. Alguns dels serveis de xarxa crucials inclouen SSH, NTP i httpd.

Podeu confirmar quin és el vostre gestor de serveis del sistema executant l'ordre següent.

# ps --pid 1

En funció de la sortida de l'ordre anterior, utilitzareu una de les ordres següents per configurar si cada servei s'ha d'iniciar automàticament a l'arrencada o no:

----------- 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 

En un sistema systemd com CentOS 8, RHEL 8 i Fedora 30+, l'ordre systemctl s'utilitza per gestionar serveis. Per exemple, per tenir una vista dels serveis desactivats, executeu l'ordre:

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

La sortida següent imprimeix tots els serveis desactivats i, com podeu veure, apareix el servei httpd, la qual cosa implica que no està configurat per iniciar-se a l'arrencada.

Per permetre que un servei s'iniciï a l'arrencada, utilitzeu la sintaxi:

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

Per exemple, per habilitar el servei httpd a l'execució d'arrencada.

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

Per confirmar que el servei httpd s'ha habilitat, enumereu tots els serveis habilitats executant l'ordre:

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

A partir de la sortida anterior, podem veure clarament que el servei httpd ara apareix a la llista de serveis habilitats.

Per obtenir més informació sobre les ordres systemctl i chkconfig, llegiu aquests articles següents:

  • Com gestionar els serveis i les unitats Systemd mitjançant Systemctl a Linux
  • Exemples bàsics d'ordres chkconfig a Linux