sudo mv /filename /etc/init.d/
sudo chmod +x /etc/init.d/filename
sudo update-rc.d filename defaults
Le script devrait maintenant démarrer au démarrage. Notez que cette méthode fonctionne également avec les liens physiques et les liens symboliques ( ln
).
Éditer
À ce stade du processus de démarrage, PATH n'est pas encore défini, il est donc essentiel que des chemins absolus soient utilisés partout. MAIS, comme indiqué dans les commentaires de Steve HHH, déclarer explicitement le chemin complet du fichier ( /etc/init.d/filename
) pour la commande update-rc.d n'est pas valide dans la plupart des versions de Linux. Selon la page de manuel de update-rc.d , le deuxième paramètre est un script situé dans /etc/init.d/*
. Mise à jour du code ci-dessus pour refléter cela.
Une autre modification
Aussi comme indiqué dans les commentaires (par Charles Brandt), /filename
doit être un script de style init. Un bon modèle a également été fourni - https://github.com/fhd/init-script-template .
Un autre lien vers un autre article juste pour éviter une éventuelle pourriture des liens (bien que ce serait triste si GitHub mourait) - http://www.linux.com/learn/tutorials/442412-managing-linux-daemons-with-init-scripts
encoreAutre Modifier
Comme indiqué dans les commentaires (par Russell Yan), cela ne fonctionne que sur le mode par défaut de update-rc.d.
Selon le manuel de update-rc.d, il peut fonctionner sur deux modes, «les machines utilisant le mode hérité auront un fichier /etc/init.d/.legacy-bootordering
», auquel cas vous devez passer la configuration de séquence et de niveau d'exécution via des arguments de ligne de commande.
L'argument équivalent défini pour l'exemple ci-dessus est
sudo update-rc.d filename start 20 2 3 4 5 . stop 20 0 1 6 .