Post Meta
-
Indietro
-
November 26, 2007 -
Appunti, Hardware, Laptop, Linux -
No Comments
-
Letto 916 volte
-
Comments Feed -
Stampa questo Post
26th
NOV
NTFS con Gentoo
Posted by deepred | Filed under Appunti, Hardware, Laptop, Linux
Come espressamente richiestomi da redsend, vi descrivo qui brevemente come configurare la vostra Gentoo in modo che possa agevolmente trattare filesystem NTFS.
Prima di iniziare, credo che sia opportuno descrivere un po’ qual’è lo stato dell’arte per quanto riguardo il supporto linux ad NTFS:
- I driver NTFS di prima generazione presenti nel kernel fino alla versione 2.6.12 permettevano di accedere al filesystem in sola lettura, grazie all’intenso lavoro di reverse engineering per scoprire i segreti di questo formato chiuso di proprietà Microsoft;
- Con i driver di seconda generazione (dal kernel 2.6.12 ad oggi) è stato permesso anche l’accesso in scrittura che non danneggi la struttura del filesystem: ossia non si possono creare nuovi file, ne tantomeno modificare la dimensione di un file. Praticamente inutile.
- I driver di terza generazione (stabili da febbraio 2007) sono sviluppati invece fuori dal kernel e permettono un completo accesso in lettura e scrittura tramite FUSE (un interfaccia ai filesystem implementata in userspace).
Per installare tali driver è necessario che nel kernel non sia selezionata l’opzione “File Systems -> Filesystem in Userspace support“. A questo punto basterà installare con
emerge -av ntfs3g
che automaticamente installerà anche fuse. Per renderlo subito funzionante sarà necessario anche dare il comando
update-modules
Questo basta per installare i driver e sarà possibile montare partizioni NTFS con
ntfs-3g /dev/nome_device /mountpoint
o inserire tale voce in /etc/fstab indicando come filesystem ntfs-3g (no ntfs, altrimenti caricherà se installato il driver del kernel).
Fin qui tutto facile direte voi. I primi problemi, in realtà, si verificano con l’automounting e l’Hardware Abstraction Layer. Infatti il supporto HAL al mounting (quello che praticamente permette ai nostri DE di visualizzare l’iconcina del device e di montarlo/smontarlo con un semplice click) può montare un filesystem NTFS solo attraverso il driver presente nel kernel, grazie alle regole di automounting di default. Per ovviare a questo problema bisogna apportare delle modifiche ai file di configurazione di HAL (ATTENZIONE: le operazioni di seguito riportate sono valide solo per versioni di hal >= 0.5.9. Per le precedenti versioni vi rimando al seguente HOWTO. )
La prima operazione da compiere è recuperare gli script di mount e unmount degli storage utilizzati dalle versioni 0.5.7 di HAL. Per farlo basta eseguire i seguenti comandi:
ebuild /usr/portage/sys-apps/hal/hal-0.5.7.1-r5.ebuild install
cd /var/tmp/portage/sys-apps/hal-0.5.7.1-r5/image/usr/share/hal/scripts.
cp hal-system-storage-mount hal-system-storage-unmount /usr/libexec
Questa operazione non sovrascriverà nessuno degli script installati da hal-0.5.9. Inoltre questi script non saranno cancellati da aggiornamenti di HAL. Per concludere bisognerà aggiornare le policy di HAL creando il seguente file 10-ntfs-policy.fdi nella directory /etc/hal/fdi/policy/:
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="volume.fstype" string="ntfs">
<match key="@block.storage_device:storage.hotpluggable" bool="true">
<merge key="volume.fstype" type="string">ntfs-3g</merge>
<merge key="volume.policy.mount_filesystem" type="string">ntfs-3g</merge>
<merge key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-system-storage-mount</merge>
<append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-system-storage-unmount</append>
<append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-eject</append>
</match>
</match>
</device>
</deviceinfo>
Riavviando hal l’automount dovrebbe funzionare senza problemi.
Un’altra soluzione al problema potrebbe essere quella di sovrascrivere il file /sbin/mount.ntfs con il seguente script:
#!/bin/bash
ntfs-3g $1 $2
Questa soluzione potrebbe dare problemi nel caso sia installato anche il driver kernel e potrebbe essere sovrascritta da aggiornamenti del sistema.
Per entrambi le soluzioni proposte è consigliabile avere molta cura nell’applicarle per il corretto funzionamento del sistema.
Tags: automount > fuse > gentoo > hal > Linux > mount > ntfs > ntfs-3g > ntfs3g


