Depuis la version 9 de Debian (Stretch), le script de démarrage rc.local n'existe plus. Je vous propose dans cet article une solution de contournement en utilisant Systemctl.
Solution
Version : Debian 9 Stretch
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
# 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
# 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
# chmod +x /etc/rc.local
7) Finalement, activer le nouveau service rc-local au démarrage de votre serveur
# systemctl enable rc-local
Désormais, lorsque votre serveur Linux va démarrer, le script rc.local que vous venez de créer sera exécuté.
Source : https://www.linuxbabe.com/
Bonjour,
Je viens d'effectuer scrupuleusement les manips indiquées mais sans succes.
je suis en 9.1 (stretch). et config de demarrage systemd (ps -p 1)
Pourriez vous me conseiller ?
cordialement
Est ce que l’exécution du script manuellement fonctionne ? (commande : /etc/rc.local)
Il faut bien mettre les commandes à exécuter avant la ligne "exit 0"