Debian 9 Stretch - rc.local obsolète ?

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/

 

2 commentaires sur “Debian 9 Stretch - rc.local obsolète ?

  1. rolland Reply

    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

    • AdminPasBete AuteurReply

      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"

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *