Post  |  Commenti

Post Meta

26th
NOV

NTFS con Gentoo

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5 out of 5)
Loading ... Loading ...

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.

ntfs-1.jpg

 

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: > > > > > > > >

Leave a Reply

Il contenuto di questo Blog è rilasciato sotto Licenza Creative Commons (Leggi)