[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: sarge stable i usb automount



Hola Francesc,

La càmera de fotos "normalment" la gestions el progecte gphoto2 accedint
al dispositiu usb directament.

Tanmateix, pot ser que la càmera es vegi com una memòria convenional. En
aquest cas, el kernel té el mòdul "USB mass storage" per tractar-les, com
si fos un memory stick.

Aquest mòdul presenta aquests dispositius al sistema com si fossin discs
SCSI: llavors es diuen /dev/sda, /dev/sdb... (o /dev/sda1 si els
dispositius estan formatejats amb una taula de particions, com els discs
durs). Pots veure quin nom ha assignat al dispositiu mirant la sortida de
"dmesg" després de connectar-lo al USB.

El problema són els noms: Com que l'ordre de connexió i la posició poden
variar, no està garantit que, per exemple, la càmera sigui *sempre*
/dev/sda1 quan la connectis. Això dificulta molt afegir una línia al
/etc/fstab perquè hom no sap ban bé què posar-hi.

La solució és UDEV. Aquest sistema de dispositius dinàmics et permet
assignar un nom concret a qualsevol dispositiu en funció de dades
immutables com ara el seu número de sèrie. Així saps, per exemple, que la
càmera sempre es dirà /dev/camera o /dev/canon123 o el que tu vulguis.
Aleshores és fàcil tenir una línia al fstab que permeti muntar-la
còmodament, i fins i tot automàticament.

Mira't UDEV i, en particular com es poden crear regles de reconeixement de
dispositius pròpies.
Per exemple, aquest és un fitxer anomenat "/etc/udev/rules.d/memoria.rules"
que em vaig crear jo. Observa que reconeix el dispositiu pel nom de
producte que apareix al sistema de fitxers "sysfs" (sota /sys): És el
"Cruzer Mini". Aleshores crea un enllaç simbòlic que es dirà "sandisk" amb
permisos de lectura/escriptura per a tothom ("666").

------------------------------------------
# There are a number of modifiers that are allowed to be used in some
# of the different fields. They provide the following subsitutions:
# %n - the "kernel number" of the device.
#      For example, 'sda3' has a "kernel number" of '3'
# %k - the kernel name for the device.
# %M - the kernel major number for the device
# %m - the kernel minor number for the device
# %b - the bus id for the device
# %c - the string returned by the PROGRAM. (Note, this doesn't work within
#      the PROGRAM field for the obvious reason.)
# %s{filename} - the content of a sysfs attribute.
# %% - the '%' char itself.
#

# /dev/cdrom symlink
BUS="usb", SYSFS{product}="Cruzer Mini", NAME="%k", MODE="0666"
SYMLINK="sandisk"
--------------------------------------------------------

> bones,
> m'agrada molt i estic força convencut de com funciona tot, pero ara
> m'arriben alguns petits problemes que no vaig pensar ni preveure,
> el mes important per exemple es el montatge automatic dels usb, on
> sovint fico y afegeixo la camera fotos i un memory de copies seguretat,
> vaig afegir aquestes linies al 'fstab' perque veig que son establertes
> com per defecte amb molts llocs de internet :
>
> none    /media/usb supermount      rw,fs=vfat,dev=/dev/sda1,--,user 0 0
> none    proc/bus/usb usbdevfs defaults 0 0
>

No, el supermount necessita un pegat per al nucli, i a més és una cosa
obsoleta. Com t'he dit, UDEV és la solució moderna.

Orestes.



Reply to: