Newsgroup: it.comp.os.linux.iniziare
Titolo: Debian esecuzione comando al boot

In una debian vorrei far eseguire un comando al boot
ho creato un file (che non c'era)
  /etc/rc.local
ci ho messo dentro la riga seguente
  echo "eseguito" > /home/mionome/boot.log
Ho riavviato, ma non ha creato nulla,
cosa sbaglio ?
TIA

 cosa sbaglio ?
file : e' /etc/init.d/rc.local
ciao,
--
oggei

  echo "eseguito" > /home/mionome/boot.log
avevo cannato a risponderti : il test che fa init.d/rc.local e' -x, il
file /etc/rc.local dev'esser eseguibile
ciao,
--
oggei


Sembrava fatta, invece...
# chmod +x /etc/rc.local
# chown root.root /etc/rc.local
ma non va lo stesso :-(

 prova a modificare quello.
In effetti facevo le prove su una Ubuntu che ha /etc/init.d/rc.local che 
esegue /etc/rc.local
In Debian è diverso e non esegue /etc/rc.local
Però modificare /etc/init.d/rcS non mi dembra elegante,
sei sicuro che non ci sia altro modo ?
TIA

 In Debian è diverso e non esegue /etc/rc.local
e' cosi' anche in debian
ciao,
--
oggei

oggei ha scritto:

le ho entrambe davanti a me e non mi risulta,
in quale file hai la chiamata a /etc/rc.local ?
TIA

 in quale file hai la chiamata a /etc/rc.local ?
in /etc/init.d/rc.local c'e'
do_start() {
        if [ -x /etc/rc.local ]; then
                [ "$VERBOSE" != no ] && log_begin_msg "Running local
boot scripts (/etc/rc.local)"
                /etc/rc.local
                ES=$?
                [ "$VERBOSE" != no ] && log_end_msg $ES
                return $ES
        fi
}
che viene chiamata nella stanza start) poco piu' sotto
VERBOSE dipende da /proc/cmdline, quindi bootparms, ma puoi overridarlo
in /etc/default/rcS
anyway, il modo ok in debian e' usare update-rc.d(8), con script fatti
ad hoc (parti da /etc/init.d/skeleton).
ciao,
--
oggei

 in /etc/init.d/rc.local c'e'
nella mia Debian Sarge non c'è il file
  /etc/init.d/rc.local

  /etc/init.d/rc.local
hai ragione
infatti in sarge c'e' la 2.86.ds1-1, il supporto per rc.local e' stato
aggiunto nella -16 con una patch di fabbione da ubuntu.
A questo punto, o aggiorni il pacco usando quello in testing, oppure
script tuo e update-rc.d imo
ciao,
--
oggei


Ora è MOLTO chiaro,
ti ringrazio.

eseguire un comando al boot e' un po' generico...
Quando lo vuoi eseguire? La rete ci deve gia' essere?
X deve essere gia' partito? Lo script imposta solo
qualcosa o fa partire un servizio?
Io guarderei la scaletta di esecuzione degli scripts
di avvio. Ogni script di avvio va messo in
/etc/init.d    (ce ne sono gia' tanti).
Una volta che e' li' devi decidere quando vuoi che parta
e in quali runlevel.
Guarda e comprendi come funzionano le directory
/etc/rc1.d/
/etc/rc2.d/
...
/etc/rc6.d/
Dentro troverai dei link simbolici agli scripts in init.d
nella forma
SNNServizio --> /etc/init.d/Servizio
Per esempio
S89Cron fa partire /etc/init.d/cron
Il numero determinal'ORDINE di partenza.
Se c'e' di mezzo un servizio che deve essere terminato
devi fare anche un link del tipo KNNServizio.
I link S fanno partire i servizi, i link K li killano.
Scopiazza un po' da quelli che gia' ci sono, al'jnizio
sembra complicato ma non lo e'.
Se invece per "al boot" intendi semplicemente che vuoi fare 
impostazioni di varibaili di env che si attivino quando l'utente fa 
login, allora guarda in
/etc/profile
/etc/X11/Xsession
Se vuoi far partire un programma in "autostart" di kde
fai un link in $HOME/.kde/Autostart
Ciao
Roberto
