/dev/disk/by-path 中的多个链接指向相同的 /dev/sd* 设备文件

/dev/disk/by-path 中的多个链接指向相同的 /dev/sd* 设备文件

我正在 Linux 上进行 USB 闪存的大规模测试和复制。

我为此编写的脚本存储 /dev/disk/by-path 的路径,以检测设备是否插入特定的 USB 端口 - 这样用户就可以将显示的内容连接到桌面上实际存在的内容。

有时,当 /dev/disk/by-path 中的多个符号链接指向同一个 /dev/sd* 设备文件时,会出现问题 - 产生令人困惑的结果 - 例如,用户将设备插入端口 A,端口 A、B、C和 D 报告插入的设备,而用户可以看到这些端口物理上是空的。

我创建了一个单行代码,可以检查是否发生这种情况:

file /dev/disk/by-path/* | grep -v "broken symbolic link" | cut -d'/' -f7 | sort | uniq -D | wc -l

这将返回 /dev/disk/by-path 中重复链接目标的数量。

它应该始终返回零。

有没有办法可以在不重新启动系统的情况下解决这个问题?

我还问了一个可能相关的问题: /dev/disk/by-path 中的链接已损坏

相关内容