我正在尝试将插入 PC 特定端口的 USB 存储设备安装到 Ubuntu 下的定义位置。它应该将插入此端口的每个设备安装到那里,并且应该在系统运行时执行此操作。
我发现“autofs”这个工具应该可以做到这一点。但是,我无法挂载到设备上的特定端口,只能挂载到 UUID 和 Ubuntu 中的注册(例如 /dev/sda1)
我通过从映射文件中创建 bash 来解决这个问题。它现在生成一个字符串,其中包含特定端口处磁盘的 UUID。
这是我所做的:
创建目标目录sudo mkdir /automnt
在此文件中添加/etc/auto.master
我的地图,添加以下行:
/automnt /etc/auto.automnt --timeout=5 --ghost
创建名为/etc/auto.automnt
#!/bin/bash
echo "-fstype=vfat,sync :/dev/disk/by-uuid/398512B2202AD81F"
注意:为了简单起见,我尝试在这里直接使用 UUID 进行调试,因为创建这个字符串是可行的,而且不是我的问题的一部分。
到目前为止一切顺利,但现在开始出现混乱:当创建非 bash 映射文件时,它看起来像这样:
/automnt/stick -fstype=vfat,sync :/dev/disk/by-uuid/398512B2202AD81F
前面说明了 USB 设备挂载到的子文件夹。但是,当使其成为可执行映射时,它只会在返回不带字符串的情况下起作用。
在研究这个问题时我发现了以下答案:
“将使用密钥作为参数来调用程序映射。”
我理解的关键是挂载点。但是它从何而来?我如何使用地图文件作为脚本来定义挂载位置?
我之前尝试过但是也没有用的方法是通过以下方式在静态地图中直接使用硬件端口:
/automnt/stick -fstype=vfat,sync :/dev/disk/by-path/pci-0000:00:14.0-usb-0:5:1.0-scsi-0:0:0:0-part1
但我无法让它工作。
感谢您的帮助 :-)