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