Automount periferiche usb con udisks

Si può incombere in uno spiacevole disservizio di ubuntu server per ciò che riguarda le periferiche di archiviazione di massa, come chiavi e hdd usb.

Per risolvere questo problema basta aggiornare udev ed installare udisks:

sudo apt-get install --reinstall udev udisks se presente

sudo apt-get install udev udisks se non presente

Seguendo questa guida si può notare come in /etc/udev/rules.d/ vadano aggiunti alcuni file.
Creiamo il file se non presente con nano /etc/udev/rules.d/11-media-by-label-auto-mount.rules ed inseriamo quanto segue:
KERNEL!="sd[a-z]*", GOTO="media_by_label_auto_mount_end"
ACTION=="add", PROGRAM!="/sbin/blkid %N", GOTO="media_by_label_auto_mount_end"

# Non effettua il mount di file system gia montati in altri percorsi per evitare che in /media si creino voci per tutte le partizioni locali
ACTION==”add”, PROGRAM==”/bin/grep -q ‘ /dev/%k ‘ /proc/self/mountinfo”, GOTO=”media_by_label_auto_mount_end”

# Apre la partizione LUKS se necessario
PROGRAM==”/sbin/blkid -o value -s TYPE %N”, RESULT==”crypto_LUKS”, ENV{crypto}=”mapper/”, ENV{device}=”/dev/mapper/%k”
ENV{crypto}==””, ENV{device}=”%N”
ACTION==”add”, ENV{crypto}!=””, PROGRAM==”/usr/bin/xterm -display :0.0 -e ‘echo Password for /dev/%k; /sbin/cryptsetup luksOpen %N %k'”
ACTION==”add”, ENV{crypto}!=””, TEST!=”/dev/mapper/%k”, GOTO=”media_by_label_auto_mount_end”

# Opzioni globali per il comando mount
ACTION==”add”, ENV{mount_options}=”noatime”
# opzioni di mount specifiche per i filesystem
ACTION==”add”, PROGRAM==”/sbin/blkid -o value -s TYPE %E{device}”, RESULT==”vfat|ntfs”, ENV{mount_options}=”%E{mount_options},utf8,gid=100,umask=002″

# Individua l’etichetta se esiste, altrimenti ne crea una
PROGRAM==”/sbin/blkid -o value -s LABEL %E{device}”, ENV{dir_name}=”%c”
# Utilizza basename per to gestire etichette come ../mnt/foo
PROGRAM==”/usr/bin/basename ‘%E{dir_name}'”, ENV{dir_name}=”%c”
ENV{dir_name}==””, ENV{dir_name}=”usbhd-%k”

# Effettua il mount della periferica
ACTION==”add”, ENV{dir_name}!=””, RUN+=”/bin/mkdir -p ‘/media/%E{dir_name}'”, RUN+=”/bin/mount -o %E{mount_options} /dev/%E{crypto}%k ‘/media/%E{dir_name}'”

# Effettua la pulizia delle directory alla rimozione della periferica
ACTION==”remove”, ENV{dir_name}!=””, RUN+=”/bin/umount -l ‘/media/%E{dir_name}'”
ACTION==”remove”, ENV{crypto}!=””, RUN+=”/sbin/cryptsetup luksClose %k”
ACTION==”remove”, ENV{dir_name}!=””, RUN+=”/bin/rmdir ‘/media/%E{dir_name}'”

# Uscita
LABEL=”media_by_label_auto_mount_end”

 

per ricaricare le regole senza riavviare diamo udevadm control --reload-rules

Personalmente ho aggiunto questo codice, ora in /media/ compare il nome del dispositivo installato.

Vi sono presenti sicuramente altri file, conviene fare una ricerca dei presenti per verificarne la loro funzione, qui alcuni esempiqui e qui