Forzare la scrittura dei dati in uso su disco sui sistemi *NIX


Edit del 9 Marzo 2008: Per essere più chiaro, specifico perchè è necessario effettuare la sincronizzazione dopo l’uso di lettori MP3, macchine fotografiche digitali e altri dispositivi di consumo. Il motivo risiede nel filesystem utilizzato, FAT(16/32) di Microsoft.

Le parole contenute nel file di configurazione di usbmount - un set di script per il montaggio automatico di memorie di massa USB indipendente dal desktop environment fornito con Debian - sono più che esplicative:

ATTENZIONE: Il filesystem vfat non implementa ancora del tutto il montaggio sincronizzato.
Se “vfat” è incluso nella lista dei tipi di filesystem, *DOVETE* assicurarvi che tutti i dati vengano scritti sul medium prima di rimuoverlo (ad esempio, eseguendo il comando “sync” in una finestra di terminale). Altrimenti *PERDERETE* dei dati!


Lo so, quello che segue non è un HOWTO di quelli che siete abituati (o vi aspettate) di trovare - ma non sapete quante volte mi sono sentito chiedere lumi sul perchè la macchina fotografica digitale, il lettore MP3, e simili non avessero memorizzato i file che qualcuno vi aveva salvato appena un minuto prima. Soprattutto, mi sono sentito dire “queste cose con Windows non succedono (mai)”.

In realtà, non so se sia vero che su Windows non si verificano intoppi del genere. Quel che è assodato è che, per motivi prestazionali, tutti i sistemi operativi moderni tendono a posporre la scrittura su disco dei dati il più possibile. Questo può essere un problema, e può essere lecito che un’applicazione non si occupi di risolvervi automaticamente la situazione.

Il bello di questa piccola “seccatura” è che, sui sistemi *NIX, la soluzione è immediata, e noi utenti (mi ci metto anch’io) forse la dimentichiamo troppo spesso. Basta aprire una shell e scrivere

sync

poco prima di smontare la periferica. I dati, a meno di particolari opzioni usate in sede di montaggio - ad esempio, l’attivazione dei softupdates su FreeBSD - saranno scritti immediatamente.

Ovviamente, questo vale anche negli scenari peggiori: se avete cancellato totalmente il vostro albero delle directory, e sperate che l’operazione non sia stata eseguita (molto difficile, per quanto ne so), l’esecuzione di sync renderà irrimediabile il recupero dei dati.

Pubblica un Commento

La tua email non verrà mai pubblicata o diffusa. I campi obbligatori sono contrassegnati con *

*
*