Linux

理解 /dev/disk/by- 文件夾

  • March 25, 2022

問題/dev/disk/by-path描述什麼?這在哪裡記錄?

/dev/disk/by-瀏覽我到目前為止的文件夾中顯示的內容的含義,我想知道這是正確的嗎?

  • by-id→ 基於硬體設備的序列號
  • by-label→ 為該磁碟手動設置的任何名稱
  • by-path?!
  • by-uuidUniversal Unique Identifier : 一個唯一創建的字元串來辨識磁碟$$ done so through the system $$

$$ Note: I work on GNU/Linux Debian 7, Crunchbang, if this matters… $$

Mountpoint/devdevtmpfs文件系統,由udev完全管理。因此,有關詳細資訊,我們必須進行udev配置。

2 udev 規則通常處理這個問題

$ grep -ri '/dev/disk' /usr/lib/udev/rules.d/
/usr/lib/udev/rules.d/60-persistent-storage.rules:# persistent storage links: /dev/disk/{by-id,by-uuid,by-label,by-path}
/usr/lib/udev/rules.d/13-dm-disk.rules:# These rules create symlinks in /dev/disk directory.

60-persistent-storage.rules提到

# by-path (parent device path)
ENV{DEVTYPE}=="disk", DEVPATH!="*/virtual/*", IMPORT{builtin}="path_id"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"

最後ID_PATH是一個基於設備物理硬體位置/連接的設備唯一標識符(例如 ID_PATH=pci-0000:02:04.0-scsi-0:0:0:0 之類的東西)。

ID_PATH來自名為path_id(例如 for /sys/block/sdc)的內置 udev 程序

$ udevadm test-builtin path_id /sys/block/sdc
calling: test-builtin
=== trie on-disk ===
tool version:          204
file size:         5632867 bytes
header size             80 bytes
strings            1260755 bytes
nodes              4372032 bytes
load module index
ID_PATH=pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0
ID_PATH_TAG=pci-0000_00_14_0-usb-0_1_1_0-scsi-0_0_0_0

我們可以把它與

drwxr-xr-x 6 root root 0 Aug 15 02:30 /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/

最後,如果有人對細節感興趣,請查閱原始碼

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