Portál AbcLinuxu, 29. prosince 2025 09:44
/etc/udev/rules.d/10-local.rules
BUS=="scsi", SYSFS{model}=="ST3320620AS", NAME="sdg%n"
BUS=="scsi", SYSFS{model}=="ST3250620NS", NAME="sdh%n"
BUS=="scsi", SYSFS{dev}=="8:0", NAME="sda%n"
BUS=="scsi", SYSFS{dev}=="8:32", NAME="sdl%n"
BUS=="block", SYSFS{dev}=="8:0", NAME="sda%n"
BUS=="block", SYSFS{dev}=="8:32", NAME="sdb%n"
BUS=="block", SYSFS{dev}=="8:48", NAME="sdc%n"
BUS=="block", SYSFS{dev}=="8:16", NAME="sdd%n"
ls /dev/sd* -la
brw-rw---- 1 root disk 8, 0 2008-02-10 17:08 /dev/sda
brw-rw---- 1 root disk 8, 1 2008-02-10 17:08 /dev/sda1
brw-rw---- 1 root disk 8, 2 2008-02-10 17:08 /dev/sda2
brw-rw---- 1 root disk 8, 3 2008-02-10 17:08 /dev/sda3
lrwxrwxrwx 1 root root 3 2008-02-10 17:08 /dev/sdb -> sdb
lrwxrwxrwx 1 root root 4 2008-02-10 17:08 /dev/sdb1 -> sdb1
lrwxrwxrwx 1 root root 4 2008-02-10 17:08 /dev/sdb2 -> sdb2
brw-rw---- 1 root disk 8, 35 2008-02-10 17:08 /dev/sdb3
lrwxrwxrwx 1 root root 3 2008-02-10 17:08 /dev/sdc -> sdc
brw-rw---- 1 root disk 8, 49 2008-02-10 17:08 /dev/sdc1
brw-rw---- 1 root disk 8, 16 2008-02-10 17:08 /dev/sdd
brw-rw---- 1 root disk 8, 17 2008-02-10 17:08 /dev/sdd1
brw-rw---- 1 root disk 8, 18 2008-02-10 17:08 /dev/sdd2
brw-rw---- 1 root plugdev 8, 64 2008-02-10 17:08 /dev/sde
brw-rw---- 1 root plugdev 8, 80 2008-02-10 17:08 /dev/sdf
Co se to děje? Pokud přemapovávám na někam dál třeba na /dev/sdj, tak to jde. Tohle je problém už s přidělenými zařízeními. Jak tedy udělám, aby /dev/sdc bylo /dev/sdb. Pak /dev/sdb bylo /dev/sdc.
scsi_id, který obsahuje i sériové číslo. Příklad:
KERNEL=="sd?", PROGRAM=="scsi_id -g -s %p", RESULT=="SATA Hitachi HDT7250 VFK401R4154P5K", SYMLINK+="sata/a" KERNEL=="sd*[0-9]", PROGRAM=="scsi_id -g -s %p", RESULT=="SATA Hitachi HDT7250 VFK401R4154P5K", SYMLINK+="sata/a%n"
cat /etc/udev/rules.d/* | grep "sd"
BUS=="block", SYSFS{dev}=="8:0", NAME="sda%n"
BUS=="block", SYSFS{dev}=="8:32", NAME="sdb%n"
BUS=="block", SYSFS{dev}=="8:48", NAME="sdc%n"
BUS=="block", SYSFS{dev}=="8:16", NAME="sdd%n"
KERNEL=="sd*[!0-9]|sr*|st*", ATTRS{ieee1394_id}=="?*", ENV{ID_SERIAL}="$attr{ieee1394_id}", ENV{ID_BUS}="ieee1394"
KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}!="?*", IMPORT{program}="usb_id --export %p"
KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted --fallback-to-sysfs -s %p -d $tempnode"
KERNEL=="sd*[!0-9]|sr*|cciss?c[0-9]d[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
KERNEL=="sd*[0-9]|cciss*p[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
KERNEL=="sd*[!0-9]|sr*", ENV{ID_VENDOR}=="ATA", PROGRAM="ata_id $tempnode", RESULT=="?*", ENV{ID_ATA_COMPAT}="$result", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}"
KERNEL=="sd*[0-9]", ENV{ID_ATA_COMPAT}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}-part%n"
ATTR{type}=="0|7|14", RUN+="/sbin/modprobe -Qba sd_mod"
ENV{VIO_TYPE}=="viodasd", RUN+="/sbin/modprobe -Qba viodasd"
ENV{TIFM_CARD_TYPE}=="SD", RUN+="/sbin/modprobe -Qba tifm_sd"
Tam takové pravidlo, které ty symlinky vytváří nevidím.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.