Ubuntu
為什麼 udevadm 不提供磁碟序列號而 hdparm 可以?
比較:
root@home:~# hdparm -I /dev/sdb | grep Serial Serial Number: WCJ025C8 Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0 root@home:~#
到:
root@home:~# udevadm info -a -p $(udevadm info -q path -n /dev/sdb) | grep -i serial ATTRS{serial}=="0123456789ABCDEF" ATTRS{serial}=="0000:00:14.0" root@home:~#
我在 udev 上看到
0123456789ABCDEF
了很多,但它是偽造的,而hdparm
’ 的輸出與驅動器上的物理編號完全匹配。因此,我無法創建與我的 4 個 USB 驅動器按序列號匹配的 udev 規則。
我正在執行 ubuntu 16.04 LTE。
建議非常感謝。
最後我選擇了這個,這有點像黑客:
KERNEL=="sd?", SUBSYSTEM=="block", PROGRAM="/root/get_disk_serial.sh %k", SYMLINK+="disk/by-serial/%c"
然後是這樣的快速腳本:
#!/bin/bash /sbin/hdparm -I /dev/$1 | grep 'Serial Number' | awk '{print $3}'
它不漂亮,但它的工作…