Comment puis-je configurer un service pour qu'il s'exécute au démarrage

J'ai un démon qui fonctionne bien si je le démarre manuellement avec le service commande:

ricardo@ricardo-laptop:~$ sudo service minidlna start                    * Starting minidlna minidlna                                                              [ OK ] 

mais il n'est pas configuré pour démarrer automatiquement lorsque le PC redémarre.

Comment puis-je le configurer pour qu'il démarre automatiquement, même si personne n'est connecté au PC?

sudo update-rc.d minidlna defaults

Cela devrait ajouter le service au système de démarrage automatique. Mais si vous obtenez:

System start/stop links for /etc/init.d/minidlna already exist.

Faites la commande

sudo update-rc.d minidlna enable

P.S.: Pour plus de détails, consultez la page de manuel de update-rc.d en tapant la commande man update-rc.d

  • Pour démarrer un démon au démarrage:

    update-rc.d service_name defaults
  • Supprimer:

    update-rc.d -f service_name remove

>valeurs par défaut = niveaux d'exécution par défaut 2,3,4 et 5

Exemple:

update-rc.d tomcat7 defaults

Parfois, vous devez exécuter un script sur le processus de démarrage, par exemple exécuter une configuration iptables au processus de démarrage. Vous n'avez donc pas besoin d'exécuter le script manuellement à chaque redémarrage.

Vous pouvez exécuter votre script sur le processus de démarrage dans Ubuntu en l'ajoutant à /etc/init.d/rc.local fichier. Regardez les étapes ci-dessous.

  1. Ouvrir /etc/rc.local fichier avec cette commande:

    vim /etc/rc.local
  2. Ajoutez-y votre script que vous souhaitez exécuter au démarrage, par exemple:

    sh /home/ivan/iptables.sh echo 'Iptable Configured!'
  3. Examinez les commentaires inclus dans ce fichier et assurez-vous qu'une sortie 0 se trouve à la fin.

  4. Enregistrez les fichiers. Et votre script s'exécutera au démarrage.

Depuis Ubuntu 15.10 (resp. Debian 8 "jessie"), vous devez utiliser la commande suivante pour configurer votre service minidlna pour s'exécuter au démarrage:

sudo systemctl enable minidlna.service

Et pour le désactiver à nouveau de démarrer au démarrage:

sudo systemctl disable minidlna.service

Cela fonctionne avec toutes les références de nom de service que vous pouvez trouver avec ls /lib/systemd/system/*.service.

Dans ubuntu version 18.04 TLS, j'ai trouvé cette mise à jour-rc.d ne fonctionne pas correctement s'il n'y a pas de bloc de commentaire spécifique dans le script de démarrage qui ressemble à ceci:

### BEGIN INIT INFO# Provides: myprogram# Required-Start: $ local_fs $ remote_fs $ syslog $ network $ time# Required-Stop: $ local_fs $ remote_fs $ syslog $ network# Default-start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: myprogram some description### END INIT INFO

@user154721 Quels arguments avez-vous donnés à update-rc.comment faire fonctionner le démarrage automatique?
J’ai essayé différentes options mais je n’ai pas eu de chance.

Les programmes de démarrage automatique sont configurés dans les manifestes` autostart ‘ou dans’*.fichiers de service ‘dans plusieurs emplacements, ainsi que dans’ init.d ’ ou ‘crontab’. Voir: upstart - How to start application after login on CentOS? - Unix & Linux Stack Exchange