UsbMount: Gestione automatizzata delle periferiche USB di memorizzazione: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
m (non compatibile)
 
(29 versioni intermedie di 8 utenti non mostrate)
Riga 1: Riga 1:
=NdisWrapper=
{{Versioni compatibili|ONLY|Wheezy|Jessie}}
==Introduzione==
== Introduzione ==
Questa guida indica come utilizzare NdisWrapper, che permette di utilizzare i driver non nativi per le schede wireless sotto GNU/Linux.
'''Usbmount''' è uno [[script]] che consente, tramite [[udev]], di montare e smontare automaticamente le memorie USB in modo trasparente dall'ambiente grafico utilizzato e anche in sua assenza. È quindi l'alternativa più leggera per abilitare l'automount in un ambiente minimale e perfino senza bisogno dell'interfaccia grafica.
Per quando NdisWrapper utilizzi quindi driver spesso proprietari, e quindi contrari all'etica del software libero, � un programma che viene rilasciato sotto GPL.


Il progetto NdisWrapper fornisce un modulo per il Kernel di Linux che � in grado di caricare ed eseguire i drivers Ndis (Windows network driver API) sostituendo di fatto il mancato rilascio dei drivers nativi. NdisWrapper lavora bene con molte schede miniPCI (builtin), PCI, PCMCIA (solo Cardbus) nonch� le schede USB. Per verificare il livello di compatibilit� con la vostra scheda Wireless consultate il progetto Wiki di NdisWrapper [http://ndiswrapper.sourceforge.net/phpwiki/index.php/ qui].
Non è più stato distribuito in una Debian stable per la versione 9 ([[Stretch]]) e successive.
 
Il sito web di riferimento per il progetto NdisWrapper � [http://ndiswrapper.sourceforge.net/ questo]. Proprio dal sito del progetto ho provveduto a scaricare la distribuzione in formato tarball che contiene i codici sorgenti.
 
==Installazione==
===Compilazione===
 
La procedura di compilazione e di installazione dei sorgenti � piuttosto semplice:


== Installazione ==
L'installazione è facilissima. Con [[privilegi di amministrazione]] basta digitare su un terminale o una console:
<pre>
<pre>
# tar zxvf ndiswrapper-1.4rc1.tar.gz
# apt-get install usbmount
# cd ndiswrapper-1.rc1
# make && make install
</pre>
</pre>


===Configurazione===
== Configurazione ==
Il pacchetto non necessita di riconfigurazione, in quanto i valori di default sono ottimali. Analizziamo comunque i file di configurazione e le opzioni: il file contenente la configurazione di usbmount è <code>/etc/usbmount/usbmount.conf</code>.<br/>
Le direttive sono:


A questo punto avviamo ndiswrapper
; MOUNTPOINTS : Indicano le directory in cui dovranno essere montate le periferiche. Viene sempre utilizzata la prima disponibile (cosa molto comoda) e, se non sono presenti, vengono create.
; FILESYSTEMS : Contiene la lista dei [[File System|filesystem]] da provare, quando si esegue il mount del device. Il mio consiglio è di avere prima <code>vfat</code> e poi <code>msdos</code>, per evitare problemi di 'storpiatura' dei nomi dei file.
; MOUNTOPTIONS : Serve per indicare le opzioni da passare al mount del device. Se non è presente, consiglio l'aggiunta dell'opzione 'quiet' che elimina i messaggi di errore relativi all'assenza di permessi nei filesystem di tipo fat. Le opzioni '''nodev''' e '''noexec''' sono misure di sicurezza, da non rimuovere.
{{Box | Approfondimento | L'opzione '''nodev''' come misura di sicurezza considera come file normali eventuali file dispositivo a blocchi o a caratteri presenti, che potrebbero essere usati per accedere indirettamente ad altri dispositivi, mentre '''noexec''' impedisce l'esecuzione diretta di eseguibili dal supporto rimovibile.


<pre>
Se fosse necessario eseguire qualcosa dalle unità, si consiglia di sostituire almeno '''noexec''' con '''nosuid''', in modo che per gli eseguibili sia ignorato l'eventuale bit ''setuid'' attivo. Si legga per maggiori informazioni: [[Filesystem: i permessi sui files|Guida sui permessi dei file]].}}
# ndiswrapper
; FS_MOUNTOPTIONS : Configurazioni specifiche per un determinato filesystem. La sintassi è del tipo: <pre>-fstype=TYPE,OPTIONS</pre> dove '''TYPE''' è la stringa identificativa del filesystem, e '''OPTIONS''' sono le opzioni da assegnare a quel determinato filesystem (''man mount'' per i dettagli su tutte le opzioni disponibili).
Usage: ndiswrapper OPTION
; VERBOSE : Utile per il [[debug]] (e se qualche cosa non va come deve). In caso di dubbio, lasciare su 'no'.
Manage ndis drivers for ndiswrapper.
-i inffile        Install driver described by 'inffile'
-d devid driver  Use installed 'driver' for 'devid'
-e driver        Remove 'driver'
-l                List installed drivers
-m                Write configuration for modprobe
-hotplug          (Re)Generate hotplug information
</pre>


la procedura di installazione del driver Ndis � piuttosto banale, in genere lo stesso viene incluso nel supporto CDROM allegato alla scheda Wireless o al pc.
== Utilizzo ==
L'utilizzo è piuttosto semplice. È sufficiente inserire il dispositivo, aspettare un secondo, e recarsi nella directory <code>/media/usb</code> (o usb0, usb1, ...), dove verrà montata la periferica.


<pre>
Per quanto riguarda l'unmount, non bisogna preoccuparsi: le periferiche sono montate con la flag 'sync' attiva, che comporta un accesso in scrittura in tempo reale. Per evitare perdite di dati basta aspettare il termine della copia dei dati, dopo di che è possibile rimuoverla direttamente (facendo attenzione a non aver aperte applicazioni che accedono al [[mountpoint]] del device).
# ndiswrapper -i /media/cdrom/drivers/nomedriver.inf
</pre>


il driver Ndis � stato installato, per verificare l'insieme dei drivers installati utilizziamo il comando ndiswrapper
== Approfondimento ==
Non esiste quasi nessuna documentazione oltre al readme (<code>/usr/share/doc/usbmount/README.gz</code>), a parte la possibilità di leggere i commenti nel file di configurazione (<code>/etc/usbmount/usbmount.conf</code>), lo script stesso (<code>/usr/share/usbmount/usbmount</code>) e le regole per [[udev]] che lo invocano (<code>/lib/udev/rules.d/usbmount.rules</code>).


== Suggerimento ==
Dato che le periferiche sono montate per default da root non abbiamo i permessi di scrittura come semplice utente.
Un modo semplice per risolvere puo' essere quello di cambiare la variabile (<code>FS_MOUNTOPTIONS=""</code>), come suggerito a riga 47 di (<code>/etc/usbmount/usbmount.conf</code>) con (<code>FS_MOUNTOPTIONS="-fstype=vfat,gid=floppy,dmask=0007,fmask=0117"</code>)con i [[privilegi di amministrazione]] basta digitare su un terminale o una console:
<pre>
<pre>
# ndiswrapper -l
# nano /etc/usbmount/usbmount.conf
Installed ndis drivers:
</pre>  
nomedriver driver present, hardware present
A riga 49 trovate la variabile (<code>FS_MOUNTOPTIONS=""</code>) da riempire con quanto suggerito a riga 47.
</pre>
 
===Utilizzo===
 
A questo punto dobbiamo fare in modo di caricare in memoria il modulo ndiswrapper in modo che lo stesso possa finalmente gestire la nostra scheda Wireless:
 
<pre>
# modprobe ndiswrapper
</pre>
 
la scheda Wireless viene finalmente inizializzata ed � pronta per lavorare, per verificare lo stato dell'interfaccia Wireless utilizziamo l'utility iwconfig (Wireless Tools for Linux - [http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html])
 
<pre>
# iwconfig
lo        no wireless extensions.
eth0      no wireless extensions.
sit0      no wireless extensions.
wlan0    IEEE 802.11g  ESSID:off/any
          Mode:Managed  Frequency:2.462 GHz  Access Point: 00:00:00:00:00:00
          Bit Rate:54 Mb/s  Tx-Power:16 dBm
          RTS thr:2347 B  Fragment thr:2346 B
          Encryption key:off
          Power Management:off
          Link Quality:100/100  Signal level:-10 dBm  Noise level:-256 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0  Missed beacon:0
</pre>
 
per consentire alla nostra macchina di caricare il modulo ndiswrapper con il boot del sistema operativo dobbiamo modificare il file /etc/modules utilizzando sempre l'utility ndiswrapper
 
<pre>
# ndiswrapper -m
Adding "alias wlan0 ndiswrapper" to /etc/modules
</pre>
 
Per utilizzare una connessione di rete Wireless che dobbiamo procedere con la configurazione della scheda di rete Wireless affinch� la stessa sia in grado di colloquiare con l'access point (AP).
Ora ricorriamo nuovamente all'utilizzo dell'utility iwconfig
 
<pre>
# iwconfig -h
Usage: iwconfig interface [essid {NN|on|off}]
                          [nwid {NN|on|off}]
                          [mode {managed|ad-hoc|...}
                          [freq N.NNNN[k|M|G]]
                          [channel N]
                          [ap {N|off|auto}]
                          [sens N]
                          [nick N]
                          [rate {N|auto|fixed}]
                          [rts {N|auto|fixed|off}]
                          [frag {N|auto|fixed|off}]
                          [enc {NNNN-NNNN|off}]
                          [power {period N|timeout N}]
                          [txpower N {mW|dBm}]
                          [commit]
</pre>
 
in alto possiamo visualizzare alcune delle opzioni che utilizzeremo per configurare al meglio la nostra scheda di rete Wireless, in particolare utilizzeremo le seguenti impostazioni
 
<pre>
# iwconfig wlan0 rate auto
# iwconfig wlan0 mode managed
# iwconfig wlan0 channel 11
# iwconfig wlan0 key s:WEP_KEY enc open
# iwconfig wlan0 essid nome_nodo
</pre>
 
a questo punto dovremmo attivare l'interfaccia di rete wlan0 per collegarci con l'AP (access point)
 
<pre>
# ifconfig wlan0 up
</pre>
 
ora non ci resta che farci assegnare un indirizzo IP dall'AP utilizzando il nostro client dhcp
 
<pre>
# dhclient wlan0
</pre>


==Ringraziamenti==
{{
Un ringraziamento a [http://www.irretito.it/ Stefano Tagliaferri] per aver scritto l'how -to su cui mi sono basato per la mia esperienza con ndiswrapper.
Autori
|Autore = [[User:MaXeR|MaXeR]]
|Estesa_da=
:[[Utente:Clabit|Clabit]]
|Verificata_da=
:[[Utente:HAL 9000|HAL 9000]] 15:00, 18 apr 2015 (CEST)
:[[Utente:Clabit|Clabit]] 10:51, 6 ott 2015 (CEST)
|Numero_revisori=2
}}


----
[[Categoria:Dispositivi di massa rimovibili]]
Autore: [[Utente:Jango|jango]]
[[Categoria:Hardware]]

Versione attuale delle 13:11, 21 lug 2019

Debian-swirl.png Versioni Compatibili

soltanto:
Debian 7 "wheezy"
Debian 8 "jessie"

Introduzione

Usbmount è uno script che consente, tramite udev, di montare e smontare automaticamente le memorie USB in modo trasparente dall'ambiente grafico utilizzato e anche in sua assenza. È quindi l'alternativa più leggera per abilitare l'automount in un ambiente minimale e perfino senza bisogno dell'interfaccia grafica.

Non è più stato distribuito in una Debian stable per la versione 9 (Stretch) e successive.

Installazione

L'installazione è facilissima. Con privilegi di amministrazione basta digitare su un terminale o una console:

# apt-get install usbmount

Configurazione

Il pacchetto non necessita di riconfigurazione, in quanto i valori di default sono ottimali. Analizziamo comunque i file di configurazione e le opzioni: il file contenente la configurazione di usbmount è /etc/usbmount/usbmount.conf.
Le direttive sono:

MOUNTPOINTS
Indicano le directory in cui dovranno essere montate le periferiche. Viene sempre utilizzata la prima disponibile (cosa molto comoda) e, se non sono presenti, vengono create.
FILESYSTEMS
Contiene la lista dei filesystem da provare, quando si esegue il mount del device. Il mio consiglio è di avere prima vfat e poi msdos, per evitare problemi di 'storpiatura' dei nomi dei file.
MOUNTOPTIONS
Serve per indicare le opzioni da passare al mount del device. Se non è presente, consiglio l'aggiunta dell'opzione 'quiet' che elimina i messaggi di errore relativi all'assenza di permessi nei filesystem di tipo fat. Le opzioni nodev e noexec sono misure di sicurezza, da non rimuovere.
Info.png Approfondimento
L'opzione nodev come misura di sicurezza considera come file normali eventuali file dispositivo a blocchi o a caratteri presenti, che potrebbero essere usati per accedere indirettamente ad altri dispositivi, mentre noexec impedisce l'esecuzione diretta di eseguibili dal supporto rimovibile.

Se fosse necessario eseguire qualcosa dalle unità, si consiglia di sostituire almeno noexec con nosuid, in modo che per gli eseguibili sia ignorato l'eventuale bit setuid attivo. Si legga per maggiori informazioni: Guida sui permessi dei file.

FS_MOUNTOPTIONS
Configurazioni specifiche per un determinato filesystem. La sintassi è del tipo:
-fstype=TYPE,OPTIONS
dove TYPE è la stringa identificativa del filesystem, e OPTIONS sono le opzioni da assegnare a quel determinato filesystem (man mount per i dettagli su tutte le opzioni disponibili).
VERBOSE
Utile per il debug (e se qualche cosa non va come deve). In caso di dubbio, lasciare su 'no'.

Utilizzo

L'utilizzo è piuttosto semplice. È sufficiente inserire il dispositivo, aspettare un secondo, e recarsi nella directory /media/usb (o usb0, usb1, ...), dove verrà montata la periferica.

Per quanto riguarda l'unmount, non bisogna preoccuparsi: le periferiche sono montate con la flag 'sync' attiva, che comporta un accesso in scrittura in tempo reale. Per evitare perdite di dati basta aspettare il termine della copia dei dati, dopo di che è possibile rimuoverla direttamente (facendo attenzione a non aver aperte applicazioni che accedono al mountpoint del device).

Approfondimento

Non esiste quasi nessuna documentazione oltre al readme (/usr/share/doc/usbmount/README.gz), a parte la possibilità di leggere i commenti nel file di configurazione (/etc/usbmount/usbmount.conf), lo script stesso (/usr/share/usbmount/usbmount) e le regole per udev che lo invocano (/lib/udev/rules.d/usbmount.rules).

Suggerimento

Dato che le periferiche sono montate per default da root non abbiamo i permessi di scrittura come semplice utente. Un modo semplice per risolvere puo' essere quello di cambiare la variabile (FS_MOUNTOPTIONS=""), come suggerito a riga 47 di (/etc/usbmount/usbmount.conf) con (FS_MOUNTOPTIONS="-fstype=vfat,gid=floppy,dmask=0007,fmask=0117")con i privilegi di amministrazione basta digitare su un terminale o una console:

# nano /etc/usbmount/usbmount.conf

A riga 49 trovate la variabile (FS_MOUNTOPTIONS="") da riempire con quanto suggerito a riga 47.




Guida scritta da: MaXeR Swirl-auth60.png Debianized 60%
Estesa da:
Clabit
Verificata da:
HAL 9000 15:00, 18 apr 2015 (CEST)
Clabit 10:51, 6 ott 2015 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized