oggi stavo dovevo usare un cd live di un antivirus per debellare un malware dal pc di un amico e mi sono accorto che una paio di volte al minuto il lettore cd partiva per una quindicina di secondi e poi si quietava (faceva il cosidetto
spinning del cd).
Siccome il rumore era notevole e avendo notato che comunque la distribuzione all'atto del caricamento si premura di allocare in ram l'immagine del disco mi sono armato di google e pazienza ed ho cominciato a cercare in rete con le chiavi che ritenevo più adatte ("noisy cd", "gentoo").
Dopo una dozzina di minuti infruttuosi sono giunto alla conclusione che non fosse un bug della distribuzione in uso perciò ho provato a cercare tra i processi in esecuzione un nome significativo (mentre l'antivirus era ancora a meno di un quarto della lettura dell'hard-disk - tempo ne avevo da vendere).
Leggendo l'output di
ps aux | less
mi sono imbattuto in un piccolo processo
spind. L'utility
file mi rassicurava trattarsi appunto di uno script di shell. Il breve testo dello script
ha confermato i miei sospetti: è uno script che ogni 30 secondi legge un byte a caso dal supporto nel drive (forse per
tenerlo sveglio ed evitare che il cd venga smontato... o qualcosa del genere).
La vera domanda ora era se era possibile stopparlo in maniera pulita e soprattutto se non si corresse il pericolo di dar fastidio all'antivirus (sempre in esecuzione).
Fidandomi della mia ipotesi di una live totalmente già in ram e cercando ancora con google ho scoperto dell'esistenza di un micro script sotto init.d che si occupa di arrestare e avviare il suddetto
daemon di spinning del cd ovviamente sotto
/etc/init.d/spind.initovviamente a questo punto è stato immediato leggerne il contenuto e da qui rilvare il funzionamento standard
/etc/init.d/spind.init stop
e con questo il cd non fa più quel fastidioso rumore di elicottero in decollo per 120 volte all'ora :-DDD