Tux Utilizzare i dispositivi di memorizzazione USB con Linux

Sommario

Siccome questa pagina mi è venuta un po' lunga, ho pensato di inserire all'inizio questo indice, che consente di raggiungere rapidamente gli argomenti preferiti.

Premessa
Identificare il dispositivo
Assicurarsi che Linux riconosca il dispositivo
Scoprire come Linux "chiama" la chiave USB
Montare il dispositivo
Automatizzare e semplificare la procedura
Sinossi

Premessa

Chiunque utilizza il computer ha la necesità di registrare e di poter trasferire i propri dati.
Per mostrare le vostre foto a parenti od amici, o per stamparle in un laboratorio specializzato, per trasferire i vostri scritti, per utilizzare la presentazione elettronica di diapositive preparata per un convegno, c'è la necessità di registrare i dati su un supporto che possa essere utilizzato su un altro computer.
Se si tralascia la possibilità di inviare questi dati per posta elettronica, esistono varie possibilità:

Il floppy disk è stato da sempre il sistema più utilizzato.
È semplice da utilizzare, economico, e molto diffuso; purtroppo, però, è diventato assolutamente inadeguato alle esigenze di memorizzazione attuali.
La sua capacità è insufficiente a memorizzare anche una sola immagine a colori di buona qualità, per la stessa ragione non consente di memorizare file musicali (se non di brevissima durata), o una presentazione di diapositive, o più di qualche pagina internet (html) che contenga elementi aggiuntivi al semplice testo.
Infine, il lettore di floppy disk ha un costo ed un ingombro (soprattutto nei PC portatili) spropositati in rapporto alle prestazioni che è in grado di fornire.
Per questa ragione spesso non viene nemmeno più fornito nei computer più recenti.

I CD ROM hanno in parte risolto questi problemi, con un supporto con una buona capacità di memorizzazione.
Purtroppo non tutti i PC sono dotati di un masterizzatore di CD.
Inoltre le procedure di masterizzazione non sono né rapide, né sempilicissime, e generalmente non consentono di registrare i dati in uso direttamente sul CD.
I CD multisessione, ed i CD RW non sono utilizzabili con tutti i lettori di CD ROM.

Altre soluzioni come le unità Iomega Zip o dischi magneto ottici o i floppy ad alta capacità Imation, sono ancora meno convenienti per costi, e diffusione del supporto.

Attualmente si stanno rapidamente diffondendo le chiavi USB storage.
Si tratta di dei dispositivi di dimenioni molto contenute, variabili tra quelle di una piccola chiave (per serrature) e quelle di una penna, che si possono inserire con una estremità in una presa USB del PC.
Non richiedono batterie, ed una volta collegati al PC, funzionano come un normale hard disk.
Per registrarci i dati basta trascinare le icone dei files utilizzando il files manager grafico preferito.
La velocità di lettura e scrittura è quella tipica degli hard disk, sono normalmente disponibili con capacità variabili tra 32 e 512 MB, non richiedono batterie di alimentazione.
Consentono di registrare molti dati, e sarebbe addirittura possibile installare i propri programmi preferiti da utilizzare su qualunque computer, o perfino un nuovo sistema operativo.

Chiave USB
Una foto della mia chiavetta USB

Gli utenti di Linux saranno felici di sapere che questo tipo di dispositivi funziona molto bene con tale sistema operativo (non si può dire lo stesso di Windows 98 SE che non è stato in grado di far funzionare la chiave USB, nonostante fosse stata fornita con appositi driver).

Descriverò di seguito la procedura che ho utlizzato io per utilizzare la mia chiave USB con Linux Red Hat 9, ma la procedura dovrebbe essere la stessa se dovete utilizzare una macchina fotografica digitale che si collega alle prese USB.

Identificare il dispositivo

Per poter utilizzare una chiavetta USB è necessario disporre di un kernel compilato per includere il suporto di: "SCSI disk support", "SCSI generic support", "USB support", "USB device filesystem", "UHCI", "OHCI", "USB Mass Storage Support".
Non preoccupatevi! Quasi certamente è gia stato fatto tutto automaticamente al momento dell'installazione del sistema operativo (se disponete di una distribuzione recente).
In alcune distribuzioni, basterà inserire la chiavetta nel PC perché venga configurato tutto automaticamente, e per poter accedere al dispositivo USB direttamente dalla finestra di Konqueror.

Assicurarsi che Linux riconosca il dispositivo

Se non si vede comparire un nuovo disco (generalmente nella directory /mnt/, oppure con una nuova icona di disco fisso sul desktop) in konqueror non bisogna comunque disperare.
È consigliabile controllare che Linux riconosca il dispositivo:
Aprite una finestra di terminale, assumete l'identità di amministratore (con il comando su e digitando la password di amministratore) ed immettendo il seguente comando:

[aldo@localhost aldo]# tail -f /var/log/messages

che continua ciclicamente a prelevare le ultime righe del file /var/log/messages (in cui Linux registra le informazioni sul suo funzionamento) per visualizzarle nella finestra di terminale.
A questo punto, collegando la chiave USB, se il kernel (il cuore del sistema opertivo) è configurato opportunamente, si dovrebbero veder comparire dei messaggi che indicano il riconoscimento del dispositivo.

È anche possibile vedere come viene identificato il dispositivo con il comando:

[aldo@localhost aldo]# less /proc/bus/usb/devices

che visualizza il contenuto del file /proc/bus/usb/devices.

Come viene identificata la mia chiavetta USB

tail -f /var/log/messages
Dec 1 22:01:02 localhost kernel: hub.c: new USB device 00:10.3-2, assigned address 2
Dec 1 22:01:02 localhost kernel: usb.c: USB device 2 (vend/prod 0x126f/0x1325) is not claimed by any active driver.
Dec 1 22:01:05 localhost /etc/hotplug/usb.agent: Setup usb-storage for USB product 126f/1325/100
Dec 1 22:01:05 localhost kernel: Initializing USB Mass Storage driver...
Dec 1 22:01:05 localhost kernel: usb.c: registered new driver usb-storage
Dec 1 22:01:05 localhost kernel: scsi1 : SCSI emulation for USB Mass Storage devices
Dec 1 22:01:05 localhost kernel: Vendor: USB 2.0 Model: Memory Adapter Rev:
Dec 1 22:01:05 localhost kernel: Type: Direct-Access ANSI SCSI revision: 02
Dec 1 22:01:05 localhost kernel: USB Mass Storage support registered.
dic 1 22:01:06 localhost devlabel: devlabel service started/restarted

less /proc/bus/usb/devices
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=126f ProdID=1325 Rev= 1.00
S: Manufacturer=TTI-MSA
S: Product=USB 2.0 Memory Adapter
S: SerialNumber=BAAAA03024781
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 84mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Se tutto è andato bene basta "montare" la chiave sul sistema, cioè informare Linux che la chiave è presente, la vogliamo utilizzare, e dirgli in che punto dell'albero delle directory deve essere "visibile".
Ma prima bisogna scoprire il "nome" del dispositivo.

Scoprire come Linux "chiama" la chiave USB

Il paragrafo precedente ha spiegato come assicurarsi che Linux riconosca la chiave USB, ma per farla funzionare bisogna scoprire come "Linux" chiama il dispositivo, cioè quali quali "parole" bisogna utilizzare per indicare al sistema operativo la chiave USB.

In Linux i dispositivi di memorizzazione USB vengono identificati come hard disc SCSI.
Il primo disco SCSI viene identificato con /dev/sda (Scsi disk a)
Il secondo disco SCSI viene identificato con /dev/sdb (Scsi disk b)
Le partizioni di ogni disco SCSI sono identificate con dei numeri: sda1, sda2, sda 3, ecc. sono la prima, seconda, e terza partizione del primo disco SCSI.
Se il vostro computer non contiene dispositivi SCSI, quasi certamente la chiave USB sarà identificata come /dev/sda.
Identificare il dispositivo Per scoprire quale partizione sda viene assegnata al dispositivo USB storage, potete fare delle prove cercando di montare /mnt/sda1, /mnt/sda2, /mnt/sda3, /mnt/sda4... (come indicato nel paragrafo seguente),
e controllando ogni volta se riuscite ad accedere ai dati.

Un comando per scoprire il "nome" della chiavetta USB

Con una semplice comando di testuale si possono ottenere molte informazioni per identificare il nome della chiavetta USB:

[aldo@desktop aldo]$ dmesg | grep SCSI
SCSI subsystem driver Revision: 1.00
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
Type: CD-ROM ANSI SCSI revision: 02
Type: CD-ROM ANSI SCSI revision: 02
scsi1 : SCSI emulation for USB Mass Storage devices
Type: Direct-Access ANSI SCSI revision: 02
SCSI device sda: 251904 512-byte hdwr sectors (129 MB)

Il comando da digitare è evidenziato in grassetto
La risposta fornita dal computer fa vedere che il CD ed il masterizzatore sono collegati al canale SCSI 0,
Un dispositivo di memorizzazione di massa USB (la mia chiavetta) simula un dispositivo SCSI sul canale 1 (parte di codice evidenziata in corsivo
Tra le altre informazioni si vede che la chiavetta viene identificata come primo disco scsi (sda).
Purtroppo non consente di sapere il numero della partizione assegnata al disco sda (nel mio caso la chiavetta viene identificata come sda4) per cui sarà comunque necessario eseguire delle prove.

Un sistema più semplice e rapido consiste nel servirsi di Knoppix, una distribuzione linux live, cioè che fa funzionare il computer senza registrare un solo file sul disco fisso.
È un ottimo strumento per eseguire operazioni di amministrazione del PC.
Siccome Knoppix riconosce e configura automaticamente le componenti del PC, ed anche i dispositivi USB storage, si può avviare il computer con Knoppix per poi "rubargli" il "nome" del dispositivo USB.

Identificazione chiave USB
In Knoppix la finestra proprietà del dispositivo USB storage, consente di "rubare" le informazioni identificative.

Montare il dispositivo

Si tratta di creare una nuova directory (generalmente in /mnt/, io utilizzo /mnt/usb_strg), e dire a Linux di associare tale directory al dispositivo di memorizzazione USB.
Nel mio caso Linux identifica la chiavetta USB come /dev/sda4.
(sda4 significa partizione numero 4 del 1º dispositivo della catena SCSI: scsi device a partition 4).

In pratica si deve aprire una finestra di terminale, asumere l'identità di root ed impartire i seguenti comandi:

Automatizzare e semplificare la procedura

Tutti questi comandi in modalità testo, i cambi di identità e le copie dei file da modificare, sono procedure scomode e poco pratiche.
Va bene la mania di sicurezza dei dati sui sistemi Linux, ma per proteggere i dati di una chiave USB basta rimuoverla dal PC, e nessuno ne modificherà il contenuto.
Illustrerò di seguito come consentire agli utenti comuni, di utilizzare la propria chiave USB semplicemente collegandola al PC ed aprendo una finestra di Konqueror (od altro file manager).

Ecco la procedura:

Sinossi

Riporto in breve i passi da seguire per configurare il dispositivo di memorizzazione USB:

  1. mkdir /mnt/usb_strg
    per creare il punto di mount
  2. umount /mnt/cdrom
    umount /mnt/windows
    per smontare i dispositivi già presentati
  3. aprire in un editor di testo il file /etc/fstab ed aggiungere la riga:
    /dev/sda4/ /mnt/usb_strg auto noauto,users,exec,umask=000 0 0
    salvate il file.
  4. /bin/mount -a
    per far rileggere il file /etc/fstab da Linux
  5. cp USB-store.png /usr/share/icons/Bluecurve/devices/
    cp USB-store_m.png /usr/share/icons/Bluecurve/devices/
    (solo se volete utilizzare le mie icone per rappresentare la chiavetta sul Desktop)
  6. cliccare con il tasto destro su un punto vuoto del desktop e selezionare Crea nuovo -> Disco fisso

    Nella scheda generale,
    cliccare l'icona del disco fisso e selezionare /usr/share/icons/Bluecurve/devices/USB-store_m.png, ed inserire nella casella di testo: "USB_storage"

    Nella scheda dispositivo,
    selezionare /dev/sda4 nella casella di scelta "Dispositivo"
    cliccaresull'icona smontato e selezionare /usr/share/icons/Bluecurve/devices/USB-store.png
    premere OK.

    Verrà rappresentata sul dektop un'icona che consente di accedere facilmente alla chiave USB.

Per utilizzare la chiave USB basta inserirla nel PC, fare doppio click sull'icona della chiave sul desktop (si apre una finestra di Konqueror che visualizza e consente di agire sui files registrati sulla chiavetta).
Prima di rimuovere la chiave USB dal pc assicurarsi che l'icona sul desktop non abbia il triangolino verde acceso (se fosse così si dovrebbe smontare il dispositivo con Click destro sull'icona della chiave -> Smonta).



Inizio pagina
Indice guide Linux
Homepage