12 novembre 2008

NTFS e MacOSX

Oggi ho avuto bisogno di scrivere in un disco esterno partizionato con l'NTFS... ero riuscito a stargli lontano per anni, ma non c'è stato niente da fare.

Tarscurando la mia pessima opinione per i prodotto Microsoft, in primis per i loro Sistemi Operativi e per i Filesystem su cui si poggiano, mi sono rassegnato a cercare un driver.

Ho provato i famigerati driver della Paragon: la versiona di prova dura 10 giorni, a me sono serviti per 10 minuti, si poteva fare. A parte il terrore di un software che mi va a toccare il kernel, rischiando di piantare tutto, è andato tutto bene. I driver funzionano a dovere e sono veloci, se non fosse per il fatto che metà degli effetti maccosi che adoro tanto (come l'effetto genio nella barra delle applicazioni) avevano smesso di funzionare. E non hanno funzionato fino a che non ho disinstallato i suddetti driver.

Al che mi sono impuntato ed ho cominciato a cercare qualche alternativa Open Source o almeno free... e così ho trovato l'interessantissimo macfuse e gli eleganti NTFS-3g for MacOSX.

Non li ho installati, ma se vi trovaste nella mia stessa situazione e vi capitasse di installarli fatemi sapere... per quel che mi riguarda la penso come Luca Accomazzi:
NTFS e Mac OS X

Ho bisogno di trasferire documenti più grandi di 2 GB da Mac a PC. Non posso usare dischi nel formato FAT32 di Windows, perché in FAT32 nessun documento può superare i 2 Gb. Sui dischi NTFS creati dai PC il limite di 2 Gb non esiste, ma Mac OS X può solo leggere, e non scrivere, quel formato.

Ho trovato delle soluzioni, gratuite e a pagamento. Mi posso fidare?


Risposta:
Lo sconsiglio vivamente.

Giocare con i file system significa scherzare con la lava. Leggetevi il capitolo in proposito del mio libro "Il signore nell'ombra" se potete. In estrema colpevole sintesi: dal 1984 ad oggi quante volte è stato riscritto daccapo il sistema operativo del Mac? Cinque o sei: a memoria mia, Mac OS 2, 4, 5, 6, 7 e X. E il file system? Una: HFS. Perché? Perché scrivere codice che lavora sui file system è difficilissimo e pericolosissimo.

Se sei un programmatore accettabile scrivi le business application (in FileMaker, in VBA e via cantando). I tuoi errori vengono intercettati dalla piattaforma. Se sei davvero bravo puoi scrivere software applicativo come iTunes o Office o Photoshop (in C). Se hai fatto un errore il programma si piomba e l'utente perde tutti i documenti su cui stava lavorando. Se sei al picco della tua professione metterai mano allo stesso sistema operativo, lavorando per Apple o Microsoft (o su Linux). Se hai fatto un errore il S.O. si piomba e l'utente perde tutti i documenti su cui stava lavorando in tutti i programmi che aveva aperti. Solo se sei un mito, una cintura nera decimo dan della programmazione, allora metterai mano al file system. Perché se c'è un errore nel codice che gestisce il disco rigido, kaboom, gli utenti perdono tutti i dati di tutta la vita, riformattare e via.

Succede: per un ritocco minore ad HFS, lo HFS Plus, un treno di persone perse tutto quello che aveva sui dischi Firewire 2, ricordate? Installare un driver per un file system straniero, non documentato, proprietario come NTFS è come giocare alla roulette russa. Buon divertimento, ma non lo consiglierei neppure ai miei nemici.

Il codice di file system gira con i massimi privilegi possibili sull'intero sistema. Deve, perché per definizione può leggere e scrivere e formattare, a livello fisico di traccia e di blocco sul disco. Quindi è assolutamente possibile che brasi dischi che non sono i suoi, o anche che spenga le ventole del portatile e cuocia tutto. Non lo ritengo plausibile, solo teoricamente possibile.

Nessun commento: