L’un des chose essentiels qu’un administrateur système doit connaitre est de savoir comment configurer les services pour démarrer automatiquement au démarrage afin d’éviter de les lancer manuellement.
Dans cet article nous allons voir comment démarrer les services linux automatiquement sur CentOS 6 /RHEL 6.X, CentOS 7/RHEL 7 et Ubuntu car la méthode est différente sur chaqu’un d’eux.
chkconfig CentOS/RHEL 6 :
chkconfig est l’outils utilisé pour démarrer les service au démarrage sur CentOS/RHEL 6.
D’abord vérifier si le service (ntp dans mon cas) n’est pas configuré pour démarrer automatiquement sur l’un des niveau d’exécution ( runlevel) 2, 3,4 et 5:
[root@Linux ~]# chkconfig --list ntpd ntpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
Comme vous pouvez le constater notre service est désactivé au démarrage de la machine, on ajoute le service avec la commande ci-dessous :
[root@Linux ~]# chkconfig --add ntpd
Ensuite on active le service pour qu’il soit démarré au démarrage :
[root@Linux ~]#
chkconfig httpd on
Notre service est bien « on » sur les niveau d’exécution 2, 3, 4 et 5 :
[root@Linux ~]# chkconfig --list ntpd
ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Si vous souhaitez désactiver le service il suffit de taper les deux commandes ci-dessous :
[root@Linux ~]# chkconfig ntpd off [root@Linux ~]# chkconfig --del ntpd
Systemd RHEL or CentOS 7 et 8 :
La procédure pour démarrer les service sur CentOS/RHEL 7/8 est complétement différente, il utlise systemd.
Allons vérifier d’abord si le service (httpd dans mon cas) est démarré ou désactivé au démarrage avec la commande ci-dessous :
[root@Linux ~]# systemctl is-enabled httpd.service disabled
Comme nous pouvons le constater le service est bien désactivé au démarrage. Vous pouvez aussi utilisé la commande ci-dessous :
[root@Linux ~]# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2021-05-05 05:38:59 EDT; 1s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 8634 (httpd)
Status: "Processing requests…"
CGroup: /system.slice/httpd.service
├─8634 /usr/sbin/httpd -DFOREGROUND
├─8635 /usr/sbin/httpd -DFOREGROUND
├─8636 /usr/sbin/httpd -DFOREGROUND
├─8637 /usr/sbin/httpd -DFOREGROUND
├─8638 /usr/sbin/httpd -DFOREGROUND
└─8639 /usr/sbin/httpd -DFOREGROUND
Pour faire démarrer notre service au démarrage il suffit d’utiliser la commande ci-dessous :
[root@Linux ~]# systemctl enable httpd.service Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
Et voilà notre service est bien configuré à démarrer au boot :
[root@Linux ~]# systemctl is-enabled httpd.service
enabled
Si vous souhaitez le désactiver il suffit de taper la commande ci-dessous :
[root@Linux ~]# systemctl disable httpd.service Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service. [root@Linux ~]# systemctl is-enabled httpd.service disabled
update-rc.d Ubuntu :
Sur ubuntu on utilise la commande update-rc.d, elle permet d’ajouter ou de supprimer des processus dans les différents runlevels.
Pour ajouter un service au démarrage sur Ubuntu taper la commande ci-dessous :
[root@Linux ~]# update-rc.d apache2 defaults
Si vous souhaitez le désactiver il suffit de taper la commande ci-dessous :
[root@Linux ~]# update-rc.d -f apache2 remove
Installation d’un certificat SSL sur un serveur Nginx
Kubernetes : Le Scheduler ( Partie 2)
Mis en place d’un cluster kubernetes avec kubeadm
Migration de CentOS 7 vers CentOS Stream
Fail2Ban : How to protect Linux services