Debian 9 Stretch - rc.local obsolète

Article du 8 octobre 2017 ,création APB Informatique Source : https://www.linuxbabe.com/

Depuis la version 9 de Debian (Stretch), le script de démarrage rc.local n’existe plus, solution de contournement en utilisant Systemctl.

1) Se connecter en SSH sur le serveur sur lequel vous souhaitez ajouter le script rc.local
/!\ Attention /!\ les commandes qui vont suivre doivent être exécutées avec les autorisations root
2) Créer le fichier suivant /etc/systemd/system/rc-local.service

sudo nano /etc/systemd/system/rc-local.service

3) Copier le code suivant dans le fichier créé précédemment

[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

4) Créer le fichier /etc/rc.local

sudo nano /etc/rc.local

5) Ajouter le code suivant dans le nouveau fichier rc.local que vous venez de créer. Ajouter éventuellement les commandes que vous souhaitez exécuter au démarrage de votre serveur (avant la ligne exit 0)

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exit 0

8) Ajouter l’autorisation d’exécution au script /etc/rc.local créer précédemment

sudo chmod +x /etc/rc.local

7) Finalement, activer le nouveau service rc-local au démarrage de votre serveur

sudo systemctl enable rc-local
sudo systemctl daemon-reload

Désormais, lorsque votre serveur Linux va démarrer, le script rc.local que vous venez de créer sera exécuté.