Udev and external USB HD

Mi capita di aggiungere e togliere HD USB esterni, di dimenticarmeli collegati e di trovarmi in difficoltà al riavvio perchè udev li monta con nomi diversi a seconda dell’ordine. Il problema nasce dal fatto che monto in /mnt due HD USB esterni all’avvio del sistema per cui ho in /etc/fstab le seguenti righe

/dev/sda1        swap             swap        defaults         0   0
/dev/sdc1        /                ext4        defaults         1   1
/dev/sda2        /home            ext4        defaults,user_xattr         1   2
/dev/sdb1        /mnt/win7        ntfs-3g     fmask=133,dmask=022 1   0
/dev/sda4        /mnt/win7data    ntfs-3g     fmask=133,dmask=022 1   0
/dev/sde1    /mnt/FreeAgentDrive    ext4    defaults        1       0 
/dev/sdd1         /mnt/Elements    ntfs-3g       defaults        1       0
#/dev/cdrom      /mnt/cdrom       auto        noauto,owner,ro  0   0
#/dev/fd0         /mnt/floppy      auto        noauto,owner     0   0
devpts           /dev/pts         devpts      gid=5,mode=620   0   0
proc             /proc            proc        defaults         0   0
tmpfs            /dev/shm         tmpfs       defaults         0   0

Ho quindi aggiunto tre regole per udev sul file /etc/udev/rules.d/70-persistent-hd.rules aiutantomi con il comando

udevadm info --name=/dev/sde
udevadm test /block/sd
# Rules for USB Hard Disk:
# Seagate FreeAgentDrive
# WD Elements
# LG EXT HDD 
KERNEL=="sd*", SUBSYSTEMS=="scsi", ATTRS{vendor}=="WD      ", ATTRS{model}=="Ext HDD 1021    ", SYMLINK+="wd%n"
KERNEL=="sd*", SUBSYSTEMS=="scsi", ATTRS{vendor}=="Seagate ", ATTRS{model}=="FreeAgentDesktop", SYMLINK+="seagate%n"
KERNEL=="sd*", SUBSYSTEMS=="scsi", ATTRS{vendor}=="Hitachi ", ATTRS{model}=="HTS545050B9A300 ", SYMLINK+="hitachi%n"

Adesso uso questo /etc/fstab senza preoccuparmi di come collego i miei dischi USB esterni 🙂

/dev/sda1        swap             swap        defaults         0   0
/dev/sdc1        /                ext4        defaults         1   1
/dev/sda2        /home            ext4        defaults,user_xattr         1   2
/dev/sdb1        /mnt/win7        ntfs-3g     fmask=133,dmask=022 1   0
/dev/sda4        /mnt/win7data    ntfs-3g     fmask=133,dmask=022 1   0
/dev/seagate1    /mnt/FreeAgentDrive    ext4    defaults        1       0 
/dev/wd1         /mnt/Elements    ntfs-3g       defaults        1       0
#/dev/cdrom      /mnt/cdrom       auto        noauto,owner,ro  0   0
#/dev/fd0         /mnt/floppy      auto        noauto,owner     0   0
devpts           /dev/pts         devpts      gid=5,mode=620   0   0
proc             /proc            proc        defaults         0   0
tmpfs            /dev/shm         tmpfs       defaults         0   0

A volte ci sono problemi nel collegare dischi USB in formato NTFS a causa della chiusura non perfetta del file system, oppure con condivisioni NFS se queste non sono raggiungibili. In queti casi la lettura del file fstab durante l’avvio di Linux può portare al blocco dell’avvio stesso. Per questo preferisco aggiungere le righe in /etc/fstab con l’opzione noauto ed eseguire il mount alla fine del boot di Linux aggiungendo le righe sul file /etc/rc.d/rc.local

You may also like...

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.