Udev

無論插入的 USB 埠如何,如何讓 udev 辨識 USB 設備?

  • July 31, 2016

我想編寫一個腳本,每次將 USB 設備插入隨機 USB 插槽時備份數據。現在我知道了KERNEL=sdX標識符,但問題是取決於插槽以及其他設備是否已經插入,這sdX將改變。在 udev 中辨識我的 USB 設備的最佳方法是什麼?我一直在考慮使用partuuid,但我不知道如何使用,也不知道 partuuid 最初儲存在哪里或者它是如何計算出來的。

如果您使用gdisk而不是您對設備進行分區,fdisk您將創建一個 GPT 樣式的分區表,對於每個分區,該表可以包含一個 PARTUUID 和一個 PARTLABEL。中的c命令gdisk允許您設置分區名稱,即 PARTLABEL。

當您通過在分區上創建新文件系統來重新格式化分區時,這些分區 ID 不會更改。

大多數文件系統允許您在文件系統上獲取或設置 UUID 和 LABEL。這樣做的方法取決於文件​​系統類型,例如對於 ext3/4,它tune2fs帶有-Uand -L。這些在 Linux 中顯示為 UUID 和 LABEL。

不要混淆這兩組 id。blkid將顯示所有這些:

/dev/sdb1: LABEL="MYLABEL" UUID="A369-D716" TYPE="vfat" PARTLABEL="My new partition" \
 PARTUUID="f0817245-d3ce-408b-9457-e33dfc04aebe"

你可以看到 udev 屬性

$ udevadm info -p $(udevadm info -q path -n /dev/sdb1)
...
E: ID_FS_LABEL=MYLABEL
E: ID_FS_LABEL_ENC=MYLABEL
E: ID_FS_UUID=A369-D716
E: ID_FS_UUID_ENC=A369-D716
E: ID_PART_ENTRY_UUID=f0817245-d3ce-408b-9457-e33dfc04aebe
E: ID_PART_TABLE_UUID=7301d696-b66d-4f85-8272-7dd5e29175ae
E: ID_PART_ENTRY_NAME=My\x20new\x20partition

引用自:https://unix.stackexchange.com/questions/299388