Esegui il comando all'avvio come root


9

Ho bisogno di eseguire uno script bash all'avvio come superutente in Xubuntu. Non so da dove iniziare. Devo fare qualcosa descritto in una guida di Arch Linux. Quella guida dice esattamente:

Aggiungi quanto segue alla fine del file: /etc/rc.sysinit

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

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

Ma non ho /etc/rc.sysinite /etc/rc.d/in Xubuntu. Sono sicuro che ce ne sono equivalenti, vero?

Risposte:


9

Il file che desideri è /etc/rc.local. Questo script verrà eseguito vicino o alla fine del processo di avvio. Quindi, tutto dovrebbe essere pronto entro questo momento.

Tuttavia, come sottolineato da @ bodhi.zazen, Upstart potrebbe essere l'opzione migliore per te. Dai un'occhiata .

Nota 1 : in 15.04 e versioni successive, Ubuntu utilizza systemde non Upstart. Pertanto, se si desidera adottare un approccio di servizio, vedere questa risposta qui da @muru

Nota 2 : in 16.10 non esiste alcun /etc/rc.localvalore predefinito, ma se lo crei e lo rendi eseguibile ( sudo chmod u+x /etc/rc.local) funzionerà perché esiste un servizio systemd per estrarlo se esiste. Non dimenticare di mettere una riga exit 0alla fine del file per evitare che comandi non riusciti causino il blocco dell'intero processo di avvio.


Quindi, devo solo mettere quel codice qui? Per ora, quel file contiene solo exit 0. E se posso chiedere, all'avvio quando rc.localviene eseguito, il filesystem è pronto, quindi posso anche scrivere un registro da qualche parte per quel comando che voglio eseguire?
lorenzo-s,

Sembra che tu stia provando a eseguire uno script di avvio (init). Ubuntu utilizza upstart. rc.local eseguirà un comando o una serie di comandi all'avvio e potrebbe essere o meno l'opzione migliore. Cosa stai cercando di fare esattamente ?
Pantera il

@ lorenzo-s: guarda la mia modifica.
Scott Severance,

Puoi anche trovare utile questa risposta: askubuntu.com/a/20347/3940
Takkat,

1
Ok, ho risolto il passaggio my_scriptda /usr/local/bina /usr/bin. Sono anche in grado di salvare il login /var/logutilizzando my_script &>> /var/log/my_script. Grazie mille.
lorenzo-s,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.