web-dev-qa-db-fra.com

Exécuter la commande au démarrage en tant que root

Je dois exécuter un script bash au démarrage en tant que superutilisateur dans Xubuntu. Je ne sais pas où commencer. Je dois faire quelque chose décrit dans un guide Arch Linux. Ce guide dit exactement:

Ajoutez ce qui suit à la fin du fichier: /etc/rc.sysinit

# Do my action
/etc/rc.d/do_my_action

/bin/dmesg >| /var/log/dmesg.log

Mais je n'ai pas /etc/rc.sysinit et /etc/rc.d/ dans Xubuntu. Je suis sûr qu'il y a des équivalents, non?

9
lorenzo-s

Le fichier que vous souhaitez utiliser est /etc/rc.local. Ce script sera exécuté près ou à la fin du processus de démarrage. Ainsi, tout devrait être en place à ce moment-là.

Cependant, comme @ bodhi.zazen l'a souligné, pstart pourrait être la meilleure option pour vous. Check it out .

Note 1 : à partir de 15.04, Ubuntu utilise systemd et non Upstart. Par conséquent, si vous souhaitez adopter une approche de service, voir cette réponse ici par @mur

Note 2 : En 16.10, il n'y a pas de /etc/rc.local par défaut, mais si vous le créez et le rendez exécutable (Sudo chmod u+x /etc/rc.local) cela fonctionnera car il existe un service systemd pour le récupérer s'il existe. N'oubliez pas de mettre une ligne avec exit 0 à la fin du fichier pour éviter toute commande en échec entraînant le blocage de l'ensemble du processus de démarrage.

9
Scott Severance