Disco esterno NTFS [risolto]

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
xpaolo
Linux 0.x
Linux 0.x
Messaggi: 40
Iscritto il: mer 23 mag 2007, 12:59
Slackware: current
Kernel: 2.6.x
Desktop: kde

Disco esterno NTFS [risolto]

Messaggio da xpaolo »

Ho due problemi con un disco esterno USB laciè da 250G. Il primo sono riuscito a risolverlo da me, per il secondo chiedo aiuto quì. Il primo lo descrivo, magari torna utile ad altri. In sostanza ho formatato il disco in ntfs, prima era in reiser. Da kde 3.5.10 ero abituato a montare il disco cliccando con il tasto destro sull'icona del desktop che compariva dopo l'inserimento e selezionando sul menù contestuale 'monta'. Dopo il cambiamento di filesystem purtroppo mi compariva sempre l'errore "wrong filesystem type (...)" su una finestra intitolata "kio_media_mounthelper". Con lshal ho scoperto che il disco veniva riconosciuto ma con filesystem reiser. Il tentativo di montaggio ovviamente falliva sempre. La soluzione è stata quella di togliere il disco, inserire una chiavetta di memoria flash in modo che a questa venisse assegnato l'identificatore del dispositivo fino ad allora associato al disco esterno (sdc1) quindi inserire il disco esterno al quale è stato assegnato, a questo punto, un nuovo dispositivo (sdh1). Non so cosa sia successo ma alla fine ho verificato con lshal che il disco veniva riconosciuto corretamente e infatti il montaggio da kde funziona ora correttamente.
Purtroppo cominciando a riempire il disco sono incorso nel secondo problema: per qualche motivo i nomi di file NON possono contenere caratteri particolari (òàùè° ecc.). Ho verificato che ntfs-3g permette l'utilizzo di questi caratteri nei nomi di file e infatti montando 'a mano' con mount -t ntfs-3g /dev/sdh1 /media/LACIE riesco a copiare ed a scrivere di tutto. Montando invece 'in automatico' dal desktop di kde ho questo problema. A qualcuno è mai capitato ? Sembra priprio che l'ultima versione di hal dia qualche problemino...
Il tutto su una Slackware-current
Ultima modifica di xpaolo il mer 12 nov 2008, 19:37, modificato 1 volta in totale.

Avatar utente
slux
Linux 3.x
Linux 3.x
Messaggi: 789
Iscritto il: dom 20 mar 2005, 0:00
Nome Cognome: Andrea Amerini
Slackware: 14.1 x86
Kernel: 3.12.0-smp
Desktop: xfce 4.10
Località: Prato
Contatta:

Re: Disco esterno NTFS

Messaggio da slux »

Credo che sia legato alle codepage,in soldoni non usi utf8 che è FONDAMENTALE per ntfs.
Dai un'occhiata al man di mount nella sezione ntfs.
Comunque posta anche il contenuto di /etc/fstab magari hai un'errore lì

xpaolo
Linux 0.x
Linux 0.x
Messaggi: 40
Iscritto il: mer 23 mag 2007, 12:59
Slackware: current
Kernel: 2.6.x
Desktop: kde

Re: Disco esterno NTFS

Messaggio da xpaolo »

/etc/fstab non contiene nessuna voce per i dischi/chiavette USB. Credo anch'io sia un problema di codepage ma, come ho già detto, se eseguo il mount manuale (senza specificare codepage) il disco è perfettamente utilizzabile. E' il mount automatico che non funziona correttamente ma a questo punto NON so con quali parametri viene effettuato. Credo l'unica informazione utile sia l'output di lshal:

udi = '/org/freedesktop/Hal/devices/volume_uuid_7EEC02D2EC02851D'
block.device = '/dev/sdh1' (string)
block.is_volume = true (bool)
block.major = 8 (0x8) (int)
block.minor = 113 (0x71) (int)
block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_SAMSUNG_HM250JI_152D203380B6_0_0' (string)
info.capabilities = {'volume', 'block'} (string list)
info.category = 'volume' (string)
info.interfaces = {'org.freedesktop.Hal.Device.Volume'} (string list)
info.parent = '/org/freedesktop/Hal/devices/storage_serial_SAMSUNG_HM250JI_152D203380B6_0_0' (string)
info.product = 'LACIE' (string)
info.udi = '/org/freedesktop/Hal/devices/volume_uuid_7EEC02D2EC02851D' (string)
linux.hotplug_type = 3 (0x3) (int)
linux.sysfs_path = '/sys/block/sdh/sdh1' (string)
org.freedesktop.Hal.Device.Volume.method_argnames = {'mount_point fstype extra_options', 'extra_options', 'extra_options'} (string list)
org.freedesktop.Hal.Device.Volume.method_execpaths = {'hal-storage-mount', 'hal-storage-unmount', 'hal-storage-eject'} (string list)
org.freedesktop.Hal.Device.Volume.method_names = {'Mount', 'Unmount', 'Eject'} (string list)
org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'} (string list)
storage.model = '' (string)
volume.block_size = 512 (0x200) (int)
volume.fstype = 'ntfs-3g' (string)
volume.fsusage = 'filesystem' (string)
volume.fsversion = '3.1' (string)
volume.ignore = false (bool)
volume.is_disc = false (bool)
volume.is_mounted = true (bool)
volume.is_mounted_read_only = false (bool)
volume.is_partition = true (bool)
volume.label = 'LACIE' (string)
volume.linux.is_device_mapper = false (bool)
volume.mount.valid_options = {'locale=', 'ro', 'sync', 'dirsync', 'noatime', 'nodiratime', 'noexec', 'quiet', 'remount', 'exec'} (string list)
volume.mount_point = '/media/LACIE' (string)
volume.num_blocks = 488392002 (0x1d1c4542) (int)
volume.partition.flags = {} (string list)
volume.partition.label = '' (string)
volume.partition.media_size = 250059350016 (0x3a38b2e000) (uint64)
volume.partition.number = 1 (0x1) (int)
volume.partition.scheme = 'mbr' (string)
volume.partition.start = 32256 (0x7e00) (uint64)
volume.partition.type = '0x07' (string)
volume.partition.uuid = '' (string)
volume.policy.mount_filesystem = 'ntfs-3g' (string)
volume.size = 250056705024 (0x3a388a8400) (uint64)
volume.unmount.valid_options = {'lazy'} (string list)
volume.uuid = '7EEC02D2EC02851D' (string)

ma non mi sembra di vedere niente di strano.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2923
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Disco esterno NTFS

Messaggio da 414N »

Il mount manuale probabilmente funziona bene perché hai una variabile d'ambiente LOCALE che specifica il locale da usare per montare il disco.
Prova a impostare LANG=en_US e monta manualmente il disco. Se è come penso, non dovresti essere in grado di visualizzare nomi di file/directory con caratteri accentati.

Avatar utente
phobos3576
Staff
Staff
Messaggi: 2980
Iscritto il: dom 17 apr 2005, 0:00
Slackware: 13.1
Kernel: 2.6.37-smp
Desktop: KDE 4.5.3

Re: Disco esterno NTFS

Messaggio da phobos3576 »

Ne avevamo discusso parecchio qui su Slacky; da qualche parte ci dovrebbe essere il relativo thread.

A quanto pare, sulla Slackware non c'è verso di indicare ad HAL il valore corretto per il parametro "locale"; invece, con il mount manuale funziona tutto proprio perché l'utente può indicare direttamente la codifica dei caratteri da usare (ad esempio, it_IT@euro).
Come ho scritto però in un'altra discussione, tempo fa ho provato il LiveCD della OpenSuse11 e, in quel caso, HAL funziona alla perfezione; infatti, ho collegato un HD USB formattato in NTFS e HAL ha eseguito il mount con il valore adeguato di "locale", tanto che nel file-manager ho potuto visualizzare perfettamente nomi di file e directory contenenti vocali accentate.

Bisognerebbe quindi studiarsi per bene la struttura dei vari script utilizzati da HAL sulla OpenSuse.

xpaolo
Linux 0.x
Linux 0.x
Messaggi: 40
Iscritto il: mer 23 mag 2007, 12:59
Slackware: current
Kernel: 2.6.x
Desktop: kde

Re: Disco esterno NTFS

Messaggio da xpaolo »

Mhm....non so. Sembra anche a me un problema di localizzazione ma:

paolo@slackbox ~ $ locale
LANG=it
LC_CTYPE="it_IT@euro"
LC_NUMERIC="it_IT@euro"
LC_TIME="it_IT@euro"
LC_COLLATE="it_IT@euro"
LC_MONETARY="it_IT@euro"
LC_MESSAGES="it_IT@euro"
LC_PAPER="it_IT@euro"
LC_NAME="it_IT@euro"
LC_ADDRESS="it_IT@euro"
LC_TELEPHONE="it_IT@euro"
LC_MEASUREMENT="it_IT@euro"
LC_IDENTIFICATION="it_IT@euro"
LC_ALL=it_IT@euro

mentre da root ho tutto su en_US. La localizzazione italiana la imposto solo sull'utente paolo (da ~/.bash_profile) , la localizzazione di sistema e di root la lascio al default di slackware. Il montaggio mi funziona solo da root, quindi con localizazione inglese. E' vero che senza login la localizzazione dovrebbe essere quella di default di slackware ovvero sempre en_US (da /etc/profile.d/lang.sh) quindi non vedo perchè non funzioni con hal. Boh. Ho provato a montare il disco da root, creare un file di nome "paolo è grande", nessun problema. Smonto il disco e lo rimonto in automatico, il file è sparito. Smonto il disco e lo rimonto in manuale il file ricompare. Sono sempre più convinto che sia un problema di hal. Ma nessuno di voi ha un disco usb formattato ntfs-3g e riporta i miei stessi problemi ???

xpaolo
Linux 0.x
Linux 0.x
Messaggi: 40
Iscritto il: mer 23 mag 2007, 12:59
Slackware: current
Kernel: 2.6.x
Desktop: kde

Re: Disco esterno NTFS [risolto]

Messaggio da xpaolo »

OK, ravanando in giro (web) ho trovato che parecchie altre persone hanno avuto il mio stesso problema e il workaround migliore l'ho trovato quì:
http://wiki.archlinux.org/index.php/HAL
In particolare questo è stato risolutivo:
Locale issues

If you use KDE, you may have problem with filenames containing non-latin characters. This happens because KDE's mounthelper is not parsing the policies and locale option correctly. There is a workaround for this:

1) Remove this symlink: rm /sbin/mount.ntfs-3g

2) Replace it with a new bash script containing:

#!/bin/bash
/bin/ntfs-3g $1 "$2" -o locale=en_US.UTF-8,$4 #put your own locale here

3) Make it executable: chmod +x /sbin/mount.ntfs-3g
Ho creato /sbin/mount.ntfs-3g così:

Codice: Seleziona tutto

#!/bin/bash
/bin/ntfs-3g $1 "$2" -o locale=it_IT@euro
e ora il mount automatico funziona. Potrei provare ad impostare la localizzazione del sistema in it_IT@euro (su /etc/profile.d/lang.sh) e vedere cosa succede ma preferisco tenermi il sistema in inglese e solo l'utente 'paolo' in italiano.

Grazie a tutti per l'interessamento.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2923
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Disco esterno NTFS

Messaggio da 414N »

xpaolo ha scritto: Grazie a tutti per l'interessamento.
Grazie a te per aver riportato il workaround da usare.
PS: metti il tag risolto al titolo del primo post che thread, in modo che l'intero thread cambi titolo.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Disco esterno NTFS

Messaggio da conraid »

Creare un file /etc/hal/fdi/policy/10osvendor10-ntfs-3g-policy.fdi

Codice: Seleziona tutto

<?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>
        <append key="volume.mount.valid_options" type="strlist">locale=it_IT@euro</append>
      </match>
    </match>
  </device>
</deviceinfo>
Non fa quel che vuoi?

Avatar utente
phobos3576
Staff
Staff
Messaggi: 2980
Iscritto il: dom 17 apr 2005, 0:00
Slackware: 13.1
Kernel: 2.6.37-smp
Desktop: KDE 4.5.3

Re: Disco esterno NTFS

Messaggio da phobos3576 »

No Conraid. Ne avevamo già parlato in un'altra discussione; in pratica, l'automount sotto KDE sembra ignorare la localizzazione specificata in quel policy file!
Nel mio caso, ad esempio, anche specificando it_IT@euro viene ugualmente usato it_IT.UTF-8

Viene anche ignorata la localizzazione del sistema in italiano.

xpaolo
Linux 0.x
Linux 0.x
Messaggi: 40
Iscritto il: mer 23 mag 2007, 12:59
Slackware: current
Kernel: 2.6.x
Desktop: kde

Re: Disco esterno NTFS [risolto]

Messaggio da xpaolo »

Allora continuo ad analizzare il problema. Ho ricreato il link /sbin/mount.ntfs-3g a /bin/ntfs-3g. Da root ho montato il disco con mount -t ntfs-3g -o locale=en_US /dev/sdc1 /media/LACIE. Guardando /var/log/messages:
  • Nov 12 19:49:13 slackbox ntfs-3g[4424]: Version 1.5012 integrated FUSE 27
    Nov 12 19:49:13 slackbox ntfs-3g[4424]: Mounted /dev/sdc1 (Read-Write, label "LACIE", NTFS 3.1)
    Nov 12 19:49:13 slackbox ntfs-3g[4424]: Cmdline options: rw,locale=en_US
    Nov 12 19:49:13 slackbox ntfs-3g[4424]: Mount options: rw,silent,allow_other,nonempty,relatime,fsname=/dev/sdc1,blkdev,blksize=4096
    Nov 12 20:12:57 slackbox ntfs-3g[4424]: Unmounting /dev/sdc1 (LACIE)
Il disco funziona perfettamente ovvero compare il file di nome "Paolo è grande". Questo per dire che anche con la localizzazione di default di slackware NON ci dovrebbero essere problemi.
Se monto senza specificare il locale con mount -t ntfs-3g /dev/sdc1 /media/LACIE
  • Nov 12 20:23:12 slackbox ntfs-3g[5531]: Version 1.5012 integrated FUSE 27
    Nov 12 20:23:12 slackbox ntfs-3g[5531]: Mounted /dev/sdc1 (Read-Write, label "LACIE", NTFS 3.1)
    Nov 12 20:23:12 slackbox ntfs-3g[5531]: Cmdline options: rw
    Nov 12 20:23:12 slackbox ntfs-3g[5531]: Mount options: rw,silent,allow_other,nonempty,relatime,fsname=/dev/sdc1,blkdev,blksize=4096
E il disco funziona perfettamente !

Eseguo il montaggio in automatico da KDE:
  • Nov 12 20:28:31 slackbox hald: mounted /dev/sdc1 on behalf of uid 1000
    Nov 12 20:28:31 slackbox ntfs-3g[5725]: Version 1.5012 integrated FUSE 27
    Nov 12 20:28:31 slackbox ntfs-3g[5725]: Mounted /dev/sdc1 (Read-Write, label "LACIE", NTFS 3.1)
    Nov 12 20:28:31 slackbox ntfs-3g[5725]: Cmdline options: rw,nosuid,nodev,uhelper=hal,locale=it
    Nov 12 20:28:31 slackbox ntfs-3g[5725]: Mount options: rw,nosuid,nodev,uhelper=hal,silent,allow_other,nonempty,relatime,fsname=/dev/sdc1,blkdev,blksize=4096
    Nov 12 20:28:48 slackbox ntfs-3g[5725]: Skipping unrepresentable filename (inode 18873): Invalid or incomplete multibyte or wide character
L'ultima riga compare solo quando apro il disco con conqueror e fa riferimento ovviamente al file "Paolo è grande" che, non essendo rappresentabile, SPARISCE dalla lista dei file come se non esistesse. Noto che il locale che passa hald è "it", degli altri parametri ignoro il significato.
Se cancello il link /sbin/mount.ntfs-3g e gli rimetto lo script oggetto del workaround e monto il disco in automatico:
  • Nov 12 20:34:12 slackbox ntfs-3g[5940]: Version 1.5012 integrated FUSE 27
    Nov 12 20:34:12 slackbox ntfs-3g[5940]: Mounted /dev/sdc1 (Read-Write, label "LACIE", NTFS 3.1)
    Nov 12 20:34:12 slackbox ntfs-3g[5940]: Cmdline options: locale=it_IT@euro
    Nov 12 20:34:12 slackbox hald: mounted /dev/sdc1 on behalf of uid 1000
    Nov 12 20:34:12 slackbox ntfs-3g[5940]: Mount options: silent,allow_other,nonempty,relatime,fsname=/dev/sdc1,blkdev,blksize=4096
In questo caso il locale che viene utilizzato è forzato ad it_IT@euro e ovviamente il disco funziona perfettamente. Sembra che il problema stia tutto in quel "it" vs "it_IT@euro".
Allora ho rimesso il link ed eseguito un mount -t ntfs-3g -o locale=it /dev/sdc1 /media/LACIE/ che, sorpresa, restituisce un
Guardando in /var/log/messages:
  • Nov 12 20:40:15 slackbox ntfs-3g[6220]: Version 1.5012 integrated FUSE 27
    Nov 12 20:40:15 slackbox ntfs-3g[6220]: Mounted /dev/sdc1 (Read-Write, label "LACIE", NTFS 3.1)
    Nov 12 20:40:15 slackbox ntfs-3g[6220]: Cmdline options: rw,locale=it
    Nov 12 20:40:15 slackbox ntfs-3g[6220]: Mount options: rw,silent,allow_other,nonempty,relatime,fsname=/dev/sdc1,blkdev,blksize=4096
E il disco funziona perfettamente. Quindi "it" oppure "it_IT@euro" vanno bene ugualmente. Alla fine mi sembra che il disco funzioni con qualunque localizzazione, al limite anche con nessuna. Ma allora lo script che sostituisce il link simbolico, forzando la localizzazione, non dovrebbe cambiare niente e invece qualcosa fa. Forse semplicemente sopprime i parametri dopo $1 e $2 e la cosa è sufficiente per eseguire un mount diverso. Infatti senza workaround:
  • Nov 12 20:28:31 slackbox ntfs-3g[5725]: Mount options: rw,nosuid,nodev,uhelper=hal,silent,allow_other,nonempty,relatime,fsname=/dev/sdc1,blkdev,blksize=4096
con workaround invece:
  • Nov 12 20:34:12 slackbox ntfs-3g[5940]: Mount options: silent,allow_other,nonempty,relatime,fsname=/dev/sdc1,blkdev,blksize=4096
Le differenze stanno in questi parametri "rw,nosuid,nodev,uhelper=hal" che evidentemente causano il problema.

Non so cos'altro analizzare. Per adesso mi tengo il workaround indicato ma mi sembra sia un problema da attribuire ad hal.

Avatar utente
phobos3576
Staff
Staff
Messaggi: 2980
Iscritto il: dom 17 apr 2005, 0:00
Slackware: 13.1
Kernel: 2.6.37-smp
Desktop: KDE 4.5.3

Re: Disco esterno NTFS [risolto]

Messaggio da phobos3576 »

XPaolo, scusa ma, in un precedente messaggio hai scritto che lo script che risolve il problema ha questa struttura:

Codice: Seleziona tutto

#!/bin/bash
/bin/ntfs-3g $1 "$2" -o locale=en_US.UTF-8,$4
Nel tuo caso hai creato questo script:

Codice: Seleziona tutto

#!/bin/bash
/bin/ntfs-3g $1 "$2" -o locale=it_IT@euro
Ma quel "$4" presente nel primo script lo hai messo anche nel tuo o te lo sei dimenticato?

Te lo chiedo per sapere se influisce o meno sull'automount.

P.S. Ho notato che il problema si presenta anche con l'automount delle penne USB con filesystem VFAT32; se il filesystem è EXT3, invece, le vocali accentate vengono gestite correttamente.

xpaolo
Linux 0.x
Linux 0.x
Messaggi: 40
Iscritto il: mer 23 mag 2007, 12:59
Slackware: current
Kernel: 2.6.x
Desktop: kde

Re: Disco esterno NTFS [risolto]

Messaggio da xpaolo »

Io ho solo riportato quanto presente nel link. Ho solo fatto un copia/incolla da quì: http://wiki.archlinux.org/index.php/HAL. Siccome la prima versione
  • /bin/ntfs-3g $1 "$2" -o locale=en_US.UTF-8,$4 #put your own locale here
mi causava un errore ho usato l'"alternative solution" togliendo il ",$4"
  • /sbin/mount.ntfs-3g.sav $1 $2 -o locale=de_DE.UTF-8
adesso che me lo fai notare però il $2 non è tra doppi apici quì. Boh. Questa è la versione che sto usando:
  • #!/bin/bash
    /bin/ntfs-3g $1 "$2" -o locale=it_IT@euro
comunque sia FUNZIONA!

Rispondi