Compatibilità tra file system

Frequentando i vari forum dedicati a Linux ci troviamo spesso di fronte a disperate segnalazioni della lentezza con cui a volte avviene il trasferimento o la copiatura di file di dimensione elevata dal nostro computer Linux a supporti esterni (pennette, dischi esterni, ecc.): al punto che ho trovato un caso in cui una sfortunata esperienza di questo tipo ha suscitato grande delusione ed è stata motivo di abbandono del sistema Linux e di ritorno a Windows da parte di un utente.
Peccato! perché, anche con questo inconveniente, Linux, come ripeto sempre, rimane il miglior sistema operativo del mondo ed è infatti l’unico sistema operativo che nativamente, cioè senza bisogno di software aggiuntivo, può leggere e scrivere dati su supporti formattati per altri sistemi operativi.
Cioè a dire: se da Windows vogliamo copiare un file su un supporto formattato per Linux, il supporto manco lo vediamo; con un software aggiuntivo gratuito possiamo vederlo e trattarlo in sola lettura; con un software parecchio costoso possiamo provare anche a scriverci sopra, con i tempi che ci passerà il convento. Da Linux, invece, possiamo copiare i file dove vogliamo: se ci capita di copiarne uno di parecchie decine di MB su un supporto formattato NTFS (il file system corrente per Windows) può darsi che ci tocchi di metterci un po’ di tempo. Tutto qui.
Ma vediamo di capirci qualche cosa in più, anche per saperci regolare.
File system usati e riconosciuti dai vari sistemi operativi
Il file system è il modo con cui i file sono organizzati su un dispositivo di archiviazione. Ciascun sistema operativo ha un suo modo di archiviare innanzi tutto i file che lo costituiscono.
Attualmente Linux utilizza il sistema ext4, Windows utilizza il sistema NTFS e Mac utilizza il sistema HFS+.
Quando il sistema operativo si collega ad un supporto diverso da quello su cui sono memorizzati i suoi file (altra partizione dello stesso disco, disco esterno, pennetta USB, ecc.) si aspetta innanzi tutto di trovare su questo supporto lo stesso tipo di organizzazione dei file oppure un tipo di organizzazione della stessa natura: per Linux si tratta dei sistemi ext2 e ext3, per Windows si tratta del sistema FAT32, per Mac si tratta del sistema HFS. Questi sistemi sono rispettivamente precedenti edizioni dei sistemi attuali, con i quali sono perfettamente compatibili, soltanto meno efficienti e, soprattutto, con alcune limitazioni riguardanti la dimensione massima dei file memorizzabili.
Lettura, trasferimento e copiatura di file avendo a che fare con supporti con questo tipo di compatibilità vengono realizzati con la massima velocità.
Ciascun sistema operativo, poi, si comporta in una certa maniera se il supporto diverso da quello su cui sono memorizzati i suoi file ha anche un diverso tipo di organizzazione dei file. In particolare:
. dal sistema Linux si può leggere e scrivere anche su sistemi FAT32 e NTFS (quelli di Windows), pur con l’inconvieniente della lentezza di scrittura cui si accennava prima nel caso di NTFS, e su sistemi HFS e HFS+ (quelli di Mac), in quest’ultimo caso in sola lettura se journaled;
. dal sistema Windows si può leggere e scrivere solo su sistemi FAT32 e NTFS; con gli accessori gratuiti Mini Tool Partition Wizard e HFS Explorer con Java si può rispettivamente andare in sola lettura anche su ext2, ext3 ed ext4 (quelli di Linux) e HFS (uno di quelli di Mac); per andare su HFS e HFS+ (quelli di Mac) in lettura e scrittura occorre arricchire Windows di costosi software commerciali (MacDrive o Paragon HFS);
. dal sistema Mac si può leggere e scrivere su FAT32 (uno di quelli di Windows) e, da OSX “Leopard” in poi, anche su NTFS (l’altro di Windows).
Come si vede, il tipo di organizzazione dei file che si presta meglio ad un interscambio tra sistemi operativi è il FAT32, sul quale leggono e scrivono senza problemi tutti i tre sistemi operativi che fanno funzionare i personal computer. Unici difetti quello di essere un file system di vecchia concezione, meno efficiente di quelli che sono venuti dopo e, per gente esosa, quello di supportare una capacità massima di memorizzazione di 1 TiB e di poter memorizzare file di dimensione massima di 4 GB ciascuno. Grande pregio quello di essere il sistema riconosciuto da lettori USB diversi dai computer (lettori MP3, lettori DVD con presa USB, ecc.).
Nessun dubbio sul fatto che, se ci riferiamo a pennette USB, il FAT32 è il meglio in quanto i difetti praticamente non si avvertono e il pregio si esalta.
Se ci riferiamo a dischi esterni o a partizioni su dischi condivisi da sistemi operativi diversi il problema si complica e siamo sicuramente attratti da NTFS, a causa della sua maggiore efficienza sotto Windows, però con il citato inconveniente sotto Linux.
Formattazione dei supporti dai vari sistemi operativi
La struttura del file system viene impostata con la così detta formattazione del supporto di memorizzazione.
Il sistema operativo è dotato di tools per la formattazione, attraverso i quali ciascun sistema, oltre a realizzare la formattazione per il proprio file system, può realizzare altri tipi di formattazione. In particolare:
. dal sistema Linux si può formattare anche in FAT32 e NTFS (i sistemi di Windows) e, previo caricamento dal gestore software del programma hfsprogs, in HFS+ (quello di Mac);
. dal sistema Windows arricchito del software gratuito MiniTool Partition Wizard si può formattare anche in ext2, ext3 ed ext4 (i sistemi di Linux) e installando il software commerciale a pagamento Mac Drive, si può formattare anche in HFS+ (quello di Mac);
. dal sistema Mac si può formattare anche in FAT32 e, con software aggiuntivi, anche in NTFS (Windows) e ext2, ext3 ed ext4 (i sistemi di Linux).