sya*_*yam 10 linux devices usb-drive block-device removable-storage
我正在从现有的dd
工厂映像自动化 SD 卡映像。SD 卡始终通过外部 USB 读卡器连接,因此在系统中显示为 SCSI 块设备/dev/sd*
。
目前我的命令的语法是:SD 卡块设备write-image DEVICE
在哪里DEVICE
,例如。/dev/sdd
.
我已经在做一个基本的检查DEVICE
来验证它的形式,/dev/sd*
但这还不够:我担心用户(不习惯 Linux 的生产人员)犯错误并指定另一个看似有效的设备,例如。/dev/sda
. 您可以看到迫在眉睫的灾难,特别是因为我的映像脚本需要root权限(请注意,不是编写映像本身,而是稍后修改SD卡,包括根据SD卡的实际大小调整分区大小)...
我想验证指定的设备实际上是某个 USB 大容量存储设备(或者至少是一个可移动设备),以便我可以保护系统磁盘不被意外丢弃。我怎样才能做到这一点?
我/proc
在网上或网上找不到任何相关内容,我现在很茫然。
Dav*_*man 10
在/sys/
目录下看看。特别是,/sys/block/
包含指向块设备的符号链接/sys/devices/
。
/sys/block/sdX/removable
看起来它对于可移动设备将读取为 1,否则为 0。这为您提供了可移除性的基本检查。
我不确定是否有更好的方法来检查它是否是 USB 设备,但
readlink /sys/block/sde
会吐出类似../devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1.2/6-1.2:1.0/host7/target7:0:0/7:0:0:0/block/sde
. 检查它是否包含一个usb*
文件夹可能是一个简单的检查。
您可以从 获取其他设备详细信息,例如供应商和型号/sys/block/sdX/device/
,这也可能会派上用场。
归档时间: |
|
查看次数: |
4056 次 |
最近记录: |