
In questo post voglio scrivere alcuni consigli su come gestire le partizioni di Windows (quelle che utilizzano il filesystem ntfs) con l’ubuntu.
Ormai grazie alle utils fuse è possibile leggere e scrivere sulle partizioni ntfs e così diventa ancora più semplice la convivenza tra i due sistemi operativi. Di default all’installazione dell’ubuntu vengono rilevate tutte le partizioni che vengono poi montate direttamente ad ogni avvio.
Spesso capita, per chi ha appena fatto il passaggio da Win a Linux, di avere molti dati personali (foto, canzoni, etc ) sulla partizione di Windows e di dover continuamente accedere a tale partizione.
Nasce il problema che operazioni sbagliate di scrittura potrebbero danneggiare l’installazione di Windows con relativi giramenti di palle da parte dell’utente incauto.
Siccome è sempre meglio evitare situazioni sconvenienti voglio illustrare la soluzione che adotto io per le mie partizioni.
Apriamo il file /etc/fstab che contiene tutte le partizioni che possono essere montate sulla nostra macchina. Cerchiamo la linea in cui sono descritte le opzioni per il montaggio della partizione di win (nel mio caso /dev/hda1)
# /dev/hda1
UUID=FEAC6806AC67B7B3 /media/hda1 ntfs defaults,nls=utf8,umask=007,gid=46 0 1
Notiamo subito la riga commentata # /dev/hda1 che indica di quale partizione stiamo specificando le opzioni nella linea seguente.
Occupiamoci della seconda riga che è quella effettiva che viene letta dal comando mount.
Il primo campo indica UUID (che non spiego in questo post) ed è equivalente all’utilizzo di /dev/hda1.
Il secondo campo indica il mount point, cioè il punto nell’albero delle nostre directory nel quale sarà estratto il contenuto del device. Se utilizziamo la directory /media/ vedremo le nostre partizioni comparire sul desktop.
Il terzo campo indica il filesystem, nel nostro caso ntfs
Il quinto campo è quello che ci interessa e indica le opzioni utilizzate per il montaggio.
L’opzione defaults raggruppa le opzioni:
rw : sono permesse le operazioni di lettura e scrittura
suid : bit suid e sgid hanno effetto
dev : consente l’uso di dispositivi sulla partizione
exec : permette l’esecuzione dei file
auto : la partizione è montata all’avvio
nouser : solo l’amministratore monta la partizione
async : I/O asincrono
Tutte le opzioni specificate in seguito annullano le precedenti, così se scriveremo noauto, l’opzione auto di prima inclusa nel defaults non avrà effetto. Siccome le principali operazioni eseguite sulla partizione saranno di sola lettura specifichiamo l’opzione ro (read only) in modo da evitare accidentali scritture.
Il discorso però per quanto riguarda la partizione ntfs si complica perché tutta la gestione dei permessi e dei proprietari sui file non è possibile su questo filesystem. Tutto è specificato unicamente al montaggio del disco tramite le opzioni umask, gid e uid. I comandi chmod e chown non avranno nessun effetto.
umask : specifica la maschera da applicare al montaggio. Per le esigenze comuni io ho scelto 027 cioè tutti i permessi per il proprietario, solo lettura e esecuzione per il gruppo e niente per gli altri
gid : specifica il gruppo di appartenenza di tutti i file, io ho lasciato 46 che è il gruppo plugdev al quale ogni utente in genere è iscritto nella creazione guidata di ubuntu
uid : specidica il proprietario di tutti i file, io ho messo 1000 che è il mio userid. Probabilmente se siete il primo utente del sistema è anche il vostro, ma per essere sicuri digitate da terminale id e controllate
Attenzione, se è stata specificata l’opzione ro dopo defaults, anche se i permessi per l’utente specificati dall’umask e visibili dal comando ls sono di scrittura, non sarà permessa nessuna operazione di scrittura (a meno di non essere superutente) anche per il proprietario dei file.
Riassumendo la riga che deve comparire nel nostro file /etc/fstab è la seguente:
UUID=FEAC6806AC67B7B3 /media/hda1 ntfs defaults,ro,nls=utf8,umask=027,gid=46,uid=1000 0 1
Fate attenzione a non lasciare spazi tra le opzioni di montaggio !
Ora il problema che rimane è se vogliamo fare una scrittura sulla nostra partizione.
Le sol sono semplici:
o eseguiamo il comando da superutente anteponendo sudo, ma questo è possibile solo per i comandi da terminale e non per i programmi con interfaccia grafica (a meno di non lanciarli da superutente, ma sconsiglio vivamente di farlo ! Utilizzate sempre la politica di utente normale per tutto, superutente solo per lo strettissimo necessario altrimenti addio stabilità di linux)
oppure smontiamo il disco e lo rimontiamo in lettura in questo modo:
sudo umount /media/hda1/
sudo mount -o rw /media/hda1/
(naturalmente se /media/hda1/ è il vostro mount point della partizione)
grazie alle nostri opzioni umask e uid ora possiamo scrivere anche da programma con interfaccia
Non so se lo sapevi, ma esiste da almeno un anno il driver ntfs-3g, che gira in userspace grazie a Fuse
E’ perfettamente stabile, lo uso da almeno aprile 2007, nessun problema
E non è che la partizione ntfs si usata con parsimonia, visto che ho definito il link simbolico:
ln -s /mnt/wind/Documents /home/pix/documents
A voler essere pignoli questo modulo non è efficiente come quello di Windows (gac), ma il team persegue un continuo lavoro di miglioramento delle performance; allo stadio attuale posso spannograficamente dire che ntfs-3g è circa il 5-10% più lento di quello nativo per Windows
per ulteriori informazioni http://www.ntfs-3g.org/index.html
ciao o.o/
Da: pix su Febbraio 6, 2008
alle 10:06 am