Newsgroup: it.comp.os.linux.debian
Titolo: Problemone con un init.d script

Ok, Ubuntu a 64 bit.
Ho creato un init.d script per recuparare da floppy la chiave di
certi device crittati, e funziona benissimo.
L'idea è di far cancellare le chiavi, temporaneamente salvate su
/dev/shm, dallo stesso script, quando si passa dal runlevel S a un
altro runlevel.
Ecco lo script (sicuramente è scritto da schifo, ma non preoccupatevi
di questo):
-------------- inizio -----------------------------
#!/bin/bash
### BEGIN INIT INFO
# Provides:          cryptkeyfromfd
# Required-Start:    
# Required-Stop:     
# Should-Start:       
# Should-Stop:       
# Default-Start:     S
# Default-Stop:      0 1 2 3 4 5 6
# Short-Description: Recupera da floppy chiave per dispositivi
crittati
# Description:
### END INIT INFO
case "$1" in
start)
	cp /etc/cryptpass /etc/crypttab && echo "crypttab di default impostato"
	( [ -f /dev/shm/keyfile256 ] && rm /dev/shm/keyfile256 ) || ( dd if=/dev/fd0 of=/dev/shm/keyfile256 bs=256 skip=2201 count=1 > /dev/null 2>&1 && chmod 600 /dev/shm/keyfile256 )
	( [ -f /dev/shm/keyfile128 ] && rm /dev/shm/keyfile128 ) || ( dd if=/dev/fd0 of=/dev/shm/keyfile128 bs=128 skip=10012 count=1 > /dev/null 2>&1 && chmod 600 /dev/shm/keyfile128 )
	( [ ! -f /dev/shm/keyfile256 ] || [ ! -f /dev/shm/keyfile128 ] ) || ( cp /etc/cryptauto /etc/crypttab && echo "key disponibile, modalità autokey attivata" )
	;;
stop)
	echo "Deleting keyfiles"
	/usr/bin/srm -vfllz /dev/shm/keyfile128
        /usr/bin/srm -vfllz /dev/shm/keyfile256
	;;
*)
	echo "Usage: cryptkeyfromfd {start|stop}"
	exit 1
	;;
esac
exit 0
-------------- fine ---------------------------------------------
Lo script è linkato S25cryptkeyfromfd in /etc/rcS.d,
K01cryptkeyfromfd nelle altre directory di runlevel.
Ora, ecco quel che succede: al boot lo script viene normalmente
chiamato coll'argomento start, e fa il suo sporco lavoro. Quando però
il sistema passa al runlevel di default (2) lo script NON viene
proprio chiamato (fatto assodato). Se però manualmente cambio
runlevel, con telinit (anche per tornare a 2, dopo esser passato ad
altro), lo script invece viene normalmente chiamato coll'argomento
stop, e fa il suo lavoro.
Il problema è: per quale maledetto motivo 'sto schifo di script
/etc/rc2.d/K01cryptkeyfromfd non mi viene chiamato, quando il sistema
si accende e va a 2?
Non trovo possibili spiegazioni, rileggendo
www.debian.org/doc/debian-policy/ch-opersys.html#s-sysvinit
-- 
Bye, Lem
Ceterum censeo ISLAM esse delendum
__________________________________
Combatti l'AIDS col tuo computer: 
http://fightaidsathome.scripps.edu/

 
www.debian.org/doc/debian-policy/ch-opersys.html#s-sysvinit
Probabilmente non troverai spiegazioni nemmeno sul sito di Fedora o su 
quello di OpenSuSE.
Però potresti avere più fortuna se guardassi sui siti di Ubuntu, magari 
cercando init e upstart.
-- 
Flavio Visentin
Scientists have finally discovered what's wrong with the female brain:
On the left side, there is nothing right, and on the right side, there
is nothing left.

 cercando init e upstart.
In Feisty e Gutsy la transizione da init a upstart è solo all'inizio.
In pratica per ora upstart si occupa solo di emulare i runlevel:
tutto è ancora gestito coi soliti script init.d. Fra l'altro, AFAIK
la retrocompatibilità di upstart con init è assoluta, e non
conoscendo bug in tal senso proprio non m'era venuto...
Comunque ti ringrazio del suggerimento. Domani indagherò in tal
senso.


 conoscendo bug in tal senso proprio non m'era venuto...
Putroppo non è completa la retrocompatibilità. Per esempio 
http://www.linuxtrent.it/Members/ciampix/recupero-sistema-operativo-facile/
Il problema IMHO è comunque da ricercarsi in quell'ambito, anche se 
ovviamente potrei sbagliare :-)
